Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_роб_ДМ.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.34 Mб
Скачать

2 Цикли з передумовою і післяумовою.

Складемо алгоритм до задачі, використовуючи цикли з передумовою і післяумовою: вводимо числа, поки їх сума не перевищить задане число m.

1) Цикли з передумовою

a) Do While <умова> б) While P

<послідовність операторів 1> <послідовність операторів 1>

[Exit Do]

<послідовність операторів 2>

Wend

Loop

Рисунок 2.2 – Графічний алгоритм циклу з передумовою

Тіло циклу буде виконуватися в тому випадку, коли умова набуває значення істини (цикл продовжується при істинному значенні умови). Якщо умова хибна, то виконуються оператори, які находяться після циклу. В першому випадку є можливість дочасного виходу із циклу (це реалізовано через Exit Do.

Нижче показаний приклад виконання наведеної вище задачі, де використовується цикл із передумовою Do While …Loop.

Sub цикли_предумова()

Dim x, y As Single, i, n As Byte

n = 11

x = 0: i = 1

Worksheets(1).Range("c1").Value = " значення y="

Worksheets(1).Range("d1").Value = "значеня x="

Do While x <= 2

y = Cos(2 * x) ^ 2

x = x + 0.2

Worksheets(1).Range("c" & i).Value = y

Worksheets(1).Range("d" & i).Value = x

i = i + 1

Loop

End Sub

в) Крім уже описаних вище циклів із передумовою існує ще один - це цикл Do Until … Loop. Тіло S цього циклу виконується до тих пір, поки умова P не набуде значення істини (цикл продовжується при хибному значенні умови P). Якщо є можливість дострокового виходу із циклу. Його синтаксис наступний:

Do Unlil P

S

[Exit Do]

Loop

Далі дивимось код програми тої ж задачі, але із використанням циклу Do Until … Loop.

Sub цикли_післяумова()

Dim x, y As Single, i, n As Byte

n = 11

x = 0: i = 1

Worksheets(1).Range("c1").Value = " значення y="

Worksheets(1).Range("d1").Value = "значеня x="

Do Until x > 2

y = Cos(2 * x) ^ 2

x = x + 0.2

Worksheets(1).Range("c" & i).Value = y

Worksheets(1).Range("d" & i).Value = x

i = i + 1

Loop

2) Цикли із післяумовою.

Рисунок 2.3 – Графічний алгоритм циклів з післяумовою

а) Do

<послідовність операторів 1>

[Exit Do]

<послідовність операторів 2>

Loop Until <умова>

Тіло циклу буде виконуватися в тому випадку, коли умова набуде значення істини (цикл продовжується при істинному значенні умови). Якщо умова P хибна, то виконуються оператори, які находяться після циклу. Надана можливість дострокового виходу із циклу

Приведений код програми, із використання циклу Do …Loop While.

Sub цикли_предумова()

Dim x, y As Single, i, n As Byte

n = 11

x = 0: i = 1

Worksheets(1).Range("c1").Value = " значення y="

Worksheets(1).Range("d1").Value = "значеня x="

Do

y = Cos(2 * x) ^ 2

x = x + 0.2

Worksheets(1).Range("c" & i).Value = y

Worksheets(1).Range("d" & i).Value = x

i = i + 1

Loop While x<=2

б) Do

S

[Exit Do]

Loop Until P

Тіло S цього циклу виконується до тих пір, пока умова P не набуде значення істини (цикл продовжується при хибному значенні умови P). Є можливість дострокового виходу із циклу.

Нижче представлений код тої ж задачі, але із використанням Loop Until.

Sub цикли_післяумова()

Dim x, y As Single, i, n As Byte

n = 11

x = 0: i = 1

Worksheets(1).Range("c1").Value = " значення y="

Worksheets(1).Range("d1").Value = "значеня x="

Do

y = Cos(2 * x) ^ 2

x = x + 0.2

Worksheets(1).Range("c" & i).Value = y

Worksheets(1).Range("d" & i).Value = x

i = i + 1

LoopUntil x>2

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