224.50K
Category: programmingprogramming

Разветвляющиеся алгоритмы

1.

Разветвляющиеся
алгоритмы.
Кондрина А.В.
учитель информатики и ИКТ

2.

Сформулируйте
определение
разветвляющегося
алгоритма ?

3.

• Разветвляющийся алгоритм
– алгоритм, в котором в
зависимости от выполнения
или не выполнения некоторого
условия совершается либо
одна, либо другая
последовательность действий.

4.

Какие формы
ветвления вы знаете?

5.

1)Полная;
2)Неполная.

6.

Как записывается полная(неполная)
форма ветвления на языке Паскаль?
3) Case <выражение> of
значение 1:
then <серия команд 1 >
else <серия команд 2 >; выполняемый оператор 1;
значение 2:
выполняемый оператор 2;
------------значение n:
2) If <условие>
then <серия команд>;
выполняемый оператор n;
end;
1) If <условие>

7.

Как выглядит блок-схема
полного(неполного) ветвления?
1)
2)
вход
да
p
нет
к
k1
s2
s1
s1
выход
3)
вход
вход
k2
s2
p
s
выход
kn
.. si .. sn
выход
вход
4)
ki
выход

8.

начало
Ввод
a,b
нет
a>b
да
Вывод
a>b
c:=a+b
c:=2*c
Вывод
c
конец
Program sum;
Var a, b, c:integer;
Begin
readln(a,b);
if a>b then

9.

Составной оператор
-это группа операторов,
отделенных друг от друга точкой с
запятой и ограниченная Begin….End.
Пример:
....
Begin {начало}
...
{группа операторов}
End; {конец}
....

10.

начало
Ввод
a,b
нет
a>b
да
Вывод
a>b
c:=a+b
c:=2*c
Вывод
c
конец
Program sum;
Var a, b, c:integer;
Begin
readln(a,b);
if a>b then
begin
writeln(’a>b’); группа
c:=a+b;
операторов
end;
c:=2*c;
writeln(c);
End.

11.

Пример 1: имеется коробка карандашей, надо
поточить все карандаши в этой коробке.
начало
начало
точить 1-ый карандаш
взять карандаш
точить 2-ой карандаш
точить карандаш
точить 3-ий карандаш
точить 4-ый карандаш
точить 5-ый карандаш
точить 6-ой карандаш
конец
нет
коробка
пуста?
да
конец

12.

Циклические
алгоритмы

13.

• Алгоритм,
предусматривающий
многократное повторение
одного и того же действия над
новыми данными, называется
циклическим.

14.

Различают три вида циклов:
-Цикл с постусловием;
-Цикл с предусловием;
-Цикл с параметром.

15.

Пример 1: имеется коробка карандашей, надо
поточить все карандаши в этой коробке.
начало
начало
точить 1-ый карандаш
взять карандаш
точить 2-ой карандаш
точить карандаш
точить 3-ий карандаш
точить 4-ый карандаш
точить 5-ый карандаш
точить 6-ой карандаш
конец
нет
коробка
пуста?
да
конец

16.

Цикл с постусловием
вход
s
нет
р
да
выход
Особенности:
1) тело цикла
расположено до
проверки условия
2)
цикл
выполняется
хотя бы 1 раз

17.

Цикл с постусловием
( цикл - до)
Repeat
<оператор 1>;
<оператор 2>;
.....................
Until <условие>;

18.

Пример 2: собирай грибы, пока в корзине
есть место.
начало
есть место ?
да
собирай грибы
конец
нет

19.

Цикл с предусловием
Особенности:
вход
нет
р
да
s
выход
1) тело цикла
расположено после
проверки условия
2)
Цикл может
ни разу не
выполниться

20.

Цикл с предусловием
(цикл - пока)
While <условие> do <оператор>

21.

Пример 3: описать процесс обучения в школе.
начало
K:=1
K<=11
Учебный год
K:=K+1
конец

22.

цикл с параметром
вход
Задание начальных
параметров цикла
Проверка условия
да
Тело цикла
Задание новых
значений параметров
выход
Особенности:
1) число повторений
цикла известно
нет
заранее или может
быть вычислено
2)
параметр только
целого типа
(integer)

23.

параметр
цикл с параметром
значение 1 значение 2
For i:=1 to n do <оператор>;
to автоматически увеличивает
значение параметра на 1
Если <значение 1>
> <значения 2>, то
For i:=n downto 1 do <оператор>;
downto автоматически уменьшает
значение параметра на 1
English     Русский Rules