Моделирование ветвящихся процессов
Такой тип алгоритма формируется в тех случаях, когда поставленная задача решается неоднозначно. Это значит, что в зависимости от некоторого условия должны выполняться разные действия.
Как условия, так и действия определяются конкретной задачей. Программист должен правильно поставить условие к решаемой задаче и предложить конкретные действия на каждое условие. Действия, выполняемые при одном условие, отличаются от действий другого условия.
При работе программы правильно поставленное условие проверяет микропроцессор, а точнее АЛУ – арифметико-логическое устройство процессора. По факту выполняемого условия выбираются требуемые действия. Иначе говоря, процессор имеет возможность выбора из предложенных действий.
Условие всегда представляет собой сравнение двух величин. Это могут быть две переменные, или переменная и константа, или текстовые величины. Для сравнения используются разные знаки отношений:
, (равно) , != (не равно), =
Условие в программе записывается с помощью специальных операторов и каждое условие подразумевает два ответа: ДА и НЕТ. Значит блок проверки условия имеет две линии выходной информации, образуя этим разветвляющийся алгоритм.
Существуют разные виды ветвления:
ПОЛНАЯ КОМАНДА ВЕТВЛЕНИЯ
Полная команда ветвления организуется в тех случаях, когда в задаче формируется два противоположных условия и на каждое из них есть свои качественные действия.
Общий вид постановки задачи ветвления:
Если условие А то выполняй действие 1.1
действие 1.2
--------------
действие 1.N
Если условие B то выполняй действие 2.1
действие 2.2
--------------
действие 2.N
В блок-схеме графическое изображение блока проверки условия – ромб. Этот блок имеет одну линию входной информации и две линии выходной информации, которые и образуют ветвление.
Так как в полной команде ветвления формируемые условия прямо противоположны, то достаточно проверить выполнение только одного из двух условий. Если проверяемое условие не выполняется, то автоматически выполняется второе условие, так как третьего не существует.
Нет
Условие А
Да
Действие 1.1 Действие 2.1
Действие 1.2 Действие 2.2
Действие 1.N Действие 2.N
Данная блок-схема отражает план будущей программы полной команды ветвления. В зависимости от выполнения условия А, процессор выберет дальнейший путь прохождения алгоритма – ветка ДА или ветка НЕТ. То есть в каждом конкретном случае будет выполняться только одна ветка.
Алгоритм Программа записываются так:
на РАЯ на языке Python
Если усл.А тогда if усл.А :
Действие 1.1 Действие 1.1
Действие 1.2 Действие 1.2
………………… ………………..
Действие 1.N Действие 1.N
Иначе else:
Действие 2.1 Действие 2.1
Действие 2.2 Действие 2.2
………………. ……………….
Действие 2.N Действие 2.N
Конец ветвления
Моделирование ветвящихся процессов
Сокращённая форма команды ветвления
Когда в задаче сформулировано два условия, но по первому необходимо выполнить действие или серию команд, а по второму – ничего не предпринимать (ничего не делать, оставить величину без изменения), тогда в алгоритме решения задачи используется сокращённая форма команды ветвления.
Постановка задачи должна выглядеть следующим образом:
если условие А, то выполни действия А;
если условие В, то ничего не делай.
Графический вид команды:
нет
усл. А
да
действие А1
действие Аn
Запись команды на языке программирования Python:
д
ля серии команд по условию А
if усл. А :
действие А1
……………
действие Аn
е
сли по условию А выполняется одна команда
if усл. А : действие А
Моделирование ветвящихся процессов
Команда выбора действий
Когда в задаче сформулировано три и более условий и по каждому предписывается одна исполнительная команда, тогда в алгоритме решения задачи применяется команда выбора действий.
Постановка задачи
если условие 1, то действие 1
если условие 2, то действие 2
если условие 3, то действие 3
если условие 4, то действие 4
…………………………………………………………………………………
е
сли условие N, то действие N
Графический вид команды
………..
З
апись в
Python if усл. 1 : действие 1
if усл. 2 : действие 2
if усл. 3 : действие 3
………
if усл. N : действие N