Циклические алгоритмы
Сколько циклических алгоритмов можно увидеть вокруг, если внимательно посмотреть на события: чередование времен года
посещения магазинов, школы или секции, получение за контрольные оценок и др.
а) Пока не сдал выпускные экзамены делай начало готовь уроки; посещай школу; конец;б) Пока есть желание, возможность и здоровье делайначалопосещай спортивные занятия;конец;
Для реализации повторяющихся действий существуют специальные алгоритмические структуры, получившие название – циклы или команды повторения.
Виды циклических алгоритмов Цикл с предусловием Цикл с постусловием Цикл с параметром Цикл типа Пока Цикл типа ДО Цикл типа ДЛЯ
Виды циклических алгоритмов Цикл с предусловием Цикл с постусловием Цикл с параметром Цикл типа Пока Цикл типа ДО Цикл типа ДЛЯ
Цикл с предусловием (типа «пока» ) Пока (условие)нцСерия команд;кц Запись на языке программирования Pascal: while условие do beginСерия команд; end;
while условие do beginСерия команд; end; Обратите вниманиеЦикл заканчивается, когда условие становится не верным (ложным).Если условие с самого начала ложно, то серия команд не выполняется ни разу.
Цикл с постусловием ( типа «До») В алгоритмическом языке нет команды которая могла бы описать данную структуру, но ее можно выразить с помощью других команд( ветвления). Запись на языке программирования Pascal: repeat Серия команд;until условие
repeat Серия команд;until условие Обратите вниманиеСерия команд между repeat и until выполняется хотя бы один раз.Цикл заканчивается когда, условие становится верным (истинным).
Циклы типа repeat и while, используются в программе, если надо провести некоторые повторяющиеся вычисления (цикл), однако число повторов заранее не известно и определяется самим ходом вычисления.
Цикл с параметром (типа «ДЛЯ») Для i от a до b шаг h делайНц Cерия команд;кц for i:= a to b do begin Cерия команд; end; for i:= b downto a do begin Cерия команд; end;
Пример:Вычислить произведение чисел от 1 до 5 используя различные варианты цикла. Математическая модель:Р= 1· 2· 3· 4· 5=120
«Пока»
«ДО»
« ДЛЯ»
«Пока» Program Pr1;Var i: integer;BeginP:=1;i:=1;While i<=5 do begin P:=P*i; i:=i+1;end;Write (‘P=’, P);end. Program Pr2;Var i: integer;BeginP:=1;i:=1;Repeat P:=P*i;i:=i+1;until i>5; Write (‘ P=’, P);end. Program Pr3;Var i: integer;BeginP:=1;For i:=1 to 5 do P:=P*i;Write (‘P=’, P);end.
Задача Вывести на экран числа от 1 до 5 в:a) прямом порядке;b) обратном порядке. Математическая модель:a) 1 2 3 4 5b) 5 4 3 2 1
Для чисел в прямом порядке h = 1 Для чисел в обратном порядке h= - 1
В результате на экране будет:1 2 3 4 5 В результате на экране будет:5 4 3 2 1
И так мы рассмотрели следующие вопросы:Алгоритмическая структура цикл;Виды алгоритмических структур:Цикл с предусловием;Цикл с постусловием;Цикл с параметром;Рассмотрели способы записи данных структур; Разобрали примеры решения задач с помощью этих структур.