«Назад»
Цикл While (пока)
Цикл с предусловием
program cikl_while;
uses crt;
var k:integer;
begin {начало программы}
cls;
k:=1;
while k<=5 do {условие, пока к не больше 5 входим в цикл}
begin {начало цикла}
writeln('k=',k);
k:=k+1; {параметр к величиваем сами}
end; {конец цикла}
end. {конец программы}
Цикл While работает так. Сначала вычисляется значение условия (к=1 и оно меньше 5)
Если оно истинно, а оно истинно, то выполняется тело цикла. В нашем примере
writeln('k=',k);
k:=k+1;
Как только достигнет конец цикла (в нашем примере строка: к:=к+1), мы вновь возвращаемся к заголовку
while k<=5 do, где снова проверяется выполнение условия (k<=5). Если значение истинно, то тело
цикла выполняется еще раз, после чего вновь проверяется условие. Если проверка дала «ложь»,
то выполнение цикла while завершается и мы уходим на конец программы (end.)
Если изначально условие ложно, например k:=6, мы вообще не войдем в тело цикла. Если условие всегда
истинно (в теле цикла исключить строку к:=к+1), цикл будет повторяться бесконечно, т.е. мы не выйдем из цикла.
В чем отличие цикла for от цикла While? В цикле for параметр цикла всегда меняется на единицу,
т. е. параметр цикла for имеет тип integer. В цикле While параметр цикла может принимать любое значение
т.е. тип вещественный (real).
Пример.
Вывести на экран монитора числа 0 0,5 1,0 1,5 2,0 2,5 3,0 3,5
Решение.
program cikl_while;
uses crt;
var k:real;
begin
cls;
k:=0;
while k<=3.5 do
begin
writeln(k);
k:=k+0.5;
end;
end.
Блок – схемы цикла While.
Задачи.
Задача №1. Найти сумму и произведение однозначных натуральных чисел.
Задача №2. Найти сумму и произведение нечетных однозначных натуральных чисел.
Задача №3. Найти сумму и произведение четных однозначных натуральных чисел.
Задача №4. Найти сумму ряда 1+1/2+1/3+1/4+…+1/n
Задача №5. Найти произведение ряда 1+1/2+1/3+1/4+…+1/n
Задача №6.Сколько раз нужно сложить число 0,5 само с собой до тех пор, пока сумма не станет больше или равна 4?
«Назад»
«Вверх»
|