Основы и принципы работы в VBA. Часть 2: Методические указания к выполнению лабораторных работ, страница 2

если условие (блок 4) является истинным, то выполняются действия, расположенные между блоками 4 и 9, после этого вновь осуществляется переход к проверке условия (блок 4);

если условие (блок 4) является ложным, то действия, расположенные между блоками 4 и 9, не выполняются ни разу и циклзавершается.

Исходный алгоритм реализуется программой с помощью оператора
WhileWend, используемого в цикли-ческих структурах с неизвестным числом повторений:

Программа с операторомWhileWend:

Option Explicit

Sub PR2()

Dim a As integer, b as integer,  i as integer

а = val(inputBox(“Введите а”))

b = val(inputBox(“Введите b”)): i = 0

   While a >< b

          if  a> b then  a = a – b else b = b – a

     i = i +1

   Wend

Cells(1,1) = a : Cells(1,3) = i

End

Пример 3. Составить алгоритм и программу вычисления значений
семейства характеристик  для аргумента x, изменяющегося
от  xn = – π до xk = π с шагом ∆x = π/6 при значениях a от an = 2,5 до ak = 3,5
с шагом  ∆а = 0,5, где b =  0,68.

Схема алгоритма вычисления значений   приведена на рис. 5.3, алгоритм относится к типу «цикл в цикле».

Ввод исходных данных происходит в блоке 2. По внешнему контуру цикла в алгоритме вводятся значения а функции у,  по внутреннему – значения х в соответствии с законами изменения параметра цикла а = а + ∆а внешнего контура и параметра цикла внутреннего контура цикла по х с проверкой условия окончания цикла (блоки 3 и 5 соответственно). Блоки 6 (вычисление функции у) и 7 (вывод на экран полученного результата внутреннего контура цикла) образуют тело цикла.

Процедура, использующая вложенный цикл, имеет следующий вид:

Option Explicit

Sub gh()                                     ’Семейство характеристик

Dim a As Single, b As Single, Dim x As Single, y As Single, pi as Single

Dim n As Integer, _                    ‘Номер столбца для вывода переменной а

        k As Integer, _                    ‘Номер строки для вывода переменныхх и у

        m As Integer                       ‘Номер столбца для вывода переменной у

Range (“А1:U100”).Clear          ‘Очистка листа Excel c ячейки A1 по U100

pi = 3.14159: b = 0.98: cells (1,1)=”x”

m = 2: n = 2                                            ‘Начальные значения  m и  n

Подпись: Цикл по х (внутренний)Подпись: Цикл по а (внешний)For a = 2.5 To 3.5 Step 0.5                      ‘Заголовок внешнего цикла по а

k = 2: Cells (1, n) = “a=” & a: n = n + 1                      

    For x = -pi To pi + 0.01 Step pi / 6     ‘Заголовок внутреннего цикла по х

           y = a * Sin(b * x) ^ 2                   ‘Расчет у

          Cells (k, 1) = x:                             ‘Вывод х в первый столбец

          Cells (k, m) = y                             ‘Вывод столбца по у

          k = k + 1                                        ‘Наращивание номера строки по x и у

    Next x                                                  ‘Конец внутреннего цикла по х

m = m + 1                                                ‘Наращивание номера столбца по у

Next a                                                      ‘Конец внешнего цикла по а

End Sub

Таблица значений и график семейства кривых функции  в
 Excel показана на рис. 5.4.

                                                              

 


Рис. 5.4. Таблица значений (а) и график семейства кривых (б) функции  на рабочем листе Excel

 
     а                                                                           б     

5.2. Индивидуальные задания

З а д а н и е 1. Составить алгоритм и программу табулирования функции
с использованием операторов ForNext,WhileWend в соответствии с индивидуальным заданием (табл. 5.1). Вывод значений аргумента и функции выполнить в ячейки рабочего листа Excel и построить график функции.

Таблица 5.1

Функции для табулирования

Вариант

Функция

Исходные

данные

Диапазон и шаг

изменения
аргумента

1

2

3

4

1

0 ≤  z  ≤  5

∆z = 0,5

2

 y = 0,03

1 ≤  x  ≤  4

∆x = 0,5

3

 b = 0,13

0 ≤  x  ≤  2

∆x = 0,25

4

 b = 0,03

0 ≤  x  ≤  1

∆x = 0,1

5

 a = 1,1

 b = 0,02

0 ≤  x  ≤  1

∆x = 0,1

6

 a = 0,17

 b = 1,15

2 ≤  x ≤  4

∆x = 0,25

7

 a = 2,25

 b = –7,8

0 ≤  t ≤  2

9∆t = 0,1

8

 b = 3,7

 m = –0,5

0,1 ≤  t  ≤  0,9

∆t = 0,15

9

 a = 1,5

 b = –7,1

0,3 ≤  x  ≤  1

∆x = 0,1

10

 a = 0,25

1 ≤  x  ≤  2

∆x = 0,1

11

 a =1,79

1 ≤  x  ≤  2

∆x = 0,05

12

 m = 1,5

1,5  ≤  x  ≤  4

∆x = 0,25

Окончание табл. 5.1

1

2

3

4

13

 a = – 0,15

∆x =

14

 m = 0,75

≤  x  ≤3

∆x =

15

 m = 4,4

 c = 1,27

–2 ≤  t ≤  2

∆t = 0,25

З а д а н и е  2. Составить алгоритм и программу вывода данных в соответствии с индивидуальным заданием (табл. 5.2) с использованием оператора ForNext. Записать значения аргумента и функции в ячейки рабочего листа Excel в виде таблицы с пояснениями.

Таблица 5.2

Исходные данные  для составления таблицы