Программирование в среде Microsoft Visual Basic
 9789855503485

Table of contents :
Обложка
Один общий

Citation preview

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ Белорусский национальный технический университет Кафедра «Двигатели внутреннего сгорания»

ПРОГРАММИРОВАНИЕ В СРЕДЕ  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

xb



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

ze 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 xa

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  ab , 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 = 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. Для контроля вычислений определить математическое выражение точного значения интеграла и включить вычисление его в программу.

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