Цикл с параметром

Цикл с параметром используется, когда известно начальное значение переменной, конечное значение и шаг изменения равен 1 или –1, т.е. параметр увеличивается или уменьшается на единицу. Таким образом, цикл с параметром организует выполнение одного или нескольких операторов заранее определенное число раз (известное заранее)

I – параметр цикла

N – начальное значение параметра

К – конечное значение параметра

Выполняется следующим образом:

1. Параметру присваивается начальное значение N;
2. Проверка: Если значение параметра не больше (не меньше) конечного значения K, то переход на п.3 иначе п.6.
3. Выполняется тело цикла
4. Параметр цикла увеличивается (уменьшается) на 1
5. Переход на п.2
6. Выход из цикла

Использовать цикл for необходимо при заранее известном количестве повторений. Нельзя изменять параметр в теле цикла. При использовании кратных (вложенных) циклов применять разные переменные в качестве параметров. Определять до цикла значения всех используемых в нем переменных. Не ставить точку с запятой после do.

ПРИМЕР 1.

ПРИМЕР 2. Найти произведение первых k натуральных чисел, кратных трём.

Решение:
При составлении алгоритма учтем, что первое натуральное число, кратное 3, есть тройка, а все последующие больше предыдущего на 3.
1. Ввод k
2. P := 1 {здесь накапливаем произведение}
3. T := 0 {здесь будут числа, кратные 3}
4. I := 1
5. Если I > k, переход к шагу 10
6. T := T + 3
7. P := P * T
8. I := I + 1
9. Перейти к шагу 5
10. Вывод P
11. Конец

ПРИМЕР 3. Вводятся 10 чисел, посчитать среди них количество положительных.

program cycle_for1;
var i,kn:byte; x:real;
begin
kn:=0;
for i:=1 to 10 do
begin
writeln(‘Введите ‘,i,’ число: ‘);
readln(x);
if x>0 then kn:=kn+1 {увеличиваем количество на 1}
end;
writeln(‘Вы ввели ‘,kn,’ положительных чисел.’);
readln
end.

ПРИМЕР 4. Напечатать буквы от ‘Z’ до ‘A’.

program cycle_for2;
var c:char;
begin
for c:=’Z’ downto ‘A’ do write(c);
readln
end.

ПРИМЕР 5. Вычислить N-е число Фиббоначчи. Числа Фиббоначчи строятся следующим образом: F(0)=F(1)=1; F(i+1)=F(i)+F(i-1); для i>=1. Это пример вычислений по рекуррентным формулам.

program Fib;
var a,b,c:word; i,n:byte;
begin
write(‘введите номер числа Фиббоначчи ‘);
readln(N);
a:=1; {a=F(0), a соответствует F(i-2)}
b:=1; {b=F(1), b соответствует F(i-1)}
for i:=2 to N do
begin
c:=a+b; {c соответствует F(i)}
a:=b; b:=c; {в качестве a и b берется следующая пара чисел}
end;
writeln(N,’-е число Фиббоначчи =’,b); {для N>=2 b=c}
readln
end.
Добавить комментарий