Программирование и решение прикладных задач на персональном компьютере в среде VBA
Разработать для каждой задачи алгоритм, представить его в виде блок-схемы, написать программу в среде VBA.
Задача 1
Вычислить функцию при заданном значении аргумента х. Способ выполнения – процедура-функция. Данные для задачи представлены в таблице 1.
Задача 2
Выполнить табулирование функции y=f(x) на отрезке хÎ[х0;хк] с шагом Dх. Способ выполнения – процедура-подпрограмма. Предусмотреть ввод исходных данных с рабочего листа MS Excel и вывод таблицы аргумента х и функции у на рабочий лист MS Excel. Данные для задачи представлены в таблицах 2, 3.
Задача 3
Вычислить сумму всех тех членов ряда, которые по величине больше заданного числа e и определить число членов ряда, соответствующих этому условию. Способ выполнения – процедура-подпрограмма. Предусмотреть ввод данных через диалоговое окно, вывод результатов на рабочий лист MS Excel. Данные для задачи представлены в таблице 4.
Задача 4
Выполнить действия с массивами. Способ выполнения – процедура-подпрограмма. Предусмотреть ввод исходных данных с рабочего листа MS Excel и вывод получаемых результатов на рабочий лист MS Excel. Данные для задачи представлены в таблицах 5, 6.
Методические указания по выполнению решения задач в среде программирования VBA
Задача 1
При разработке алгоритма, его нужно представить в виде блок-схемы и создать процедуру-функцию для вычисления функции
при х = 0,2.
Блок-схема
![]() |
Ход выполнения задания:
1. Запустить программу MS Excel.
2. Загрузить редактор VB (Сервис – Макрос – Редактор Visual Basic).
3. Создать модуль командой Insert – Module.
4. Создать процедуру командой Insert – Procudure, имеющую тип Function, область видимости Public.
Программа
Public Function y(x)
y = 9.2 * Cos(x ^ 2) - Abs(Sin(x / 1.1))
End Function
5. Перейти на рабочий лист MS Excel.
6. Ввести на рабочий лист исходные данные.
7. Вызвать Мастер функций, для этого выбрать вкладку Формулы и нажать кнопку Вставить функцию. В диалоговом окне Мастер функций выбрать категорию Определенные пользователем.
Результат расчета
Задача 2
При разработке алгоритма, его нужно представить в виде блок-схемы и написать программу для табулирования функции
на участке xÎ[0;10] с шагом Dx=1 при а=1; b=2.
Ввод и вывод данных предусмотреть с рабочего листа MS Excel.
Блок – схема
Ход выполнения задания:
1. Запустить программу MS Excel.
2. Ввести на рабочий лист исходные данные.
3. Загрузить редактор VB.
4. Вставить модуль командой Insert – Module .
5. Создать процедуру с программным кодом командой Insert – Procedure, имеющую тип Sub, область видимости Public.
Программа
Public Sub задача2()
Dim a As Single, b As Single, x0 As Single, xk As Single, dx As Single
Dim x As Single, y As Single
a = Cells(3, 1).Value
b = Cells(3, 2).Value
x0 = Cells(3, 3).Value
xk = Cells(3, 4).Value
dx = Cells(3, 5).Value
x = x0
i = 5
2 If x >= 6 Then y = a * b Else y = b - a * x ^ 2
Cells(i + 1, 1).Value = x
Cells(i + 1, 2).Value = y
i = i + 1
x = x + dx
If x <= xk Then GoTo 2
End Sub
Результат расчета
Задача 3
При вычислении суммы всех тех членов ряда , которые по величине меньше заданного числа e=10. Определить число членов ряда, соответствующих этому условию. Предусмотреть ввод данных через диалоговое окно, вывод результатов на рабочий лист MS Excel.
Блок – схема
Ход выполнения задания:
1. Запустить программу MS Excel.
2. Загрузить редактор VB.
3. Вставить Модуль и Процедуру типа Sub.
4. Записать код программы.
Программа
Public Sub задача3()
Dim ds As Single, s As Single
Dim i As Integer
e = Val(InputBox("Введите значение e"))
s = 0
i=1
ds = i ^ 2
do while ds < e
s = s + ds
Cells(2, 2) = s
Cells(2, 1) = i
i=i+1
ds = i ^ 2
loop
End Sub
Результат расчета:
Сумма ряда S = 14 при i = 3
Задача 4
При разработке алгоритма его нужно представить в виде блок – схемы и написать программу для вычисления значения функции
X = (-2.3, 4.5, 5.1, -1.2 4.9)
Y=(1.3,12.5,2.5,-14.2, -3.5)
Предусмотреть вывод промежуточных результатов на рабочий лист MS Excel.
Блок – схема
Ход выполнения задания:
1. Запустить программу MS Excel.
2. Ввести на рабочий лист исходные данные
3. Загрузить редактор VB.
4. Вставить модуль командой Insert – Module.
5. Создать процедуру с программным кодом командой Insert – Procedure, имеющую тип Sub, область видимости Public.
Программа
Public Sub задача4()
Dim x(1 To 5) As Single
Dim y(1 To 5) As Single
s1 = 0
s2 = 0
n = 2
For i = 1 To 5
x(i) = Cells(n, 1).Value
y(i) = Cells(n, 2).Value
n = n + 1
s1 = s1 + x(i) ^ 2 + y(i)
If x(i) > 0 And y(i) > 0 Then s2 = s2 + x(i) + y(i)
Next i
z = s1 / s2
Cells(2, 3).Value = z
End Sub
Результат расчета
Приложение 1
Образец оформления титульного листа контрольной работы
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ
«ОМСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ им. П.А. СТОЛЫПИНА»
(ФГБОУ ВПО Омский ГАУ)
Кафедра математических и естественнонаучных дисциплин
(МЕНД)
КОНТРОЛЬНАЯ РАБОТА
по ИНФОРМАТИКЕ
наименование дисциплины
-й семестр
Студентки заочной формы обучения____________________________
Ф.И.О., полностью __________________________________________
№ зачетной книжки _________________________ группа ________ о
Специальность______________________________________________
код и наименование
№ варианта_________________________________________________
Выполнил(а)_________________
подпись студента(ки)
Работа предъявлена на проверку «____»_________20__г.________________________
подпись преподавателя
Результаты проверки__________________________________________
Замечания, рекомендации_____________________________________
Проверил преподаватель «___»__________20__г.
Ф.И.О., подпись
Вторично предъявлена на проверку «___»_____________20 __г.
подпись преподавателя
Результаты проверки__________________________________________
Замечания___________________________________________________
Проверил преподаватель «___»________20__г. _________________
Ф.И.О., подпись
Работа принята (проведено собеседование) «___»___________20__г________________
подпись преподавателя
Омск 20__
Образец оформления титульного листа реферата
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ
«ОМСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ
ИМЕНИ П.А.СТОЛЫПИНА»
(ФГБОУ ВПО Омский ГАУ)
Кафедра математических и естественнонаучных дисциплин
РЕФЕРАТ
Тема: «________________________________»
Выполнил: студент факультета_______
группы _____
Проверил: Ф.И.О. преподавателя, должность
ОМСК 201_
Приложение 2
Таблица 1
Исходные данные к задаче 1
№ варианта | Функция F(X) | Подварианты | |||
Значение х | Значение х | Значение х | Значение х | ||
1. | ![]() | X=0.23 | X=0.33 | X=0.43 | X=0.53 |
2. | ![]() ![]() | X=0.15 | X=0.25 | X=0.35 | X=0.45 |
3. | ![]() | X=0.012 | X=0.022 | X=0.032 | X=0.042 |
4. | ![]() | X=0.45 | X=0.44 | X=0.43 | X=0.42 |
5. | ![]() | X=0.123 | X=0.223 | X=0.323 | X=0.423 |
6. | ![]() | X=0.78 | X=0.68 | X=0.58 | X=0.48 |
7. | ![]() | X=0.89 | X=0.79 | X=0.69 | X=0.59 |
8. | ![]() | X=0.563 | X=0.463 | X=0.363 | X=0.263 |
9. | ![]() | X=0.35 | X=0.45 | X=0.55 | X=0.65 |
10. | ![]() | X=0.689 | X=0.589 | X=0.489 | X=0.389 |
11. | ![]() | X=0.321 | X=0.421 | X=0.521 | X=0.621 |
12. | ![]() | X=0.654 | X=0.554 | X=0.454 | X=0.354 |
13. | ![]() | X=0.985 | X=0.885 | X=0.785 | X=0.685 |
14. | ![]() | X=0.369 | X=0.469 | X=0.569 | X=0.669 |
15. | ![]() | X=0.256 | X=0.356 | X=0.456 | X=0.556 |
16. | ![]() | X=0.145 | X=0.245 | X=0.345 | X=0.445 |
17. | ![]() | X=0.74 | X=0.64 | X=0.54 | X=0.44 |
18. | ![]() | X=0.89 | X=0.79 | X=0.69 | X=0.59 |
19. | ![]() | X=0.561 | X=0.461 | X=0.361 | X=0.261 |
20. | ![]() | X=0.521 | X=0.421 | X=0.321 | X=0.221 |
21. | ![]() | X=0.64 | X=0.74 | X=0.84 | X=0.94 |
22. | ![]() | X=0.21 | X=0.31 | X=0.41 | X=0.51 |
23. | ![]() | X=0.156 | X=0.256 | X=0.356 | X=0.456 |
24. | ![]() | X=0.852 | X=0.752 | X=0.652 | X=0.552 |
25. | ![]() | X=0.125 | X=0.225 | X=0.325 | X=0.425 |
26. | ![]() | X=0.512 | X=0.612 | X=0.712 | X=0.812 |
27. | ![]() | X=0.215 | X=0.315 | X=0.415 | X=0.515 |
28. | ![]() | X=0.874 | X=0.774 | X=0.674 | X=0.574 |
Таблица 2
Исходные данные к задаче 2
Табулируемые функции
№ | Функция | Условие | № | Функция | Условие |
1. | ![]() | x<3 x=3 x>3 | 14. | ![]() | |
2. | ![]() | 15. | ![]() | ||
3. | ![]() | x≥2 x<2 | 16. | ![]() | x<-2 x≥-2 |
4. | ![]() | x>1.4 x≤1.4 | 17. | ![]() | |
5. | ![]() | 18. | ![]() | x<-5 x≥-5 | |
6. | ![]() | x>1 x=1 x<1 | 19. | ![]() | |
7. | ![]() | 20. | ![]() | x>-2 x=-2 x<-2 | |
8. | ![]() | x<0.5 x=0.5 x>0.5 | 21. | ![]() | x<3 x≥3 |
9. | ![]() | 22. | ![]() | x≤-4 x>-4 | |
10. | ![]() | 23. | ![]() | ||
11. | ![]() | x>2.5 x≤2.5 | 24. | ![]() | |
12. | ![]() | x>0 x≤0 | 25. | ![]() | |
13. | ![]() | x<2 x=2 x>2 | 26. | ![]() | x<0 x=0 x>0 |
![]() | x≥1.5 x<1.5 | ![]() | x>5 x≤5 |
Таблица 3
Исходные данные к задаче 2