Простейший циклический алгоритм, записанный на алгоритмическом языке Подготовка к ГИА(ОГЭ) по информатике Задания А9
Цикл типа Пока Цикл типа ДО Цикл типа ДЛЯ Условие Серия команд да нет Серия команд i, a, b, h Условие Серия команд да нет Виды циклических алгоритмов Цикл с предусловием Цикл с постусловием Цикл с параметром Необходимо знать
Цикл с предусловием Цикл с постусловием Цикл с параметром Цикл типа Пока Цикл типа ДОЦикл типа ДЛЯ Условие Серия команд да нет Условие Серия команд да нет Серия команд i,a,b,h
Цикл с предусловием (типа «пока» ) Условие Серия команд да нет Пока (условие) нц Серия команд; кц while условие do begin Серия команд; end; Запись на языке программирования Pascal:
Обратите внимание 1. Цикл заканчивается, когда условие становится не верным (ложным). 2. Если условие с самого начала ложно, то серия команд не выполняется ни разу. 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 Проверка условия 1P:=11 2i:=1;11 3i<=5 P:=P*I i:=i <=5, да (истина) 4i<=5 P:=P*I i:=i <=5, да (истина) 5i<=5 P:=P*I i:=i <=5, да (истина) 6i<=5 P:=P*I i:=i <=5, да (истина) 7i<=5 P:=P*I i:=i <=5, да (истина) 8i<=5 P:=P*I i:=i+1 6<=5, нет (ложь)
Шаг ОперацияРi Проверка условия 1P:=1;1 2i:=1;11 3P:=P*i; i:=i+1; i>5 12 2>5, нет (ложь) 4P:=P*i i:=i+1 i> >5, нет (ложь) 5P:=P*i i:=i+1 i> >5, нет (ложь) 6P:=P*i i:=i+1 i> >5, нет (ложь) 7P:=P*i i:=i+1 i> <=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 Проверка условия 1P:=11 2i:=1 P:=P*i1 1 3i:=2 P:=P*i2 2 4i:=3 P:=P*i6 3 5i:=4 P:=P*i24 4 6i:=5 P:=P*i120 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; Begin P:=1; i:=1; While i<=5 do begin P:=P*i; i:=i+1; end; Write (P=, P); end. Program Pr2; Var i: integer; Begin P:=1; i:=1; Repeat P:=P*i; i:=i+1; until i>5; Write ( P=, P); end. Program Pr3; Var i: integer; Begin P:=1; For i:=1 to 5 do P:=P*i; Write (P=, P); end. «Пока» «ДО» « ДЛЯ»
1.Самостоятельно:
2. Самостоятельно:
3. Самостоятельно:
4. Самостоятельно:
5. Самостоятельно:
6. Самостоятельно:
7. Самостоятельно:
Ключи: 1. Ответ Ответ Ответ Ответ Ответ Ответ Ответ 64.