Различные варианты программирования циклического алгоритма. Циклические алгоритмы
Скачать 182.51 Kb.
|
Циклические алгоритмы Сколько циклических алгоритмов можно увидеть вокруг, если внимательно посмотреть на события: чередование времен года
посещения магазинов, школы или секции, получение за контрольные оценок и др. а) Пока не сдал выпускные экзамены делай начало готовь уроки; посещай школу; конец; б) Пока есть желание, возможность и здоровье делай начало посещай спортивные занятия; конец; Для реализации повторяющихся действий существуют специальные алгоритмические структуры, получившие название – циклы или команды повторения. Цикл типа Пока Цикл типа ДО Цикл типа ДЛЯ Условие Серия команд да нет Серия команд i, a, b, h Условие Серия команд да нет Виды циклических алгоритмов Цикл с предусловием Цикл с постусловием Цикл с параметром Виды циклических алгоритмов Цикл с предусловием Цикл с постусловием Цикл с параметром Цикл типа Пока Цикл типа ДО Цикл типа ДЛЯ Условие Серия команд да нет Условие Серия команд да нет Серия команд i,a,b,h Цикл с предусловием (типа «пока» ) Условие Серия команд да нет Пока (условие) нц Серия команд; кц while условие do begin Серия команд; end; Запись на языке программирования Pascal: Обратите внимание
while условиеdo begin Серия команд; end; Условие Серия команд да нет В алгоритмическом языке нет команды которая могла бы описать данную структуру, но ее можно выразить с помощью других команд( ветвления). repeat Серия команд; until условие Цикл с постусловием ( типа «До») Запись на языке программирования Pascal: Обратите внимание
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 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 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 до 5 в: a) прямом порядке; b) обратном порядке. Математическая модель: a) 1 2 3 4 5 b) 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
И так мы рассмотрели следующие вопросы:
|