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