Пример цикла типа for. Вычисление n чисел Фибоначчи:
F1=1; F2=1; :; Fn=Fn-1+Fn-2 ,
например: F3=F2+F1=1 + 1 = 2; F4 = 2 + 1 = 3 и т.д.
program fib; {Нахождение чисел Фибоначчи}
var x, y, z, i, n : integer;
begin
writeln ('Введите n'); read (n);
x:=1; y:=0;
for i:=1 to n do
begin
z:=x ; x:=x+y ; y:=z ;
write (' ', x ) ;
end;
end.
Пример цикла типа while. Cоставление таблицы функции y = a3/(a2+x2) для х, принадлежащих отрезку [-1; 1] с шагом 0.1. Так как параметр цикла типа for должен быть целочисленным, удобнее использовать цикл while, в котором значение x можно изменять при каждом шаге на х = 0.1.
program cycl_while;
uses crt; {вызов модуля Crt для управления режимом экрана}
var
a, x, y : real ; i : integer;
begin
clrscr ; {процедура очистки экрана из модуля Crt}
writeln('Введите а ' ); readln(a);
x:= -1.; writeln (' x ', ' y ');
while do x<1.05 begin
y:= sqr(a)*a/ (a*a+x*x);
writeln (x:6:2, y:8:4);
x:=x+0.1
end
end.
Условие х<1.05 соответствует каждому значению x плюс половина шага .
Пример цикла типа repeat ... until. Определить число n, при котором сумма квадратов натурального ряда чисел от 1 до n не превысит величину K, введенную с клавиатуры. Т.е.,
, где
.
program sum_sq; {Сумма квадратов натурального ряда }
uses crt;
var k, s, n : integer;
begin
clrscr ; writeln( 'Введите K' ); readln (k);
s:=0; n:=1;
repeat
s :=s+n*n; n := n+1;
until s > k;
writeln ('N= ', n : 3, ' s= ' , s : 5 );
end.
Цикл повторяется до тех пор, пока условие записанное после ключевого слова until, будет ложным (не выполняется). Как только это условие выполнится, происходит выход из цикла. После окончания цикла производится печать результата (оператор writeln).
Отметим, что цикл с предусловием (типа while) может не выполниться ни разу, цикл с постусловием repeat ... until выполнится по крайней мере 1 раз.
Когда число повторений цикла неизвестно заранее, применяются циклы с предусловием или с постусловием . Когда число повторений цикла известно заранее, как правило, применяется цикл типа for. Но любой цикл типа for можно заменить циклом с предусловием или постусловием.
Достарыңызбен бөлісу: |