Просмотр содержимого документа
«Урок з теми "Оператор циклу з передумовою (WHILE) і післяумовою (REPEAT … UNTIL)"»
Оператор циклу з передумовою ( WHILE ) і післяумовою ( REPEAT … UNTIL )
1 . Цикл “доки”
Загальний вигляд циклу з передумовою ( цикл “доки” ) :
WHILE (логічний вираз) DO (команда)
Дія команди:
- Обчислюється логічний вираз.
- Якщо значення логічного виразу істинне, то виконується команда (часто команда є складеною).
- Знов перевіряється логічний вираз і т.д.
- Якщо значення логічного виразу – хибне, команда не виконується.
- Цикл завершується.
Блок-схема циклу “доки”
Висновок.
Зазначена в тілі циклу команда виконується 0, 1 чи багато (часто невідому кількість разів), доки логічний вираз істинний.
Приклад 1. Вивести у вигляді таблиці числа від 20 до 30 та їхні квадрати і куби за допомогою команди while .
i : = 20;
while i do
begin
writeln ( i:4, i*i:6, i*i*i:8 );
i:=i+1
end;
Зауваження.
У будь-якій програмі цикл for можна замінити циклом while , але не навпаки.
Тому while вважається більш універсальним, ніж for .
Задача 1 . Обчислити суму перших ста натуральних чисел, використовуючи цикл while .
program Suma1;
var N,S: integer;
begin
S:= 0; N:=1;
while Ndo
begin
S: = S+N;
N:=N+1 ( або inc(N))
end;
writeln (S);
readln
end.
2.Табулювання функції –
Це побудова таблиці значень функції y = f(x) для різних значень аргументу х, де х змінюється на проміжку [a;b] з кроком h .
program Tabul2;
var a,b,h,x,y: real;
begin
writeln (‘ Введіть а, b,h:’); readln ( а, b,h);
writeln (‘x y = xsinx’);
x := a;
while x do
begin
y: = x*sin(x);
writeln (x:6:1, y:9:2);
x := x+h
end;
readln
end.
Задача 2. Протабулювати функцію y = xsin(x) на проміжку [ 1 ; 2 ] з кроком h = 0,1.
Виконавши алгоритм, отримаємо таблицю значень заданої функції:
х y = xsinx
1.0 0.84
1.1 0.98
1.2 1.12
1.3 1.25
1.4 1.38
1.5 1.50
1.6 1.60
1.7 1.69
1.8 1.75
1.9 1.80
2.0 1.82
3. Команда REPEAT
(цикл з післяумовою)
Загальний вигляд команди
Дія команди:
- Виконуються зазначені команди.
- Перевіряється логічний вираз.
- Якщо вираз істинний, то виконання циклу завершується.
- Якщо вираз хибний, то команди виконуються ще раз і т.д.
repeat
(команда)
until (логічний вираз)
10; writeln (s); " width="640"
Приклад 2. Обчислити суму перших десяти натуральних чисел.
s : = 20; n:=1
repeat
s : = s+n;
n:=n+1
until n 10;
writeln (s);
Висновок:
- При розв’язуванні задач можна використовувати будь-яку з команд: або while або repeat .
- Логічні вирази (умови) в них протилежні.
- У команді while логічний вираз описує умову продовження обчислень в циклі.
- У команді repeat логічний вираз описує умову виходу з циклу.
2 do p:=(p - 3)*2; p:=p-3; s:=1; repeat s:= 2*s+2 until s 10; s:=4; repeat s:= - 3*(s - 6) until s " width="640"
Вправа 3. Якого значення набуде змінна після виконання команд?
- p:=4; while pdo p:=2*p+1; p:=p+1;
- p:=4; while pdo begin p:=2*p+1; p:=p+1 end;
- p:=5; while p2 do p:=(p - 3)*2; p:=p-3;
- s:=1; repeat s:= 2*s+2 until s 10;
- s:=4; repeat s:= - 3*(s - 6) until s