Просмотр содержимого документа
«Презентация "Алгоритмизация. Разветвляющиеся алгоримы"»
Основы алгоритмизации
Разветвляющиеся алгоритмы
Ветвление
Разветвляющий алгоритм – это алгоритм, в котором в зависимости от некоторого условия выполняется либо одна, либо другая последовательность действий (ветвь).
Полная форма ветвления
Начало
Алгоритмический язык (КуМир):
Условие
да
нет
если то иначе все
Серия команд 2
Серия команд 1
Конец
Ветвление
Разветвляющий алгоритм – это алгоритм, в котором в зависимости от некоторого условия выполняется либо одна, либо другая последовательность действий (ветвь).
Неполная форма ветвления
Начало
Алгоритмический язык (КуМир):
да
нет
Условие
если то все
Серия команд
Конец
Задача. Исполнитель Робот находится внутри прямоугольника из двух клеток, расположенных вертикально и огороженных стеной. В какой именно клетке находится Робот, неизвестно. Необходимо перевести его в другую клетку.
использовать Робот алг Другая клетка нач . если сверху стена . . то вниз . . иначе вверх . все кон
Задача. Исполнитель Робот находится в одном из углов рабочего поля, огороженного стеной. В каком именно углу находится Робот, неизвестно. Необходимо вывести его из угла.
использовать Робот алг Из угла нач . если слева стена . . то вправо . все . если справа стена . . то влево . все . если снизу стена . . то вверх . все . если сверху стена . . то вниз . все кон
1)
2)
3)
4)
Где окажется Робот после выполнения данного алгоритма в каждом случае?
B . . то MAX := A . . иначе MAX := B . все . вывод "Большее число " , MAX кон начало ввод A, B нет да AB MAX:=A MAX:=B вывод MAX конец Введите два числа: 5 6 Большее число: 6 " width="640"
Задача. Составить алгоритм, определяющий большее из двух значений переменных.
1 способ
алг БИД1 нач вещ A , B , MAX . вывод "Введите два числа: " . ввод A , B . если A B . . то MAX := A . . иначе MAX := B . все . вывод "Большее число " , MAX кон
начало
ввод A, B
нет
да
AB
MAX:=A
MAX:=B
вывод MAX
конец
Введите два числа: 5 6
Большее число: 6
MAX . . то MAX := B . все . вывод "Большее число: " , MAX кон ввод A, B MAX:=A да нет BMAX MAX:=B вывод MAX конец Введите два числа: 5 6 Большее число: 6 " width="640"
Задача. Составить алгоритм, определяющий большее из двух значений переменных.
2 способ
начало
алг БИД2 нач вещ A , B , MAX . вывод "Введите два числа: " . ввод A , B . MAX := A . если B MAX . . то MAX := B . все . вывод "Большее число: " , MAX кон
ввод A, B
MAX:=A
да
нет
BMAX
MAX:=B
вывод MAX
конец
Введите два числа: 5 6
Большее число: 6
MAX - - - 20 30 10 MAX:=B 10 3010 (да) да нет CMAX 30 MAX:=C 2030 (нет) вывод MAX конец Большее число 30 " width="640"
Задача. Дан алгоритм нахождения большего из трех значений переменных. Составьте таблицу значений переменных этого алгоритма при A=10, B=30, C=20.
начало
ввод A,B,C
Шаг алго-ритма
Переменные
A
1
B
2
C
3
4
MAX
Условие
5
-
MAX:=A
нет
да
BMAX
-
-
-
20
30
10
MAX:=B
10
3010 (да)
да
нет
CMAX
30
MAX:=C
2030 (нет)
вывод MAX
конец
Большее число 30
MAX . . то MAX := B . все . если C MAX . . то MAX := C . все . вывод "Большее число " , MAX кон начало ввод A,B,C MAX:=A да нет BMAX MAX:=B да нет CMAX MAX:=C вывод MAX конец Ведите три числа 10 30 20 Большее число 30 " width="640"
Задача. Дан алгоритм нахождения большего из трех значений переменных. Составьте программу на языке КУМИР.
алг БИТ нач . вещ A , B , C , MAX . вывод "Ведите три числа " . ввод A , B , C . MAX := A . если B MAX . . то MAX := B . все . если C MAX . . то MAX := C . все . вывод "Большее число " , MAX кон
начало
ввод A,B,C
MAX:=A
да
нет
BMAX
MAX:=B
да
нет
CMAX
MAX:=C
вывод MAX
конец
Ведите три числа 10 30 20
Большее число 30