Лабораторные VBA
.pdfМинистерство образования Республики Беларусь БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра "Двигатели внутреннего сгорания"
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
по дисциплине «Информатика» для студентов специальности 1 - 37.01.01 –
«Двигатели внутреннего сгорания»
ПРОГРАММИРОВАНИЕ В СРЕДЕ MICROSOFT VISUAL BASIC
Минск 2013
УДК 004.422.8 (076.5)
Издание соответствует программе дисциплины «Информатика» для студентов дневного и заочного обучения по специальности 1-37.01.01 – «Двигатели внутреннего сгорания» и включает в себя задания к лабораторным работам и примеры их выполнения.
Составитель: А.В. Предко
Рецензенты: зав. кафедрой «Тракторы и автомобили» БГАТУ д.т.н., доцент Ю.Д. Карпиевич зав. НИЦ ДД, доцент кафедры ОАПДД БНТУ к.т.н., доцент Д.В. Капский
Лабораторная работа № 1
ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ЛИНЕЙНОЙ СТРУКТУРЫ
Цель работы - овладение практическими навыками разработки и программирования вычислительного процесса линейной структуры и навыками по отладке и тестированию программ.
Задания для самостоятельной подготовки
1. Изучить:
-запись констант, переменных, стандартных функций;
-правила записи арифметических выражений;
-оператор присваивания;
-организацию ввода-вывода данных с использованием функций
InputBox и MsgBox.
2. Разработать алгоритм решения в соответствии с заданием.
3. Составить программу решения задачи.
4. Подготовить тестовый вариант исходных данных и вычислить для них значения вычисляемых в программе величин.
Задание к работе
1. Вычислить на ЭВМ значения переменных, указанных в таблице 1.1 (вариант задается преподавателем), по заданным расчетным формулам и наборам исходных данных. Организовать ввод данных, используя функцию InputBox, вывести значения результатов вычислений, используя функцию
MsgBox.
Таблица 1.1
Вариант |
Расчетные формулы |
Значения исходных |
||||||||||||||
задания |
данных |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
1 |
|
|
2 |
|
|
|
|
|
|
|
|
|
|
3 |
||
|
a |
2cos(x / 6) |
; |
|
|
|
||||||||||
1 |
|
1 / 2 sin2 y |
|
|
x=1,426; y=1,220; |
|||||||||||
|
|
|
|
z2 |
|
|
|
|
|
|
|
z=3,5 |
||||
|
b 1 |
|
|
|
|
|
|
|
|
|
||||||
|
|
3 z2 |
/ 5 |
|
|
|
|
|
|
|||||||
|
g x y / x 3 |
|
|
|
|
|
; |
|
|
|
||||||
|
y / x |
|
|
x=1,825; y=18,225; |
||||||||||||
2 |
|
|
|
y z / (y x) |
||||||||||||
c (y x) |
|
z=-3,298 |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
1 (y x)2 |
|
|
|
|||||||||||
|
s 1 x |
x2 |
|
x3 |
|
x4 |
; |
|
||||||||
3 |
|
|
|
x=0,335; y=0,025 |
||||||||||||
|
|
2! |
3! |
4! |
|
|
d x( sin x3 cos2 y)
Продолжение табл. 1.1
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
||||||
|
y e bt sin at b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
4 |
|
|
bt a |
a=-0,5; b=1,7; t=0,44 |
|||||||||||||||||||||||||||||||||||||
|
|
|
s bsin(at2 cos 2t) |
1 |
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
v |
|
|
x2 b b2 sin3(x a) / x |
a=1,5; b=15,5; x=-2,9 |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
y cos2 x3 x / |
|
|
a2 |
b2 |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
s x3 tg2(x b)2 a / |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
6 |
|
|
|
x b ; |
a=16,5; b=3,4; x=0,61 |
||||||||||||||||||||||||||||||||||||
|
|
|
Q |
|
bx2 |
a |
|
eax |
1 |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
7 |
R x2(x 1) / b sin2 |
(x a) |
a=0,7; b=0,05; x=0,5 |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
s |
|
|
xb / a cos2(x |
b)3 |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
y sin3 x2 a 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
x / b |
|
|||||||||||||||||||||||||||||||||||||
8 |
|
|
|
|
z |
x |
2 |
|
cos x b 3 |
a=1,1; b=0,004; x=0,2 |
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
f |
3 m tg t c sin t |
m=2; c=-1; t=1,2; b=0,7 |
|||||||||||||||||||||||||||||||||||
|
z |
m cos b t sint c |
|||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
y b tg2 |
x |
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
10 |
sin2 x / a |
a=3,2; b=17,5; x=-4,8 |
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
d ae |
|
|
cos bx / a |
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
a |
|
|||||||||||||||||||||||||||||||||||
|
|
f ln a x2 sin2 x / b |
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a=10,2; b=9,2; x=2,2; |
|
11 |
|
|
|
z e cx |
|
x |
x a |
||||||||||||||||||||||||||||||||||
|
|
|
|
c=0,5 |
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
x |
|
|
x b |
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
y |
a2 x |
|
b x cos |
a b x |
|
||||||||||||||||||||||||||||||||||
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
x 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
a=0,3; b=0,9; x=0,61 |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
b2 sin3 x a / x |
|
|||||||||||||||||||||||||||||||
|
R |
|
x2 b |
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
z |
|
|
a x sin 2x e 2 x |
|
x b |
a=0,5; b=3,1; x=1,4 |
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
cos2 x3 x / |
|
|
a2 |
b2 |
|
||||||||||||||||||||||||||||||||||
|
|
U |
|
a2 x e x cos(b x) |
|
||||||||||||||||||||||||||||||||||||
14 |
|
b x e x sin(b x) 1 |
|
|
a=0,5; b=2,9; x=0,3 |
||||||||||||||||||||||||||||||||||||
|
f e2 x ln a x b3x ln b x |
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
z |
|
|
|
|
|
sin x |
|
|
|
|
|
|
c m ln m x |
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m=0,7; c=2,1; x=1,7; |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
15 |
1 m2 sin2 x |
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a=0,5; b=1,08 |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
s e ax |
|
|
x 1 e bx |
x 1,5 |
||||||||||||||||||||||||||||||||||||
|
|
|
|
Пример выполнения работы.
Задание 1. Вычислить на ЭВМ значения y и p, используя расчетные формулы:
y = a tg3 x2 |
|
z2 |
, |
|
a2 |
x2 |
|||
|
|
p ln(a x2 ) sin2 az
при значениях a=0.59, z=-4.8, x=2.1.
Схема алгоритма решения представлена на рисунке 1.1.
1
начало
|
|
|
|
|
|
ввод исходных данных |
|
2 |
a,x,z |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
вычисление значений |
|
|
y=f1(x,z) |
|
||||
|
|
|
|
|||
|
|
|
|
функции y |
||
|
|
|
|
|
|
вычисление значений |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
4 |
|
|
|
||
|
p=f2(x,z) |
|||||
|
|
|
|
функции p |
||
|
|
|
|
|
вывод вычисленных зна- |
|
|
|
|
|
|
||
|
|
|
|
|||
|
5 |
|
y,p |
|
||
|
|
|
|
|
чений функции y, p |
|
|
|
|
|
|
|
|
6
конец
Рисунок 1.1 – Схема алгоритма программы
Для записи кода программы заходим в редактор VBA нажатием сочетаний клавиш Alt+F11 из любого приложения MS Office.
Вменю выбираем пункт: Insert→Module.
Воткрывшемся окне набираем следующий код программы:
Sub LR1()
'Объявление переменных
Dim a As Double, x As Double, z As Double, y As Double, p As Double a = Val(InputBox("a=")) 'Ввод a
x= Val(InputBox("x=")) 'Ввод x
z= Val(InputBox("z=")) 'Ввод z
y= a * (Tan(x ^ 2)) ^ 3 + (z * z / (a * a + x * x)) ^ (1 / 2) 'Вычисление значения функции Y
p = Log(a + x * x) + (Sin(z / a)) ^ 2 'Вычисление значения функции Y sp = MsgBox(y, , "Y=") 'Вывод y
sp = MsgBox(p, , "P=") 'Вывод p
End Sub
В качестве тестового набора исходных данных используем следующие значения переменных: а=1, z=1, x=0.5. Тогда вычисляемые значения у и р будут равны:
y 1 tg3( 0,5 )2 |
|
1 |
0,911; |
|
|
||
|
( 0,5 )2 |
||
1 |
|
p ln 1 0,25 sin2 1 0,931.
Вычисленные значения у и р следует сравнить со значениями, вычисленными на ЭВМ.
Лабораторная работа № 2
ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ
Цель работы - овладение практическими навыками разработки, программирования вычислительного процесса разветвляющейся структуры, получение дальнейших навыков по отладке и тестированию программы.
Задания для самостоятельной подготовки
1.Изучить возможности языка программирования для реализации: - условной и безусловной передачи управления; - вычислительного процесса разветвляющейся структуры.
2.Разработать алгоритм решения в соответствии с заданием.
3.Составить программу решения задачи.
4.Подготовить тесты (число тестов равно числу ветвей вычислительного процесса) для проверки правильности функционирования программы.
Задание к работе
1.Вычислить значение функции, заданной в таблице 2.1 (в соответствии с вариантом задания). Осуществить вывод значений выводимых исходных данных и результат вычисления значений функции, сопровождая вывод наименованиями переменных.
2.Выполнить программу на ЭВМ и протестировать все ветви алгорит-
ма.
Таблица 2.1
Вари- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Функция |
Исходные |
|||||
ант |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
данные |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
|||
|
|
eat |
|
cosbt, t 1 |
|
||||||||||||||||||||||
1 |
y |
1, |
1 t 2 |
|
|
|
|
|
|
|
|
a=-0,5 |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b=2 |
|
|
|
2 |
ln t, t 2 |
|||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||
|
|
at |
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x2 |
|
7 |
/ x2 , x 1.3 |
|
|||||||||||||||||||||
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
y |
|
|
7 |
|
x, x 1.3 |
a=1,5 |
||||||||||||||||||||
ax |
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x ), x 1.3 |
|
||||||||||||
|
|
lg(x 7 |
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ax2 |
|
bx c, x 1.2 |
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a=2,8 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
x |
2 |
1, x 1.2 |
b=-0,3 |
|||||||||||
a / x |
|
|
|
|
|||||||||||||||||||||||
|
|
(a bx) / |
|
|
|
|
|
|
c=4 |
||||||||||||||||||
|
|
|
|
x2 1, x 1.2 |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
7 |
/ x |
2 |
, x 1.4 |
|
||||||||||||||||
|
|
x |
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
Q |
|
|
3 |
|
7 |
|
|
|
x, x 1.4 |
a=1,65 |
||||||||||||||||
ax |
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x 7 |
|
x a |
|
, x 1.4 |
|
|||||||||||||||||||
|
|
ln |
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.5cos2 |
x, x 1 |
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
1.8ax, x 1 |
|
|
|
|
|
|
|||||||||||||||||||
5 |
|
|
|
2 |
2 |
6, 1 x 2 |
a=2,3 |
||||||||||||||||||||
|
|
x |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
||||||||||
|
|
3tg x, x |
|
|
|
|
|
|
|||||||||||||||||||
|
|
x3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x a , |
|
x a |
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
xsin ax , |
|
x a |
a=2,5 |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e ax cos ax , x a |
|
||||||||||||||||||||||||
|
|
bx lg bx , bx 1 |
|
||||||||||||||||||||||||
7 |
Q |
1, bx 1 |
|
|
|
|
|
|
|
|
b=1,5 |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
bx lg bx , bx 1 |
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
cos2 x, x 3.5 |
|
||||||||||||||||||||||||
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
sin x lg x, x 3.5 |
|
||||||||||||||||||||||||
|
|
sin2 |
|
|
|
|
|
|
|
|
|
, x 1 |
|
||||||||||||||
|
|
|
|
ax |
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||||
|
f |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
x 1 , x 1 |
a=20,3 |
|||||||||||||||||||||||
|
|
lg |
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Продолжение табл. 2.1
1 |
2 |
3 |
|
cos x t sin2 |
|
x, x 0.5 |
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
10 |
|
x t 1 / x, x 0.5 |
|
t=2,2 |
|||||||||||||||||||||||||||||
z |
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
3 |
x x |
2 |
|
) / |
|
|
x t , x 0.5 |
|
||||||||||||||||||||
|
( ln |
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
a b |
|
|
|
, x 2.8 |
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
ex |
|
cos x |
|
|
|
|
|
|||||||||||||||||||||||||
11 |
|
|
|
|
b) / (x |
1), |
|
2.8 x 6 |
a=2,6 |
||||||||||||||||||||||||
s (a |
|
|
b=-0,39 |
||||||||||||||||||||||||||||||
|
|
x |
|
sin x, x 6 |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
, x 1 |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
a lg x |
|
|
|
|
|
|
|
|||||||||||||||||||||||||
12 |
y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a=0,9 |
||
|
2a cos x 3x2 , x 1 |
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
a |
|
bi |
2 |
|
c, i 4 |
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
i |
|
|
|
|
|
|
|
a=2,1 |
||||||||||||||||||||||||
|
|
|
|
|
4 i 6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
13 |
i, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b=1,8 |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
3 |
, i |
6 |
|
|
|
|
|
|
|
|
|
c=-20,5 |
||||||||||||
|
ai bi |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
i2 1 |
|
|
|
|
i2 1 |
|
|
|||||||||||||||||||
|
a sin |
|
|
|
|
|
|
|
|
|
|
, |
|
|
|
|
|
|
|
|
0 |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
14 |
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
n |
|
a=0,3 |
||||||||||||
z |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
1 |
|
|
|
|
n=10 |
|||||||||||
|
|
|
|
|
|
|
|
1 |
|
|
|
i |
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
cos i |
|
|
|
|
, |
|
|
|
|
|
|
|
|
|
0 |
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
n |
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
at2 bsin t 1, t 0.1 |
|
|||||||||||||||||||||||||||||
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a=2,5 |
||
at b, t 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
b=0,4 |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
at2 b cost 1, t 0.1 |
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример выполнения работы
Вычислить на ЭВМ значение функцииat b, at 1
s cos at, at 1
e at
для a=1.3, b=1.29.
Схема алгоритма решения представлена на рисунке 2.1.
1
начало
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
ввод исходных данных |
|||||
|
|
|
|
|
a,b,t |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
3 |
|
|
|
|
|
|
|
|
|
|
|
вычисление значений |
||||
|
|
|
s=f1(t) |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
функции s при любых at |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
да |
|
|
|
|
|
|
||
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
at=1 |
|
|
|
|
|
|
|
|
|
вычисление значений |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
||
|
|
|
|
|
нет |
|
|
|
|
|
p=f2(x,z) |
|
функции p при at=1 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
6 |
|
|
at>1 |
|
да |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вычисление значений |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
||
|
|
|
|
|
нет |
|
|
|
|
|
p=f2(x,z) |
|
функции p при at>1 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
8 |
|
|
|
|
p |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вывод вычисленных |
||
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
значений функции p |
конец
Рисунок 2.1 – Схема алгоритма программы
Программа, реализующая на языке VBA схему алгоритма, представленную на рисунке 2.1, имеет вид:
Sub LR2()
'Объявление переменных
Dim a As Double, b As Double, t As Double, s As Double a = Val(InputBox("a=")) 'Ввод a
b = Val(InputBox("b=")) 'Ввод b
t = Val(InputBox("t=")) 'Ввод t
s = a * t + b 'Вычисление значения функции для любых at
If a * t = 1 Then s = Cos(a * t) 'Вычисление значения функции для at=1
If a * t > 1 Then s = Exp(-a * t) * Cos(a * t) 'Вычисление значения функции для at>1
sp = MsgBox(s, , "s=") 'Вывод s
End Sub
В качестве тестовых наборов исходных данных примем следующие тесты:
1)a=1, b=1, t=0.5, s=1 0.5+1=1.5;
2)a=1, b=1, t=1, s=cos(1)=0.5403;
3)a=2, b=1, t=1, s=e-2 cos(2)= 0.0563.
Лабораторная работа № 3
ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ
Цель работы - овладение практическими навыками разработки и программирования алгоритмов циклической структуры, приобретение навыков по созданию форм пользователя и применению элементов управления.
Задания для самостоятельной подготовки
1. Изучить:
-организацию алгоритмов циклической структуры;
-возможности языка программирования для построения циклов;
-приемы программирования - вычисление определенных интегралов по методу прямоугольников и трапеций;
-свойства объектов .
2.Разработать алгоритм решения в соответствии с заданием.
3.Создать форму пользователя с необходимыми полями.
4.Составить программу решения задачи.
5. Для контроля вычислений определить математическое выражение точного значения интеграла и включить вычисление его в программу.
Задание к работе
Вычислить на ЭВМ значение интеграла
b
s f(x)dx,
a
приведенного в таблице 3.1, на заданном отрезке интегрирования [a,b] (в соответствии с вариантом задания). Считать заданным число разбиений отрезка интегрирования n и метод численного решения. Включить в программу вычисление точного значения интеграла по первообразной функции, приведенной в таблице 3.2. Вывести приближенное, точное значения интеграла и относительную погрешность вычисления в процентах.
В таблице 3.2 приведены выражения для вычисления первообразных функций
b
f(x)dx F(x) ba F(b) F(a).
a
Пример выполнения работы
Вычислить на ЭВМ методом трапеций значение интеграла