8. основы программирования на языке Visual Basic for Applications



бет2/5
Дата28.06.2016
өлшемі0.84 Mb.
#163113
түріПрограмма
1   2   3   4   5

Практическая работа № 19


Тема: Ввод-вывод данных в языке программирования Visual Basic for Applications. Составление программ линейной структуры с использованием стандартных функций. Обмен информацией между VBA и рабочими листами Excel.

Цель: Научиться составлять простейшие программы на языке VBA, организовывать ввод-вывод данных, обмен информацией между VBA и рабочими листами Excel.

Время: 160 мин.

Задание: Решить задачу согласно варианта, организовав ввод данных и вывод результата в диалоговые окна и в ячейки рабочего листа Excel.

Л

    Элизабет Бунин. Excel Visual Basic для приложений. M.: Восточная книжная компания, 1996
итература:

Содержание отчёта:

  • Ответы на вопросы, поставленные в пунктах описания последовательности выполнения работы.

  • Блок-схема алгоритма и текст программы.

  • Выводы по работе (что изучили, чему научились).

Варианты задания:

  1. Зависимость пройденного телом пути S от времени t описывается формулой:

S = at + bt2 + ct3 .

Найти пройденный телом путь при a = 10,6 м/c, b = 3,04 м/c2, с = 0,047 м/c3, t = 1,28 c. Вывести на экран: «Путь S = <результат> м»



  1. Найти натяжение Т каната, перекинутого через блок, если на концах каната подвешены грузы с массами m1 и m2. Зависимость T от m1 и m2 представлена в виде: Т = 2 m1 m2 g / (m1 + m2), где g – ускорение силы тяжести. Задачу решить при m1 = 100 кг, m2 = 55,5 кг, g = 9,81 м/с2. Вывести на экран результат вычисления с пояснительной надписью «Натяжение каната».

  2. Фактический объём выполненных строительно-монтажных работ составил 5432,8 тыс. грн., при этом плановое задание оказалось перевыполненным на 1,5 %. Вычислите объём планового задания.

  3. Цена товара - 850 грн. В неё входит НДС – 20 % от стоимости товара. Определите стоимость товара без НДС.

  4. Определить момент инерции J однородного цилиндра с радиусом R и массой m относительно оси вращения, если m = 5,23 кг, R = 0,2 м.

Момент инерции однородного цилиндра относительно оси вращения выражается зависимостью: J = 5 m R2. Исходные данные и результат вычисления вывести на печать.

  1. Определить радиус однородного шара, если его масса m = 5,23 кг, а момент инерции J = 1,410-2 кгм2.

Момент инерции J однородного шара радиусом R относительно оси вращения выражается зависимостью: J = 2/5 m R2. Исходные данные и результат вычисления вывести на печать.

  1. Определить внутренний и внешний радиусы полого цилиндра, если его масса m = 5,23 кг, а момент инерции J = 1,4 10-2 кгм2.

Момент инерции J для полого цилиндра с радиусами R1 и R2 относительно оси вращения выражается зависимостью: J = 1/2 m (R12 + R22), считать R2 = 2R1.

Исходные данные и результат вычисления вывести на печать.



  1. Найти x = lg y, если y = at2 + bt + c; a = 1,04 ; b = 3,785; c = 12,76; t = 100,21. Исходные данные и результат вычисления вывести на печать.

  2. П
    ористость грунта определяют по формуле:

г
де об – объёмная масса грунта, уд – плотность грунта, W – влажность грунта в процентах.

Найти пористость грунта при следующих данных лабораторного анализа: об = 1,95 кг/м3; уд = 2,64 кг/м3; W = 22 %.



  1. Высота фундамента определяется по формуле h = (b – b0)/2tg, где b, b0 – параметры ширины фундамента, - угол, зависящий от соотношения h, b, b0. Решить задачу при b = 180 см, b0 = 64 см, = 30. Результат вычисления вывести на печать, указав размерность.

  2. При настилке пола из керамических квадратных плиток, укладываемых по диагонали, число треугольных плиток, укладываемых у фризового ряда, определяется по формуле n = L /(1,41a+2b), где L – длина стороны фриза; a – длина стороны квадратной плитки; b – ширина шва между плитками. Решить задачу при L = 5230 мм, a = 50 мм, b = 1,5 мм. Учесть, что n – целое число.

  3. Для приготовления известково-цементного состава необходимо A% известкового теста, B% белого цемента, С% поваренной соли, D% пигмента, остальное составляет вода. Найти необходимое количество воды W [кг] для приготовления Q [кг] состава. Задачу решить при A = 20,2; B = 8,8; C = 0,7; Q = 90.

  4. Для приготовления 5 кг масляно-окрашивающего состава потребовалось по 1,5 кг масляной эмульсии и растворителя. Остальное составила краска густотёртая. Составить программу для определения процентного содержания краски. Вывести на печать в первой строке надписи «Эмульсия», «Растворитель», «Краска», «Состав», во второй строке - массу составляющих и состава в кг, в третьей строке - надпись «Краска составляет», далее - результат в процентах.

  5. Используя теорему синусов (стороны треугольника пропорциональны синусам противоположных углов), найти стороны треугольника a, b, c, если два его угла соответственно равны 300 и 400, а радиус окружности, описанной около этого треугольника, равен 5 см. Учесть, что в теореме синусов каждое из отношений равно диаметру описанной около треугольника окружности :









  1. Найти площадь треугольника по данным предыдущей задачи, используя выражение:




  1. Найти площадь треугольника, стороны которого равны 5, 6, 7 см. Примечание : использовать формулу Герона: , где a, b, c - стороны треугольника, р – полупериметр:

  2. Найти гипотенузу прямоугольного треугольника, если его катеты равны 3 и 5 см. (Использовать теорему Пифагора).

  3. В прямоугольном треугольнике катет равен другому катету, умноженному на тангенс угла, противолежащего первому катету: a = b tg. Найти стороны прямоугольного треугольника, если один из катетов равен 6 см, а угол, ему противолежащий, равен 400.

  4. На плоскости находятся две точки А и В с координатами А(х1; у1) и В(х2; у2). Найти расстояние d между ними, если d2=(x2-x1)2+(y2-y1)2. Задачу решить для х1=5см; у1=3; х2=9; у2=6.

  5. Уравнение окружности с центром в точке А0(a,b) и радиусом R имеет вид (х-а)2+(у-b)2=R2. Найти координату y точки В, если а=3; b=2,5; R=2,8; x=5 и y

  6. Объём усеченной пирамиды вычисляется по формуле :

где h - высота усечённой пирамиды, Q1 и Q2 -

площади оснований. Найти объём усечённой пирамиды, у которой h=5см; Q1=18 см2; Q2=7 см2.



  1. Объем конуса вычисляется по формуле : ,
    где R - радиус основания конуса,
    H - высота. Найти длину окружности, лежащей в основании конуса, если его объем V=25 см3, а высота H=7 см.

  2. Объём шара равен , где R - радиус шара. Найти радиус шара, если его объём равен V=30 см3.

  3. Боковое ребро правильной треугольной пирамиды равно а и составляет с плоскостью основания угол . В эту пирамиду вписан цилиндр с квадратным осевым сечением. (Основание цилиндра лежит в плоскости основания пирамиды). Объём этого цилиндра можно найти по формуле :

    Определить боковое ребро а пирамиды, если угол =1,2 радиана, V=40 см3.

  1. Даны две точки А(-1; 2; 5) и В(7; -4; 8). Найти расстояние между А и В по формуле:
    .
    Результат округлить до 0,1.

Последовательность выполнения работы:

  1. Выделите исходные данные для решения задачи.

  2. Представьте задачу в виде формул, соотношений и ограничений.

  3. Р
    азработайте алгоритм решения задачи. В данной работе он будет иметь вид, изображенный на рис.1.

  4. Запустите Excel, откройте окно редактора VBA для написания программы.

  • Выполните команду: [Сервис][Макрос][Редактор Visual Basic], затем [Вставка][Модуль].

  1. Наберите текст программы, оформив его в виде процедуры:
    Sub Имя_процедуры ()
    … (текст программы)
    End Sub
    Предусмотрите вывод исходных данных и результата в ячейки рабочего листа Excel.

  2. С помощью панели инструментов «Формы» на листе «Лист 1» создайте кнопку с надписью «Старт» и назначьте ей макрос, в качестве которого используйте ранее созданную процедуру.

  3. С помощью макрорекордера создайте макрос, выполняющий очистку рабочего листа.

  • Выполните команду [Сервис][Макрос][Начать запись].

  • В диалоговом окне «Запись макроса» укажите имя макроса («Очистка»), можете задать сочетание клавиш, которое будет вызывать этот макрос, нажмите кнопку «OK».

  1. Нажмите кнопку «Выделить всё», затем – клавишу «Delete».

  2. Остановите запись макроса, нажав соответствующую кнопку или выполнив команду [Сервис][Макрос][Остановить запись].

  3. С помощью панели инструментов «Формы» на листе «Лист 1» создайте кнопку с надписью «Очистить» и назначьте ей только что записанный макрос.

  4. Просмотрите текст записанного макроса с помощью команды [Сервис][Макрос][Макросы][Изменить].

  5. Выполните макросы с помощью созданных кнопок.

  6. Сохраните рабочую книгу Excel в своём каталоге на сервере как файл пр17.xls, покажите работу преподавателю и выключите компьютер.


Пример решения задачи:

Векторы и имеют длины, соответственно равные 70 и 40 единиц и образуют угол в 300. Найти:



а) длину векторного произведения по формуле:

б) скалярное произведение векторов по формуле:

Ответ округлить до 0,01.
Решение:


  1. a = 70,

b = 40,

f = 30.


  1. V = a * b * sin (f * 3.14 / 180)
    Sk = a * b * cos (f * 3.14 / 180)






  1. Текст программы:

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




Достарыңызбен бөлісу:
1   2   3   4   5




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет