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



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

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


Тема: Составление программ разветвляющейся структуры. Использование управляющей структуры IF…Then.

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

Время: 80 мин.

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

Л

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

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

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

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

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

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

  1. Составить программу, которая спрашивает имя и здоровается с его обладателем, если введённое имя принадлежит автору программы.

  2. На плоскости расположена окружность радиуса R с центром в начале координат. Ввести заданные координаты точки и определить, лежит ли она на окружности. Результат присвоить символьной переменной. Решить задачу при R=2 для точек с координатами (0; 2), (-1.5; 0.7), (1; 1), (3; 0).
    Считать, что точка с координатами x, y лежит на окружности радиуса R, если

, где e – точность, с которой осуществляется проверка на равенство (можно принять e = 10-5).

  1. Заданы координаты двух точек. Определить, лежат ли они на одной окружности с центром в начале координат. Результат присвоить символьной переменной. Задачу решить для точек с координатами (0; 2), (2; 0); (1; 3), (2, 2). Проверку на равенство осуществлять с точностью e = 10-5.

  2. Заданы площади круга S1 и квадрата S2. Определить, поместится ли квадрат в круге. Задачу решить при 1) S1 = 70, S2 = 36.74; 2) S1 = 0.86, S2 = 0.64

  3. Заданы площади круга S1 и квадрата S2. Определить, поместится ли круг в квадрате. Задачу решить при 1) S1 = 3.2, S2 = 3.5; 2) S1 = 3.2, S2 = 4; 3) S1 = 6, S2 = 9.

  4. Написать программу, которая бы спрашивала сокращённое имя, а печатала полное (например, Гриша – Григорий) для трёх Ваших друзей. Ввод незнакомого имени должен вызывать сообщение типа: «Я с Вами не знаком». Необходимые данные задать самостоятельно.

  5. Составить программу для определения подходящего возраста кандидатуры для вступления в брак, используя следующее соображение: возраст девушки равен половине возраста мужчины плюс 7, возраст мужчины определяется соответственно как удвоенный возраст девушки минус 14. Данные для проверки работы программы задать самостоятельно. (Совет: в начале выполнения программы на экране должен появиться вопрос: «Мужчина или женщина?». Введите МУЖ или ЖЕН. В зависимости от ответа после ввода возраста выводятся соответствующие рекомендации.)

  6. В киоске продаётся газета стоимостью 40 копеек и журнал стоимостью 1 грн. 50 коп. Составить программу, которая спрашивает о желании покупателя (журнал или газета?), принимает деньги (сумма денег вводится с клавиатуры), печатает причитающуюся сдачу или выдаёт сообщение о недостаточности полученной суммы. Исходные данные задать самостоятельно.

  7. Составить программу, контролирующую знание закона Ома. Обучаемый вводит формулу закона Ома в строковую переменную, которая далее сравнивается с правильным ответом, хранящимся в строковой константе.
    (Совет: перед вводом формулы на экране должно появиться точное указание о том, в каком виде и с использованием каких обозначений нужно осуществлять ввод формулы. Например, такое: «Формулу вводить без пробелов. Использовать обозначения: I – сила тока, U – напряжение, R – сопротивление. Выразить I через U и R.» )

  8. Написать программу вычисления значения функции


  9. Написать программу выбора наименьшего из трёх чисел. Исходные данные задать самостоятельно. Числа должны вводиться с клавиатуры. Результат вывести в виде: «Наименьшее из чисел …, …, … - число …».

  10. Написать программу выбора наибольшего из трёх чисел. Исходные данные задать самостоятельно. Числа должны вводиться с клавиатуры. Результат вывести в виде: «Наибольшее из чисел …, …, … - число …».

  11. Н
    аписать программу вычисления значения функции

  12. Логической переменной b присвоить значение true, если числа x и y равны, и значение false иначе. X и y вводить с клавиатуры, результат вывести в виде: «Утверждение, что x = y - … (вместо многоточия подставляется false или true)» .

  13. Даны числа a1, b1, c1 и a2, b2, c2. Определить точки пересечения прямых, описываемых уравнениями a1x + b1y = c1 и a2x + b2y = c2 , либо сообщить, что прямые совпадают, не пересекаются или вовсе не существуют. Исх. д. задать самостоятельно.

  14. Даны числа a, b и c (a  0). Найти вещественные корни уравнения ax4 + bx2 + c = 0. Если корней нет, то сообщить об этом. Исходные данные задать самостоятельно.

  15. Найти корни квадратного уравнения ax2 + bx + c = 0, где а  0. Исходные данные задать самостоятельно. Учесть, что если а = 1 или дискриминант (D) = 0, то существует только один корень уравнения, если D < 0, то вещественных корней нет.

  16. Даны произвольные числа a, b и c. Определить, можно ли построить треугольник с такими длинами сторон. Если треугольник прямоугольный, равнобедренный или равносторонний, то сообщить об этом. Исходные данные ввести с клавиатуры.

  17. Для заданного числа a найти корень уравнения f(x) = 0, где
    Исходные данные выбрать самостоятельно.



  1. Н
    аписать программу вычисления значения функции
    Исходные данные выбрать самостоятельно.

  2. Н
    аписать программу вычисления значения функции
    Исходные данные выбрать самостоятельно.

  3. Написать программу вычисления значения функции

    Исходные данные выбрать самостоятельно.



  4. Н
    аписать программу вычисления значения функции
    Исходные данные выбрать самостоятельно.

  5. Написать программу вычисления значения функции



Исходные данные выбрать самостоятельно.



  1. Написать программу вычисления значения функции



Исходные данные выбрать самостоятельно.


  1. Написать программу вычисления значения функции
    Исходные данные выбрать самостоятельно.

  2. Написать программу вычисления значения функции
    Исходные данные выбрать самостоятельно.

  3. Написать программу вычисления значения функции

    Исходные данные выбрать самостоятельно.



  4. Написать программу вычисления значения функции

    Исходные данные выбрать самостоятельно.



  5. Н
    аписать программу вычисления значения функции
    Исходные данные выбрать самостоятельно.


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

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

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

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

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

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

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

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

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

Задача № 1.
Найти значения функции

Область определения функции Y: x  ]-;0[  ]0;1[  ]1;  [.


Начало

Да

Да

Нет

Y=(Sin(x))^3


X0 And X1
С
оответственно, блок - схема алгоритма решения задачи выглядит следующим образом:


Ввод X



X<0

Y=Exp(x)/(x-1)

Вывод Y

Конец

Нет

Функция не определена

Рисунок 1.


Словесное описание алгоритма:

  1. Начало.

  2. Ввод значения переменной X.

  3. Если Х < 0, то значение переменной Y вычисляется по формуле: Y = (Sin(x))^3, после чего – переход к пункту 5 (печать Y).

  4. Если X > 0, то значение переменной Y будет вычисляться по формуле: Y = Exp(x) / (x-1). Но функция Y(x)Exp(x) / (x-1) не определена в точке X = 1. Кроме этого, по условию, функция Y(x) не определена в точке X = 0. Поэтому, если X  1 и X  0, Y рассчитывается по вышеуказанной формуле ( Y = Exp(x) / (x-1) ) и переход к пункту 5. Иначе выводится сообщение «В этой точке функция Y не определена», после этого – переход к пункту 6 (конец программы).

  5. Вывод на экран значения Y.

  6. Конец.

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

Sub Example_2()

x = InputBox ("Введите X: ")

If x < 0 Then

y = Sin(x) ^ 3

ElseIf x <> 0 And x <> 1 Then

y = Exp(x) / (x - 1)

Else

MsgBox ("При X = " & x & " функция Y не определена")

GoTo Метка

End If

MsgBox ("X = " & x & " Y = " & y)

Метка:

End Sub

Метка нужна для того, чтобы не появлялось сообщение X = … Y = … в том случае, когда функция Y не определена.



З
адача № 2.
Найти корни квадратного уравнения ax2+bx+c=0.


Рисунок 2.



Sub zad2()

a = Val(InputBox("a="))

b = Val(InputBox("b="))

c = Val(InputBox("c="))

D = b ^ 2 - 4 * a * c

If D < 0 Then

MsgBox ("Вещественных корней нет ")

Else

MsgBox ("X1 = " & (-b – Sqr (D) / (2 * a) & Chr (10) & "X2 = " & (-b + Sqr (D) / (2 * a))

End If

End Sub


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




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

    Басты бет