271 87 426KB
Russian Pages [57]
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ Белорусский национальный технический университет Кафедра «Двигатели внутреннего сгорания»
ПРОГРАММИРОВАНИЕ В СРЕДЕ MICROSOFT VISUAL BASIC
Лабораторный практикум
Минск БНТУ 2014
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ Белорусский национальный технический университет Кафедра «Двигатели внутреннего сгорания»
ПРОГРАММИРОВАНИЕ В СРЕДЕ MICROSOFT VISUAL BASIC Лабораторный практикум по дисциплине «Информатика» для студентов специальности 1-37 01 01 «Двигатели внутреннего сгорания»
Минск БНТУ 2014 1
УДК 004.42(076.5)(075.8) ББК 32.97я7 П78
С о с т ав ит е ль А. В. Предко Р е це н зе н ты: В. Е. Тарасенко, канд. техн. наук, доцент кафедры «Тракторы и автомобили» БГАТУ; А. С. Климук, начальник отдела двигателей Объединенного института машиностроения Национальной академии наук Беларуси
Программирование в среде Microsoft Visual Basic : лабораторП78 ный практикум / сост.: А. В. Предко. – Минск : БНТУ, 2014. – 56 с.
ISBN 978-985-550-348-5. Издание соответствует программе дисциплины «Информатика» для студентов дневного и заочного обучения по специальности 1-37 01 01 «Двигатели внутреннего сгорания» и включает в себя задания к лабораторным работам и примеры их выполнения. УДК 004.42(076.5)(075.8) ББК 32.97я7
ISBN 978-985-550-348-5
2
© Белорусский национальный технический университет, 2014
Лабораторная работа № 1 ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ЛИНЕЙНОЙ СТРУКТУРЫ Цель работы: овладеть практическими навыками разработки и программирования вычислительного процесса линейной структуры и навыками по отладке и тестированию программ. Задания для самостоятельной подготовки 1. Изучить: – запись констант, переменных, стандартных функций; – правила записи арифметических выражений; – оператор присваивания; – организацию ввода-вывода данных с использованием функций InputBox и MsgBox. 2. Разработать алгоритм решения в соответствии с заданием. 3. Составить программу решения задачи. 4. Подготовить тестовый вариант исходных данных и вычислить для них значения вычисляемых в программе величин. Задание к работе 1. Вычислить на ЭВМ значения переменных, указанных в таблице 1.1 (вариант задается преподавателем), по заданным расчетным формулам и наборам исходных данных. Организовать ввод данных, используя функцию InputBox, вывести значения результатов вычислений, используя функцию MsgBox. Таблица 1.1 Вариант задания 1
Расчетные формулы
a
2 2 cos x / 6 1 / 2 sin 2 y
1
b 1
z2
Значения исходных данных 3
x = 1,426; y = 1,220; z = 3,5
3 z2 / 5
3
Продолжение табл. 1.1 1
2
2 y / g x x 3 y / x c y x s 1 x
3
x = 1,825; y = 18,225; z = –3,298
y z / y x 1 y x
2
x 2 x3 x 4 2! 3! 4!
d x sin x cos y 3
2
y e bt sin at b
4
3
x = 0,335; y = 0,025
bt a
s b sin at 2 cos 2t 1
v x 2 b b 2 sin 3 x a / x 5
y cos 2 x3 x / a 2 b 2 s x 3 tg 2 x b a / 2
6
Q bx a 2
e
ax
xb
1
R x x 1 / b sin x a 2
7
3
y sin3 x2 a 8 z f 9
4
a = 1,5; b = 15,5; x = –2,9
a = 16,5; b = 3,4; x = 0,61
2
xb / a cos 2 x b
s
a = –0,5; b = 1,7; t = 0,44
2
x/b
2
x 3 cos x b a 3
a = 0,7; b = 0,05; x = 0,5
m tg t c sin t
z m cos b t sin t c
a = 1,1; b = 0,004; x = 0,2
m = 2; c = –1; t = 1,2; b = 0,7
Окончание табл. 1.1 1
2
y b tg 2 x 10
d ae
a
3
a sin 2 x / a
a = 3,2; b = 17,5; x = –4,8
cos bx / a
f ln a x 2 sin 2 x / b
11
ze y
a
2x
cx
x
b
x
x b cos a b x
x 1
12 R
a = 10,2; b = 9,2; x = 2,2; c = 0,5
x xa
a = 0,3; b = 0,9; x = 0,61
x 2 b b 2 sin 3 x a / x
z a x sin 2 x e 2 x x b
a = 0,5; b = 3,1; x = 1,4
13 cos 2 x3 x / a 2 b 2
U 14
a 2 x e x cos(b x) b x e x sin(b x) 1
a = 0,5; b = 2,9; x = 0,3
f e 2 x ln a x b 3 x ln b x
z 15
sin x 1 m2 sin 2 x
c m ln m x
m = 0,7; c = 2,1; x = 1,7; a = 0,5; b = 1,08
s e ax x 1 e bx x 1,5
Пример выполнения работы Задание 1. Вычислить на ЭВМ значения y и p, используя расчетные формулы
y = a tg3 x 2
z2 a2 x2
,
5
p ln a x 2 sin 2
z a
при значениях a = 0,59, z = –4,8, x = 2,1. Схема алгоритма решения представлена на рисунке 1.1. 1 начало
ввод исходных данных
2 a,x,z 3 y=f1(x,z)
вычисление значений функции y
p=f2(x,z)
вычисление значений функции p
4
вывод вычисленных значений функции y, p
5 y,p
6 конец
Рисунок 1.1 – Схема алгоритма программы
Для записи кода программы заходим в редактор VBA нажатием сочетания клавиш Alt+F11 из любого приложения MS Office. В меню выбираем пункт Insert→Module. В открывшемся окне набираем следующий код программы: Sub LR1() 'Объявление переменных 6
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 'Вычисление значения функции р 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 1 0,5
2
0,911;
p ln 1 0 , 25 sin 2 1 0 ,931.
Вычисленные значения у и р следует сравнить со значениями, вычисленными на ЭВМ. Лабораторная работа № 2 ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ Цель работы: овладеть практическими навыками разработки, программирования вычислительного процесса разветвляющейся структуры, получить дальнейшие навыки по отладке и тестированию программы.
7
Задания для самостоятельной подготовки 1. Изучить возможности языка программирования для реализации: – условной и безусловной передачи управления; – вычислительного процесса разветвляющейся структуры. 2. Разработать алгоритм решения в соответствии с заданием. 3. Составить программу решения задачи. 4. Подготовить тесты (число тестов равно числу ветвей вычислительного процесса) для проверки правильности функционирования программы. Задания к работе 1. Вычислить значение функции, заданной в таблице 2.1 (в соответствии с вариантом задания). Осуществить вывод значений исходных данных и результат вычисления значений функции, сопровождая вывод наименованиями переменных. 2. Выполнить программу на ЭВМ и протестировать все ветви алгоритма.
Таблица 2.1 Вариант
Функция
1
2 at e cos bt , t 1 y 1, 1 t 2 2 at ln t , t 2
1
8
Исходные данные 3 a = –0,5 b=2
2
x 2 7 / x 2 , x 1,3 y ax3 7 x, x 1,3 lg x 7 x , x 1,3
a = 1,5
3
ax 2 bx c, x 1, 2 a / x x 2 1, x 1, 2 2 a bx / x 1, x 1, 2
a = 2,8 b = –0,3 c=4
Продолжение табл. 2.1 1
4
2 x 2 7 / x 2 , x 1, 4 Q ax3 7 x, x 1, 4 ln x 7 x a , x 1
3
a = 1,65
5
1.5cos 2 x, x 1 1,8ax, x 1 y 2 x 2 6, 1 x 2 3 tg x, x 2
a = 2,3
6
x3 x a , x a x sin ax , x a ax e cos ax , x a
a = 2,5
7
bx lg bx , bx 1 Q 1, bx 1 bx lg bx , bx 1
b = 1,5
8
cos 2 x, x 3,5 y sin x lg x, x 3,5
9
2 ax , x 1 sin f lg x 1 , x 1
a = 20,3
cos x t sin x, x 0,5 z x t 1 / x, x 0,5 ( ln x x ) / x t , x 0,5 ab , x 2,8 x e x cos s (a b) / ( x 1), 2,8 x 6 x e sin x, x 6 2
10
3
11
t = 2,2
2
a = 2,6 b = –0,39
9
Окончание табл. 2.1 1
2
3
12
a lg x x , x 1 y 2 2a cos x 3x , x 1
a = 0,9
13
a 2 i bi c, i 4 i, 4 i 6 3 ai bi , i 6
a = 2,1 b = 1,8 c = –20,5
14
i2 1 i2 1 0 a sin , n n z 1 i2 1 0 cos i , n n
a = 0,3 n = 10
15
at 2 b sin t 1, t 0,1 at b, t 0 2 at b cos t 1, t 0,1
a = 2,5 b = 0,4
3
Пример выполнения работы Вычислить на ЭВМ значение функции
at b, at 1 s cos at, at 1 at e cos at, at 1 для a = 1,3, b = 1,29. Схема алгоритма решения представлена на рисунке 2.1.
10
1 начало ввод исходных данных
2 a,b,t
вычисление значений функции s при любых at
3 s=f1(t)
4
да at=1 5
нет 6
s=f2(x,z)
at>1
да 7
нет
вычисление значений функции s при at= 1
s=f2(x,z)
вычисление значений функции s при at>1
8 s вывод вычисленных значений функции s
9 конец
Рисунок 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 11
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 = 10,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. Для контроля вычислений определить математическое выражение точного значения интеграла и включить вычисление его в программу.
12
Задание к работе Вычислить на ЭВМ значение интеграла b
s f x dx, a
приведенного в таблице 3.1, на заданном отрезке интегрирования [a,b] (в соответствии с вариантом задания). Считать заданным число разбиений отрезка интегрирования n и метод численного решения. Включить в программу вычисление точного значения интеграла по первообразной функции, приведенной в таблице 3.2. Вывести приближенное, точное значения интеграла и относительную погрешность вычисления в процентах. Таблица 3.1 Отрезок Число Требуемая интегриразбиений точность n рования a,b 4 5 6
3
x x 1 ln x
4
cos x
Метод численного решения 3 Метод трапеций Метод прямоугольников Метод трапеций -//-
5
sin 2 x
-//-
60
[0;/2]
0,5.10–3
6
e x sin x
-//-
100
[0;1]
10–4
7
((ln x) / x)2
50
[1;2,5]
10–4
8
x arctg x
50
[0;3]
0,5.10–3
100
[0;2]
10–5
60
[0;]
10–4
Вариант
Подынтегральная функция f(x)
1
2
1
(ln 2 x ) / x
2
9 10
1 x
1/
2
sin
1 x
9 x
2
e x cos 2 x
Метод прямоугольников Метод трапеций Метод прямоугольников Метод трапеций
60
[1;4]
10–4
50
[1;2,5]
0,5.10–3
40
[1;3]
10–4
60
[0;/2]
10–4
13
Окончание табл. 3.1 1
2
11
x3 / 3 x 2
12
x 2 ln( x 2 1)
13
e x e x x 2
14
x 2 sin 2 x
15
x x 1
3 Метод прямоугольников Метод трапеций Метод прямоугольников Метод трапеций
-//-
4
5
6
80
[1;2]
0,5.10–4
50
1;2
10–4
50
0;2
10–4
100
1;2
10–4
50
1;2
0,5.10–3
Таблица 3.2 Ва- Первообразные функции риант F x f x dx 1
2
1
(ln 3 x ) / 3
2
cos 1 / x
4 5
ex sin x cos x 2
7
1 ln 2 x 2 ln x 2 x
x 2 1 arctg x x 2
9
14
10 11
2 x 2 3 ln x 3 2 2
12
6
8
2 ex cos 2 x 2sin 2 x 5 10
xx sin x x sin 2 x 2 4
3
1
2
ln x x 2 9
13
14
15
x3 2 x3 2 x ln x 2 1 3 9 3 2 arctg x 3 x 1 x 1 e x e x 2 2 2 2
x3 x2 1 x cos2x sin 2x 6 4 8 4 2 x 2 arctg
x
В таблице 3.2 приведены выражения для вычисления первообразных функций b
f x dx F x a F b F a . b
a
Пример выполнения работы Вычислить на ЭВМ методом трапеций значение интеграла sin 2 x dx, для a = 0, b = π, a 1 cos x
b
s
разбивая отрезок интегрирования на 60 частей. Для контроля вычислить точное значение интеграла и оценить на ЭВМ относительную погрешность метода. Вычислим точное значение интеграла
sin 2 x dx F (b) F (a ) b sin b (a sin a) . 0 1 cos x
Для оформления интерфейса создадим форму пользователя: – заходим в редактор VBA (Alt+F11); – в меню выбираем команду Insert→UserForm; – изменяем название формы Caption (в окне Properties UserForm1) на «Иванов И.И. гр.101317 Лабораторная работа № 3»; – вставляем в форму из панели инструментов Toolbox/Controls следующие объекты: 8 Label, 6 TextBox и один CommandButton; – располагаем объекты и изменяем заголовки Label и CommandButton как показано на рисунке 3.1. Двойным щелчком по кнопке «Расчет» заходим в окно редактирования кода программы. В открывшемся окне набираем код программы.
15
Рисунок 3.1 – Внешний вид интерфейса программы
16
1 начало ввод исходных данных
2 a,b,n
вычисление полусуммы значений функции на концах отрезка
3 s=(fa+fb)/2
расчет шага интегрирования
4 dx=(b-a)/n
присвоение начальных значений x, i
5 x=a, i=1
условие выхода из цикла 6
7
i