Различные варианты программирования циклического алгоритма.
Ключевые слова:
Особенностью программирования является то, что для решения одной и той же задачи могут быть созданы разные программы. Вы могли убедиться в этом, программируя ветвления. Рассмотрим пример, показывающий, что и циклический алгоритм может быть запрограммирован разными способами.
Пример. Напишем программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введён ноль) и подсчёт количества введённых положительных и отрицательных чисел.
Так как здесь в явном виде задано условие окончания работы, то воспользуемся оператором repeat.
program n_17;
var n, kl, k2: integer;
begin
kl:=0;
k2:=0;
repeat
write (' Введите целое число»') ;
readln (n);
if n>0 then kl:=kl+l;
if n<0 then k2:=k2+l;
until n=0;
writeln ('Введено:');
writeln ('положительных чисел - ', kl);
writeln ('отрицательных чисел - ', k2);
end.
Имеющееся условие окончания работы можно достаточно просто преобразовать в условие продолжения работы — работа продолжается, пока п Ф О. И мы можем воспользоваться оператором while:
program n_l8;
var n, kl, k2: integer;
begin
kl:=0;
k2:=0;
while n<>0 do
begin
writeln (' Введите целое число»');
r ead (n);
if n>0 then kl:=kl+l;
if n<0 then k2:=k2+l;
end;
writeln ('Введено:');
writeln ('положительных - ', kl);
writeln ('отрицательных - ', k2);
end.
В рассмотренном примере число повторений тела цикла заранее не известно, и поэтому оператор for здесь применить нельзя. Если число повторений тела цикла известно, то лучше воспользоваться оператором for. Вместе с тем любая задача, в которой число повторений тела цикла определено заранее, может быть запрограммирована с помощью любого из трёх рассмотренных выше циклов.
Вопросы и задания:
1.Ознакомьтесь с материалами презентации к параграфу, содер
жащейся в электронном приложении к учебнику. Используйте
эти материалы при подготовке ответов на вопросы и выполне
нии заданий.
2. Проанализируйте следующий цикл:
while a<b do
с:=a=b; В чём его особенность?
Самое главное
В языке Паскаль имеются три вида операторов цикла: while (цикл-ПОКА), repeat (цикл-ДО), for (цикл с параметром). Если число повторений тела цикла известно, то лучше воспользоваться оператором for; в остальных случаях используются операторы while и repeat.