Презентация по информатике Циклические алгоритмы


Циклические алгоритмы ВЕСНА ЛЕТО ОСЕНЬ ЗИМА Сколько циклических алгоритмов можно увидеть вокруг, если внимательно посмотреть на события: чередование времен года посещения магазинов, школы или секции, получение за контрольные оценок и др. а) Пока не сдал выпускные экзамены делай    начало      готовь уроки;      посещай школу;    конец;б) Пока есть желание, возможность и здоровье делайначалопосещай спортивные занятия;конец; Для реализации повторяющихся действий существуют специальные алгоритмические структуры, получившие название – циклы или команды повторения. Цикл типа Пока Цикл типа ДО Цикл типа ДЛЯ Условие Серия команд да нет Серия команд i, a, b, h Условие Серия команд да нет Виды циклических алгоритмов Цикл с предусловием Цикл с постусловием Цикл с параметром Виды циклических алгоритмов Цикл с предусловием Цикл с постусловием Цикл с параметром Цикл типа Пока Цикл типа ДО Цикл типа ДЛЯ Условие Серия команд да нет Условие Серия команд да нет Серия команд i,a,b,h Цикл с предусловием (типа «пока» ) Условие Серия команд да нет Пока (условие)нцСерия команд;кц while условие do beginСерия команд; end; Запись на языке программирования Pascal: Обратите вниманиеЦикл заканчивается, когда условие становится не верным (ложным).Если условие с самого начала ложно, то серия команд не выполняется ни разу. while условие do beginСерия команд; end; Условие Серия команд да нет В алгоритмическом языке нет команды которая могла бы описать данную структуру, но ее можно выразить с помощью других команд( ветвления). repeat Серия команд;until условие Цикл с постусловием ( типа «До») Запись на языке программирования Pascal: Обратите вниманиеСерия команд между repeat и until выполняется хотя бы один раз.Цикл заканчивается когда, условие становится верным (истинным). repeat Серия команд;until условие Циклы типа repeat и while, используются в программе, если надо провести некоторые повторяющиеся вычисления (цикл), однако число повторов заранее не известно и определяется самим ходом вычисления. Серия команд i:= а, b, h Для i от a до b шаг h делайНц Cерия команд;кц Цикл с параметром (типа «ДЛЯ») for i:= b downto a do begin Cерия команд; end; for i:= a to b do begin Cерия команд; end; h = 1 h = -1 Пример:Вычислить произведение чисел от 1 до 5 используя различные варианты цикла. Математическая модель:Р= 1· 2· 3· 4· 5=120 «Пока» нач i:=1 P:=1 i<=5 P:=P*i i:=i+1 кон P да нет Шаг Операция Р i Проверка условия 1 P:=1 1 2 i:=1; 1 1 3 i<=5 P:=P*I i:=i+1 1 1 1<=5, да (истина) 4 i<=5 P:=P*I i:=i+1 2 2 2<=5, да (истина) 5 i<=5 P:=P*I i:=i+1 6 3 3<=5, да (истина) 6 i<=5 P:=P*I i:=i+1 24 4 4<=5, да (истина) 7 i<=5 P:=P*I i:=i+1 120 5 5<=5, да (истина) 8 i<=5 P:=P*I i:=i+1 6<=5, нет (ложь) Шаг Операция Р i Проверка условия 1 P:=1; 1 2 i:=1; 1 1 3 P:=P*i; i:=i+1; i>5 1 2 2>5, нет (ложь) 4 P:=P*i i:=i+1 i>5 2 3 3>5, нет (ложь) 5 P:=P*i i:=i+1 i>5 6 4 4>5, нет (ложь) 6 P:=P*i i:=i+1 i>5 24 5 5>5, нет (ложь) 7 P:=P*i i:=i+1 i>5 120 6 6<=5, да (истина) «ДО» нач i:=1 P:=1 P:=P*i i:=i+1 i>5 кон P нет нач i:=1 P:=1 P:=P*i i:=i+1 i>5 кон P нет да «ДО» нач i:=1 P:=1 P:=P*i i:=i+1 i>5 кон P нет нач i:=1 P:=1 P:=P*i i:=i+1 i>5 кон P нет да « ДЛЯ» нач P:=1 I:= 1, 5 P:=P*i кон P Шаг Операция Р i Проверка условия 1 P:=1 1 2 i:=1 P:=P*i 1 1 3 i:=2 P:=P*i 2 2 4 i:=3 P:=P*i 6 3 5 i:=4 P:=P*i 24 4 6 i:=5 P:=P*i 120 5 «Пока» «ДО» « ДЛЯ» нач i:=1 P:=1 i<=5 P:=P*i i:=i+1 кон P да нет нач P:=1 I:= 1, 5 P:=P*i кон P нач i:=1 P:=1 P:=P*i i:=i+1 i>5 кон P нет да 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 нач I:= 1, 5,1 кон i I:= 5, 1,-1 кон i нач Для чисел в прямом порядке h = 1 Для чисел в обратном порядке h= - 1 В результате на экране будет:1 2 3 4 5 В результате на экране будет:5 4 3 2 1 Program Pr4; Var i: integer; Begin For i:=1 to 5 do Write (i); end. Program Pr5; Var i: integer; Begin For i:=5 downto 1 do Write (i); end. И так мы рассмотрели следующие вопросы:Алгоритмическая структура цикл;Виды алгоритмических структур:Цикл с предусловием;Цикл с постусловием;Цикл с параметром;Рассмотрели способы записи данных структур; Разобрали примеры решения задач с помощью этих структур.