Основы алгоритмизации и программирования на языке VBA: Практическое пособие к выполнению контрольных работ по курсу «Информатика», страница 6

№ теста

x

F

№ формулы

1

-2

4

2

2

0

0

2

3

100

4

1

4

1000

9

1

5

8000

20

3

1.  Составляем схему алгоритма (рис.3.2.).

2.  Составляем таблицу соответствия переменных.

В схеме

В программе

Тип

Комментарий

x

X

Single

Исходные данные

F

F

Single

Результат

n

N

Integer

Результат

I

Integer

Вспомогательная переменная

K

Integer

Вспомогательная переменная

Рис.3.2. Схема алгоритма примера 3.2.

3.  Составляем текст программы, в которую добавлен цикл, позволяющий сразу же проводить расчеты для всего набора тестов. Выполнение программы для приведенных выше тестов позволит сделать выводы о правильности ее работы.

Sub BETB3()

' Составил студент группы ЗО-11с Петров Т.М.

Dim I As Integer, N As Integer, X As Single, F As Single, K As Integer

K = InputBox("Сколько всего тестов?", "Ввод")

'Формирование заголовка

Cells(1, 1) = "№ теста"

Cells(1, 2) = "X"

Cells(1, 3) = "Y"

Cells(1, 4) = "№ формулы"

For I = 1 To K ' цикл для повторения расчетов

 X = InputBox("Введи X", "Ввод")

 If X > 0 And X <= 1000 Then

   F = (Log(X) / Log(10)) ^ 2

   N = 1

 Else

   If X <= 0 Then

     F = X ^ 2

     N = 2

   Else

     F = X ^ (1 / 3)

     N = 3

   End If

 End If

 Cells(I + 1, 1) = I

 Cells(I + 1, 3) = F

 Cells(I + 1, 4) = N

Next I

End Sub

3.3.  Циклический алгоритм табулирования функции

Задача. Составить программу для табулирования функции y=sin x на заданном отрезке [xнач,xкон] с заданным шагом  Dx. Результаты нужно представить в виде таблицы на рабочем листе Excel:

№ п/п

x

y

1

2

Решение. Поскольку все действия по вычислению функции и записи результатов в таблицу являются одинаковыми для любого значения х, организуем их выполнение в цикле. Параметром цикла будет являться переменная х, принимающая в нем ряд значений xнач, xнач+Dx, xнач+2∙Dx, …, xкон. В программу введена дополнительная переменная i, определяющая порядковый номер строки с результатом и номер строки таблицы, в которую он будет выведен (он равен i+1, так как строка 1 занята заголовком).

1.  Составляем схему алгоритма (рис.3.3.).

2.  Составляем таблицу соответствия переменных

В схеме

В программе

Тип

Комментарий

x

x

Single

Параметр цикла

xнач

xn

Single

Исходное данное

xкон

xk

Single

Исходное данное

Dx

dx

Single

Исходное данное

y

y

Single

Результат

i

Integer

Вспомогательная переменная

3.  Составляем текст программы

Sub Tabl()

'Составил Иванов И.И., гр.ЗО-11

Dim i As Integer, x As Single

Dim xn As Single, k As Single, dx As Single

xn = InputBox("Введи Xнач")

xk = InputBox("Введи X кон")

dx = InputBox("Введи шаг")

'Заголовок таблицы

Cells(1, 1) = "№ п/п"

Cells(1, 2) = "x"

Cells(1, 3) = "y"

Cells(1, 5) = "xнач=" & xn

Cells(2, 5) = "xкон=" & xk

Cells(3, 5) = "шаг=" & dx

i = 1

For x = xn To xk Step dx

Cells(i + 1, 1) = i