Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR3_Ciklicheskiy_algoritm.doc
Скачиваний:
21
Добавлен:
21.02.2016
Размер:
597.5 Кб
Скачать

4. Пример решения задач с циклическим алгоритмом

4.1. Пример использования оператора Do While…Loop

Вычислить значение функции , приa=2.1, b=-5.45 и значении аргумента х, который изменяется от хн до хк с шагом dx.

Блок-схема алгоритма решения задачи приведена на рис. 14.

Рис. 14. Блок-схема алгоритма решения поставленной задачи

Листинг программы, которая соответствует данной блок-схеме алгоритма, имеет вид:

Public Sub Cikl()

Dim i As Byte 'переменная для организации вывода

Dim x, Y, xn, xk, dx As Single

Const a = 2.1

Const b = -5.45

xn = Val(InputBox("Введите начальное значение x", "Ввод данных"))

xk = Val(InputBox("Введите конечное значение x ", " Ввод данных "))

dx = Val(InputBox("Введите шаг изменения x ", " Ввод данных "))

Range("B1").Value = "Начальное значение x"

Range("B2").Value = xn

Range("C1").Value = "Конечное значение x"

Range("C2").Value = xk

Range("D1").Value = "Шаг изменения х"

Range("D2").Value = dx

Range("B3").Value = "Шаг вычисления"

Range("C3").Value = "Значение х"

Range("D3").Value = "Значение функции"

x = xn

i = 1

Do While x <= xk

Y = a * Sin(x) + b

Range("B4").Cells(i, 1).Value = i

Range("C4").Cells(i, 1).Value = x

Range("D4").Cells(i, 1).Value = Y

i = i + 1

x = x + dx

Loop

End Sub.

Результаты выполнения программы представлены на рис. 15.

A

B

C

D

1

Начальное значение x

Конечное значении x

Шаг изменения х

2

0

4

0,5

3

Шаг вычисления

Значение x

Значение функции

4

1

0

-5,45

5

2

0,5

-4,44

6

3

1

-3,68

7

4

1,5

-3,35

8

5

2

-3,51

9

6

2,5

-4,19

10

7

3

-5,15

11

8

3,5

-6,18

12

9

4

-7,03

13

Рис. 15. Результаты выполнения программы

4.2. Пример использования оператора Do…Loop Until

Вычислить по итерационной формуле ,. Точность вычислений .Исходные данные: a, .

Блок-схема алгоритма решения задачи приведена на рис. 16.

Рис. 16. Блок-схема алгоритма решения поставленной задачи

Листинг программы, которая соответствует данной блок-схеме алгоритма, имеет вид:

Public Sub Cikl()

Dim e As Single 'точность вычисления

Dim Yi, Yi_1 As Single 'значение корня на i и i+1 шаге

Dim i As Byte 'шаг итерации

Dim a As Single 'число под корнем

a = Val(InputBox("Введите число под корнем ", "Ввод данных"))

e = Val(InputBox("Введите точность вычисления", "Ввод данных"))

Yi = 1

Do

Yi_1 = (Yi + a / Yi) / 2

Yi = Yi_1

i = i + 1

Loop Until Abs(Yi_1 ^ 2 - a) <= e

Range("B1").Value = "Точность вычисления равна " + Str(e)

Range("B2").Value = "Корень числа " + Str(a) + " равен " + Str(Yi_1)

Range("B3").Value = "Количество итераций равно " + Str(i)

End Sub.

Результаты выполнения программы представлены на рис. 17.

A

B

C

1

Точность вычисления равна .0001

2

Корень числа 67 равен 8.185355

3

Количество итераций равно 6

4

Рис. 17. Результаты выполнения программы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]