Циклические алгоритмы
в языке программирования Pascal
Циклические алгоритмы
Заявленная тема- одна важнейших при постижении основ алгоритмизации. Предлагаемый проект предназначен для совместной работы преподавателя и учеников, поэтому в начале изучения управление получением информации по теме организует учитель. При подготовке к зачету такое право имеют уже сами учащиеся.
Всегда хочется преподать новый и непростой материал так, чтобы дети его прочувствовали, поэтому каждому разделу предпослан эпиграф, а знатоки циклов названы цикломенами. Существует достаточное количество литературных параллелей с понятием цикла, но все они достаточно объемны для помещения на слайды презентации. Поэтому мы их оставляем для представления на итоговом уроке по этой теме (после сданного ЦИКЛОМЕНАМИ зачета).
С уважением ,
Чапкевич Ирина Михайловна.
Циклические алгоритмы
Цикл
С предусловием
С постусловием
С параметром
Цикл с параметром
for
for
Эх, раз, еще раз, еще много-много раз…
Применяется для решения задач, в которых число повторений заранее известно
для k от n1 до n2
В заголовке цикла задаётся диапазон значений и шаг (+1 или -1)изменения параметра
начало
оператор 3
оператор1
оператор2
Тело цикла при наличии составного оператора заключается в операторные скобки
конец
Как только параметр цикла выходит за диапазон значений, цикл завершает свою работу и управление передаётся следующему после него оператору
Цикл с параметром
for
Задание: найти сумму натуральных чисел от 1 до n, n вводится с клавиатуры.
В заголовке цикла задаётся диапазон значений и шаг изменения параметра.
Program z1;
var n,I,s:integer;
Begin
write(‘n=?’); readln(n);
s:=0;
for I :=1 to n do
s:=s+I;
writeln(‘s=‘,s);
End.
Как только параметр цикла выходит за диапазон значений, цикл завершает свою работу и управление передаётся следующему после него оператору.
for
Цикл с параметром
Задание: вычислить факториал числа n, n вводится с клавиатуры.Организовать пошаговый вывод.
Program z2;
var n,I,s:integer;
Begin
write(‘n=?’); readln(n);
f:=1;
for I :=1 to n do
begin
f:=f*I;
writeln(I,’!=’,f);
end;
End.
Тело цикла при наличии составного оператора заключается в операторные скобки.
Цикл с предусловием
while
Пока-пока-покачиваясь…
Условие-
логическое выражение,
если его результат равен true,
то выполняется тело цикла.
Оператор While - оператор цикла с предусловием,
т.к.проверка условия выполнения тела цикла
производится в самом начале оператора.
условие
начало
При наличии составного оператора тело цикла заключается в операторные скобки.
оператор1
оператор3
оператор2
После выполнения тела цикла снова вычисляется выражение условия.
конец
Если результат равен false, то
происходит выход из цикла и
переход к первому после while оператору.
Цикл с предусловием
while
Задание: найти сумму натуральных чисел от 1 до n, n вводится с клавиатуры.
Условие-
логическое выражение,
если его результат равен true,
то выполняется тело цикла.
Program tsikl_while;
Var i, n, s: integer;
Begin
Writeln (’Введите n’);Readln (n);
s:=0; i:=1;
While i
begin
s:=s + i;
i:=i+ 1;
End;
Writeln (’Сумма элементов от 1 до
’ ,n,’равна’,s);
end.
При наличии составного оператора тело цикла заключается в операторные скобки.
После выполнения тела цикла снова вычисляется выражение условия.
Если результат равен false, то
происходит выход из цикла и
переход к первому после while оператору.
Цикл с постусловием
repeat
На недельку, до второго…
Условие проверяется после
очередного выполнения
операторов тела цикла.
Поэтому гарантируется хотя бы
однократное выполнение цикла.
оператор1
оператор2
Условие-
логическое выражение,
если его результат равен false,
то выполняется тело цикла.
условие
Если результат равен true, то
происходит выход из цикла и
переход к первому после repeat оператору.
оператор3
n; writeln(’!!!’); End. Если его результат равен false, то выполняется тело цикла. При наличии составного оператора тело цикла не заключается в операторные скобки. Если результат равен true, то происходит выход из цикла и переход к первому после repeat оператору. " width="640"
Цикл с постусловием
repeat
Задание: вычислить факториал числа n, n вводится с клавиатуры.Организовать пошаговый вывод.
Условие проверяется после
очередного выполнения
операторов тела цикла.
Program z2;
var n,I,s:integer;
Begin
write(‘n=?’); readln(n);
f:=1;i:=1;
repeat
f:=f*I;
writeln(I,’!=’,f);
i:=i+1;
until in;
writeln(’!!!’);
End.
Если его результат равен false,
то выполняется тело цикла.
При наличии составного оператора тело цикла не заключается в операторные скобки.
Если результат равен true, то
происходит выход из цикла и
переход к первому после repeat оператору.
Циклические алгоритмы
С предусловием
С постусловием
С параметром
Ты хорошо разобрался с циклами?
да
нет
Пока, до встречи на зачете!!!
Мы-знатоки циклов, т.е., ЦИКЛОМЕНЫ.
Это наша групповая фотография.
Цикламены