Тема: Ввод-вывод данных в языке программирования Visual Basic for Applications. Составление программ линейной структуры с использованием стандартных функций. Обмен информацией между VBA и рабочими листами Excel.
Цель: Научиться составлять простейшие программы на языке VBA, организовывать ввод-вывод данных, обмен информацией между VBA и рабочими листами Excel.
Время: 160 мин.
Задание: Решить задачу согласно варианта, организовав ввод данных и вывод результата в диалоговые окна и в ячейки рабочего листа Excel.
Л
Элизабет Бунин. Excel Visual Basic для приложений. M.: Восточная книжная компания, 1996
итература:
Содержание отчёта:
-
Ответы на вопросы, поставленные в пунктах описания последовательности выполнения работы.
-
Блок-схема алгоритма и текст программы.
-
Выводы по работе (что изучили, чему научились).
Варианты задания:
-
Зависимость пройденного телом пути S от времени t описывается формулой:
S = at + bt2 + ct3 .
Найти пройденный телом путь при a = 10,6 м/c, b = 3,04 м/c2, с = 0,047 м/c3, t = 1,28 c. Вывести на экран: «Путь S = <результат> м»
-
Найти натяжение Т каната, перекинутого через блок, если на концах каната подвешены грузы с массами m1 и m2. Зависимость T от m1 и m2 представлена в виде: Т = 2 m1 m2 g / (m1 + m2), где g – ускорение силы тяжести. Задачу решить при m1 = 100 кг, m2 = 55,5 кг, g = 9,81 м/с2. Вывести на экран результат вычисления с пояснительной надписью «Натяжение каната».
-
Фактический объём выполненных строительно-монтажных работ составил 5432,8 тыс. грн., при этом плановое задание оказалось перевыполненным на 1,5 %. Вычислите объём планового задания.
-
Цена товара - 850 грн. В неё входит НДС – 20 % от стоимости товара. Определите стоимость товара без НДС.
-
Определить момент инерции J однородного цилиндра с радиусом R и массой m относительно оси вращения, если m = 5,23 кг, R = 0,2 м.
Момент инерции однородного цилиндра относительно оси вращения выражается зависимостью: J = 5 m R2. Исходные данные и результат вычисления вывести на печать.
-
Определить радиус однородного шара, если его масса m = 5,23 кг, а момент инерции J = 1,410-2 кгм2.
Момент инерции J однородного шара радиусом R относительно оси вращения выражается зависимостью: J = 2/5 m R2. Исходные данные и результат вычисления вывести на печать.
-
Определить внутренний и внешний радиусы полого цилиндра, если его масса m = 5,23 кг, а момент инерции J = 1,4 10-2 кгм2.
Момент инерции J для полого цилиндра с радиусами R1 и R2 относительно оси вращения выражается зависимостью: J = 1/2 m (R12 + R22), считать R2 = 2R1.
Исходные данные и результат вычисления вывести на печать.
-
Найти x = lg y, если y = at2 + bt + c; a = 1,04 ; b = 3,785; c = 12,76; t = 100,21. Исходные данные и результат вычисления вывести на печать.
-
П ористость грунта определяют по формуле:
г де об – объёмная масса грунта, уд – плотность грунта, W – влажность грунта в процентах.
Найти пористость грунта при следующих данных лабораторного анализа: об = 1,95 кг/м3; уд = 2,64 кг/м3; W = 22 %.
-
Высота фундамента определяется по формуле h = (b – b0)/2tg, где b, b0 – параметры ширины фундамента, - угол, зависящий от соотношения h, b, b0. Решить задачу при b = 180 см, b0 = 64 см, = 30. Результат вычисления вывести на печать, указав размерность.
-
При настилке пола из керамических квадратных плиток, укладываемых по диагонали, число треугольных плиток, укладываемых у фризового ряда, определяется по формуле n = L /(1,41a+2b), где L – длина стороны фриза; a – длина стороны квадратной плитки; b – ширина шва между плитками. Решить задачу при L = 5230 мм, a = 50 мм, b = 1,5 мм. Учесть, что n – целое число.
-
Для приготовления известково-цементного состава необходимо A% известкового теста, B% белого цемента, С% поваренной соли, D% пигмента, остальное составляет вода. Найти необходимое количество воды W [кг] для приготовления Q [кг] состава. Задачу решить при A = 20,2; B = 8,8; C = 0,7; Q = 90.
-
Для приготовления 5 кг масляно-окрашивающего состава потребовалось по 1,5 кг масляной эмульсии и растворителя. Остальное составила краска густотёртая. Составить программу для определения процентного содержания краски. Вывести на печать в первой строке надписи «Эмульсия», «Растворитель», «Краска», «Состав», во второй строке - массу составляющих и состава в кг, в третьей строке - надпись «Краска составляет», далее - результат в процентах.
-
Используя теорему синусов (стороны треугольника пропорциональны синусам противоположных углов), найти стороны треугольника a, b, c, если два его угла соответственно равны 300 и 400, а радиус окружности, описанной около этого треугольника, равен 5 см. Учесть, что в теореме синусов каждое из отношений равно диаметру описанной около треугольника окружности :
-
Найти площадь треугольника по данным предыдущей задачи, используя выражение:
-
Найти площадь треугольника, стороны которого равны 5, 6, 7 см. Примечание : использовать формулу Герона: , где a, b, c - стороны треугольника, р – полупериметр:
-
Найти гипотенузу прямоугольного треугольника, если его катеты равны 3 и 5 см. (Использовать теорему Пифагора).
-
В прямоугольном треугольнике катет равен другому катету, умноженному на тангенс угла, противолежащего первому катету: a = b tg. Найти стороны прямоугольного треугольника, если один из катетов равен 6 см, а угол, ему противолежащий, равен 400.
-
На плоскости находятся две точки А и В с координатами А(х1; у1) и В(х2; у2). Найти расстояние d между ними, если d2=(x2-x1)2+(y2-y1)2. Задачу решить для х1=5см; у1=3; х2=9; у2=6.
-
Уравнение окружности с центром в точке А0(a,b) и радиусом R имеет вид (х-а)2+(у-b)2=R2. Найти координату y точки В, если а=3; b=2,5; R=2,8; x=5 и y -
Объём усеченной пирамиды вычисляется по формуле :
где h - высота усечённой пирамиды, Q1 и Q2 -
площади оснований. Найти объём усечённой пирамиды, у которой h=5см; Q1=18 см2; Q2=7 см2.
-
Объем конуса вычисляется по формуле : ,
где R - радиус основания конуса,
H - высота. Найти длину окружности, лежащей в основании конуса, если его объем V=25 см3, а высота H=7 см.
-
Объём шара равен , где R - радиус шара. Найти радиус шара, если его объём равен V=30 см3.
-
Боковое ребро правильной треугольной пирамиды равно а и составляет с плоскостью основания угол . В эту пирамиду вписан цилиндр с квадратным осевым сечением. (Основание цилиндра лежит в плоскости основания пирамиды). Объём этого цилиндра можно найти по формуле :
Определить боковое ребро а пирамиды, если угол =1,2 радиана, V=40 см3.
-
Даны две точки А(-1; 2; 5) и В(7; -4; 8). Найти расстояние между А и В по формуле:
.
Результат округлить до 0,1.
Последовательность выполнения работы:
-
Выделите исходные данные для решения задачи.
-
Представьте задачу в виде формул, соотношений и ограничений.
-
Р азработайте алгоритм решения задачи. В данной работе он будет иметь вид, изображенный на рис.1.
-
Запустите Excel, откройте окно редактора VBA для написания программы.
-
Выполните команду: [Сервис][Макрос][Редактор Visual Basic], затем [Вставка][Модуль].
-
Наберите текст программы, оформив его в виде процедуры:
Sub Имя_процедуры ()
… (текст программы)
End Sub
Предусмотрите вывод исходных данных и результата в ячейки рабочего листа Excel.
-
С помощью панели инструментов «Формы» на листе «Лист 1» создайте кнопку с надписью «Старт» и назначьте ей макрос, в качестве которого используйте ранее созданную процедуру.
-
С помощью макрорекордера создайте макрос, выполняющий очистку рабочего листа.
-
Выполните команду [Сервис][Макрос][Начать запись].
-
В диалоговом окне «Запись макроса» укажите имя макроса («Очистка»), можете задать сочетание клавиш, которое будет вызывать этот макрос, нажмите кнопку «OK».
-
Нажмите кнопку «Выделить всё», затем – клавишу «Delete».
-
Остановите запись макроса, нажав соответствующую кнопку или выполнив команду [Сервис][Макрос][Остановить запись].
-
С помощью панели инструментов «Формы» на листе «Лист 1» создайте кнопку с надписью «Очистить» и назначьте ей только что записанный макрос.
-
Просмотрите текст записанного макроса с помощью команды [Сервис][Макрос][Макросы][Изменить].
-
Выполните макросы с помощью созданных кнопок.
-
Сохраните рабочую книгу Excel в своём каталоге на сервере как файл пр17.xls, покажите работу преподавателю и выключите компьютер.
Пример решения задачи:
Векторы и имеют длины, соответственно равные 70 и 40 единиц и образуют угол в 300. Найти:
а) длину векторного произведения по формуле:
б) скалярное произведение векторов по формуле:
Ответ округлить до 0,01.
Решение:
-
a = 70,
b = 40,
f = 30.
-
V = a * b * sin (f * 3.14 / 180)
Sk = a * b * cos (f * 3.14 / 180)
-
-
Текст программы:
Sub MyProgram()
Sheets("Лист1").Select
a = InputBox("a = ")
a = Val(a)
b = Val(InputBox("b = "))
f = Val(InputBox("f = "))
v = a * b * Sin(f * 3.14 / 180)
v = Format(v, "##0.00")
sk = a * b * Cos(f * 3.14 / 180)
sk = Format(sk, "##0.00")
MsgBox ("Длина векторного произведения V = " & v & " единиц")
MsgBox ("Длина скалярного произведения Sk = " _
& sk & " единиц")
Range ("a1").Value = "Исходные данные:"
Range ("a1").Font.Bold = True
Range ("a2").Value = " a "
Range ("b2").Value = a
Range ("a3").Value = " b "
Range ("b3").Value = b
Range ("a4").Value = "угол f"
Range ("b4").Value = f
Cells (5, 1).Value = "Результат вычислений:"
Cells (5, 1).Font.Bold = True
Cells (6, 1).Value = "Векторное произведение V ="
Cells (6, 4).Formula = v
Cells (7, 1).Value = "Скалярное произведение Sk ="
Cells (7, 4).Formula = sk
End Sub
Достарыңызбен бөлісу: |