АЛГОРИТМИЧЕСКАЯ КОНСТРУКЦИЯ ВЕТВЛЕНИЕ
ОСНОВЫ АЛГОРИТМИЗАЦИИ
Ключевые слова
- ветвление
- разветвляющийся алгоритм
- простое условие
- составное условие
Ветвление
Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия («да» или «нет») предусмотрен выбор одной из двух последовательностей действий (ветвей).
Алгоритмы, в основе которых лежит структура «ветвление», называют разветвляющимися.
Полная форма ветвления
если
то
иначе
все
Условие
Действие 1
Действие 2
Пример
алг правописание частиц НЕ, НИ
нач
если частица под ударением
то писать НЕ
иначе писать НИ
все
кон
Сокращённая форма ветвления
если
то
все
Условие
Действие 1
Пример:
алг сборы на прогулку
нач
если на улице дождь
то взять зонтик
все
кон
B А больше В A = B А больше или равно В A B А не равно В " width="640"
Операции сравнения
A B
А меньше В
A B
А меньше или равно В
A = B
А равно В
A B
А больше В
A = B
А больше или равно В
A B
А не равно В
0 Y:=-X Y:=X Y Конец " width="640"
Вычисление функции f( x ) =| x |
Начало
Список данных
X, Y - вещ
Х
да
нет
Х 0
Y:=-X
Y:=X
Y
Конец
=A) and (Xнет да НЕТ ДА Ответ : Не принадлежит Ответ : Принадлежит A=2 X=4 B=6 B=4 X=6 " width="640"
Простые и составные условия
Простые условия состоят из одной операции сравнения. Составные условия получаются из простых с помощью логических связок and ( и ), or ( или ), not ( не ).
Пример. Алгоритм определения принадлежности точки Х отрезку [ A; B ].
A, B, X
(X=A) and (X
нет
да
НЕТ
ДА
Ответ : Не принадлежит
Ответ : Принадлежит
A=2
X=4
B=6
B=4
X=6
Y B Y Y = B Y = A Y:=A Шаг Константы А В 10 1 С 2 Переменная 30 Условие Y 20 3 4 нет да BY Y:=B 10 30 10 (Да) да нет CY 30 20 30 (Нет) Y:=C Ответ : Y = 30 " width="640"
Наибольшая из 3-х величин
Переменной Y присваивается значение большей из трёх величин A , B и C .
C Y
B Y
Y = B
Y = A
Y:=A
Шаг
Константы
А
В
10
1
С
2
Переменная
30
Условие
Y
20
3
4
нет
да
BY
Y:=B
10
30 10 (Да)
да
нет
CY
30
20 30 (Нет)
Y:=C
Ответ : Y = 30
Решение линейного уравнения ax + b = 0
Список данных
a, b, x - вещ
a, b
да
нет
a 0
да
нет
b0
x:= - b/a
Корней нет
Любое число
Разветвляющийся алгоритм для Робота
В какую клетку переместится Робот после выполнения следующего фрагмента алгоритма.
если справа свободно или снизу свободно
то закрасить
все
если справа стена
то влево
все
если слева стена
то вправо
все
б
а
Самое главное
Для записи любого алгоритма достаточно трёх основных алгоритмических конструкций (структур): следования, ветвления, повторения.
Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия (да или нет) предусмотрен выбор одной из двух последовательностей действий (ветвей).
Алгоритмы , в основе которых лежит структура «ветвление», называют разветвляющимися .
Y Нет А =0 K:=K+1 Y:=B B =0 Нет Да K:=K+1 да нет CY K Y:=C " width="640"
Вопросы и задания
Известно, что 31 января 2011 года приходится на
понедельник. Какие значения должны быть присвоены
литерной переменной y в алгоритме, определяющем
день недели для любого числа (chislo) января 2011
года?
chislo:= chislo mod 7
если chislo=3 то у:='…‘
если chislo=4 то у:='…‘
если chislo=5 то у:='…‘
если chislo=6 то у:='…‘
если chislo=0 то у:='…‘
если chislo=1 то у:='…‘
если chislo=2 то у:='…'
Дополните алгоритм из примера 9 так, чтобы с его
помощью можно было найти наибольшую из четырёх
величин A, B, C и D .
Приведите пример разветвляющегося алгоритма из
повседневной жизни.
Какие алгоритмы называют разветвляющимися?
Запишите алгоритм определения принадлежности
точки Х отрезку [ А; В ] с использованием комбинации из
двух ветвлений.
Определите, есть ли среди цифр заданного целого
трёхзначного числа одинаковые
Запишите алгоритм правописания приставок,
начинающихся с буквы «з» («с»).
Составьте алгоритм, с помощью которого можно
определить, существует ли треугольник с длинами
сторон a, b, с .
Запишите алгоритм определения количества чётных
чисел среди заданных целых чисел А, В и С .
Составьте алгоритм, с помощью которого можно
определить, является ли треугольник с заданными
длинами сторон a, b, с равносторонним.
Даны две точки на плоскости.
Определите, какая из них находится ближе к началу
координат.
Составьте алгоритм возведения чётного числа в
квадрат, а нечётного - в куб.
Какая задача решается с помощью следующего
алгоритма?
Y:=A
К :=0
да
нет
Да
BY
Нет
А =0
K:=K+1
Y:=B
B =0
Нет
Да
K:=K+1
да
нет
CY
K
Y:=C
Опорный конспект
Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия (да или нет) предусмотрен выбор одной из двух последовательностей действий (ветвей).
Алгоритмы , в основе которых лежит структура «ветвление», называют разветвляющимися .
Условие
Условие
Действие 1
Действие 2
Действие 1
Сокращённая форма ветвления
Полная форма ветвления
Источники информации
- http://school-sector.relarn.ru/dckt/projects/kolobok3/3road.jpg - развилка дорог
- http://img-fotki.yandex.ru/get/4608/sovaryaz-sova.1/0_5c8b9_728f857d_L - развилка дорог
- http://wallpaper.goodfon.ru/image/101271-800x600.jpg - дождь
- http://wiki.vspu.ru/_media/workroom/ikto/m5/tatiana_du/0004-007-razrjady-chastits.png - Незнайка
- http://www.shemetov.ru/images/consult.jpg - сравнение