1 added
1 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Статья рассказывает про алгоритмы с разветвлённой структурой. Читатель узнает, чем их решение отличается от решения линейных алгоритмов, как выглядит программный способ записи таких алгоритмов, а также какова будет блок-схема.</p>
1
<p>Статья рассказывает про алгоритмы с разветвлённой структурой. Читатель узнает, чем их решение отличается от решения линейных алгоритмов, как выглядит программный способ записи таких алгоритмов, а также какова будет блок-схема.</p>
2
<p>В<a>предыдущей статье</a>шла речь об алгоритмах, их особенностях и свойствах. Особое внимание было уделено линейной структуре как самому простому способу реализации. Сегодня поговорим о более сложных алгоритмах, обладающих разветвлённой структурой. Но прежде чем продолжать, следует кое-что вспомнить.</p>
2
<p>В<a>предыдущей статье</a>шла речь об алгоритмах, их особенностях и свойствах. Особое внимание было уделено линейной структуре как самому простому способу реализации. Сегодня поговорим о более сложных алгоритмах, обладающих разветвлённой структурой. Но прежде чем продолжать, следует кое-что вспомнить.</p>
3
<p><strong>Алгоритм</strong>- это ясный перечень действий, который направлен на решение какой-либо задачи. Одно из свойств алгоритма -<strong>дискретность</strong>. Дискретность связана с наличием в алгоритмической последовательности ряда операций (этапов, действий), выполняемых пошагово, то есть дискретно. Алгоритм обладает свойством дискретности, так как он представляет собой процесс решения задачи в виде последовательного выполнения простых шагов. И каждое действие исполняется лишь после окончания исполнения предыдущего. Также предполагается наличие определённых исходных данных и результата выполнения.</p>
3
<p><strong>Алгоритм</strong>- это ясный перечень действий, который направлен на решение какой-либо задачи. Одно из свойств алгоритма -<strong>дискретность</strong>. Дискретность связана с наличием в алгоритмической последовательности ряда операций (этапов, действий), выполняемых пошагово, то есть дискретно. Алгоритм обладает свойством дискретности, так как он представляет собой процесс решения задачи в виде последовательного выполнения простых шагов. И каждое действие исполняется лишь после окончания исполнения предыдущего. Также предполагается наличие определённых исходных данных и результата выполнения.</p>
4
<p><strong>Блок-схема</strong>- графический способ описания алгоритмов. Графическое представление обеспечивает наглядность и упрощает запись, делая последовательность более понятной. При использовании схемы каждому действию соответствует определённая геометрическая фигура (эти фигуры называют блоками). Вот наиболее часто употребляемые:</p>
4
<p><strong>Блок-схема</strong>- графический способ описания алгоритмов. Графическое представление обеспечивает наглядность и упрощает запись, делая последовательность более понятной. При использовании схемы каждому действию соответствует определённая геометрическая фигура (эти фигуры называют блоками). Вот наиболее часто употребляемые:</p>
5
<h2>Ещё раз о линейности</h2>
5
<h2>Ещё раз о линейности</h2>
6
-
<p>Линейная последовательность - самая простая из возможных структур. При наличии линейности команды выполняются в чёткой последовательности и в порядке их записи, то есть друг за другом. Вот линейная алгоритмическая последовательность посадки дерева: 1) выкапывание ямки в земле; 2) размещение в ямке саженца; 3) закапывание ямки; 4) поливание места посадки водой.</p>
6
+
<p>Линейная последовательность - самая проста�� из возможных структур. При наличии линейности команды выполняются в чёткой последовательности и в порядке их записи, то есть друг за другом. Вот линейная алгоритмическая последовательность посадки дерева: 1) выкапывание ямки в земле; 2) размещение в ямке саженца; 3) закапывание ямки; 4) поливание места посадки водой.</p>
7
<p>Такой линейный алгоритм имеет следующую блок-схему:</p>
7
<p>Такой линейный алгоритм имеет следующую блок-схему:</p>
8
<p>А вот и общая схема линейного алгоритма:</p>
8
<p>А вот и общая схема линейного алгоритма:</p>
9
<h2>Ветвление в алгоритмических последовательностях</h2>
9
<h2>Ветвление в алгоритмических последовательностях</h2>
10
<p>На практике очень редко встречается, чтобы последовательность всех требуемых действий была известна заранее. Если на минуту покинуть мир алгоритмизации и программирования, можно спроецировать ветвление на многие жизненные ситуации. Если на улице дождь, человек берёт зонт, если очень жарко, будет выбрана одежда полегче и т. д. Всё зависит от условия выбора. Как тут не вспомнить рыцаря на распутье из русских народных сказок?</p>
10
<p>На практике очень редко встречается, чтобы последовательность всех требуемых действий была известна заранее. Если на минуту покинуть мир алгоритмизации и программирования, можно спроецировать ветвление на многие жизненные ситуации. Если на улице дождь, человек берёт зонт, если очень жарко, будет выбрана одежда полегче и т. д. Всё зависит от условия выбора. Как тут не вспомнить рыцаря на распутье из русских народных сказок?</p>
11
<p>"Направо пойдёшь - жену найдёшь, налево пойдешь - богатым будешь, прямо пойдёшь - смерть найдёшь".</p>
11
<p>"Направо пойдёшь - жену найдёшь, налево пойдешь - богатым будешь, прямо пойдёшь - смерть найдёшь".</p>
12
<p>Подобная ситуация заставляет принимать решения с учётом определённого условия. Если нужна жена, то витязь идёт направо, если богатство, то налево, если жизнь не мила, то прямо. Условия, которые влияют на решение, располагаются между словами "если" и "то".</p>
12
<p>Подобная ситуация заставляет принимать решения с учётом определённого условия. Если нужна жена, то витязь идёт направо, если богатство, то налево, если жизнь не мила, то прямо. Условия, которые влияют на решение, располагаются между словами "если" и "то".</p>
13
<p>От значения условий зависит дальнейшее поведение. Когда условие выполняется, оно принимает значение "истина", когда нет - "ложь". Иногда анализ ситуации и выбор не вызывают особых затруднений, а иногда принять решение очень трудно. А всё потому, что принимающий решение пытается продумать каждый из вариантов и предугадать последствия выбора. Нельзя не вспомнить гроссмейстера, который анализирует позицию на ходы вперёд, прежде чем передвинуть фигуру на шахматной доске.</p>
13
<p>От значения условий зависит дальнейшее поведение. Когда условие выполняется, оно принимает значение "истина", когда нет - "ложь". Иногда анализ ситуации и выбор не вызывают особых затруднений, а иногда принять решение очень трудно. А всё потому, что принимающий решение пытается продумать каждый из вариантов и предугадать последствия выбора. Нельзя не вспомнить гроссмейстера, который анализирует позицию на ходы вперёд, прежде чем передвинуть фигуру на шахматной доске.</p>
14
<p>Компьютерные программы и игры тоже построены на выборе действий. А блок-схема при наличии ветвления приобретает иной вид:</p>
14
<p>Компьютерные программы и игры тоже построены на выборе действий. А блок-схема при наличии ветвления приобретает иной вид:</p>
15
<h2>Логика разветвляющих алгоритмов</h2>
15
<h2>Логика разветвляющих алгоритмов</h2>
16
<p>Логику можно описать следующим образом:</p>
16
<p>Логику можно описать следующим образом:</p>
17
ЕСЛИ <условие истинно> ТО <действие 1> ИНАЧЕ <действие 2><p><strong>Ветвление</strong>- метод и форма организации действий, когда в зависимости от выполнения определённого условия совершается та либо иная последовательность шагов.</p>
17
ЕСЛИ <условие истинно> ТО <действие 1> ИНАЧЕ <действие 2><p><strong>Ветвление</strong>- метод и форма организации действий, когда в зависимости от выполнения определённого условия совершается та либо иная последовательность шагов.</p>
18
<p>В результате совсем несложно составить алгоритм покупки мороженого с учётом наличия необходимой суммы денег. Описать эту алгоритмическую последовательность с помощью схемы и блоков тоже не составит труда:</p>
18
<p>В результате совсем несложно составить алгоритм покупки мороженого с учётом наличия необходимой суммы денег. Описать эту алгоритмическую последовательность с помощью схемы и блоков тоже не составит труда:</p>
19
<p>Для закрепления можно решить задачу.</p>
19
<p>Для закрепления можно решить задачу.</p>
20
<p><em>Есть 3 монеты одинакового достоинства. Одна из монет фальшивая (известно, что она имеет меньший вес). Найдите фальшивую монету на чашечных весах без гирь с помощью только одного взвешивания.</em></p>
20
<p><em>Есть 3 монеты одинакового достоинства. Одна из монет фальшивая (известно, что она имеет меньший вес). Найдите фальшивую монету на чашечных весах без гирь с помощью только одного взвешивания.</em></p>
21
<p>Решение легко описывается посредством схематических блоков:</p>
21
<p>Решение легко описывается посредством схематических блоков:</p>
22
<p>Следующий пример легко экстраполируется в жизнь. Речь идёт об алгоритме для перехода дороги при наличии светофора. Он имеет следующий вид: 1. Подходим к светофору. 2. Смотрим, какой горит свет. 3. Если зелёный, переходим дорогу. 4. Если красный, ждём, пока загорится зелёный, а потом переходим дорогу.</p>
22
<p>Следующий пример легко экстраполируется в жизнь. Речь идёт об алгоритме для перехода дороги при наличии светофора. Он имеет следующий вид: 1. Подходим к светофору. 2. Смотрим, какой горит свет. 3. Если зелёный, переходим дорогу. 4. Если красный, ждём, пока загорится зелёный, а потом переходим дорогу.</p>
23
<p>Соответствующая блок-схема:</p>
23
<p>Соответствующая блок-схема:</p>
24
<h2>Программный способ записи</h2>
24
<h2>Программный способ записи</h2>
25
<p>Чтобы алгоритм было понятен компьютеру, машине и любой другой цифровой системе, следует оформить его в таком виде, который эта система способна воспринимать. То есть надо написать программу, используя для этого команды из<strong>СКИ</strong>. СКИ - это список команд исполнителя - перечень команд, ему понятных. А любой исполнитель способен исполнить лишь те команды, которые включены в его СКИ, а если говорить человеческим языком - входят в набор его компетенций.</p>
25
<p>Чтобы алгоритм было понятен компьютеру, машине и любой другой цифровой системе, следует оформить его в таком виде, который эта система способна воспринимать. То есть надо написать программу, используя для этого команды из<strong>СКИ</strong>. СКИ - это список команд исполнителя - перечень команд, ему понятных. А любой исполнитель способен исполнить лишь те команды, которые включены в его СКИ, а если говорить человеческим языком - входят в набор его компетенций.</p>
26
<p>Для примера можно реализовать алгоритм на языке программирования<strong>Pascal</strong>. Исходя из вышесказанного, следует использовать команды, входящие в терминологию Pascal.</p>
26
<p>Для примера можно реализовать алгоритм на языке программирования<strong>Pascal</strong>. Исходя из вышесказанного, следует использовать команды, входящие в терминологию Pascal.</p>
27
<p>Простейший пример описания алгоритма с разветвляющейся структурой -<strong>условный оператор IF</strong>. Полная конструкция этого условного оператора имеет следующий вид:</p>
27
<p>Простейший пример описания алгоритма с разветвляющейся структурой -<strong>условный оператор IF</strong>. Полная конструкция этого условного оператора имеет следующий вид:</p>
28
if<логическое выражение>then<оператор 1>else<оператор 2><p>Здесь if - это "если", then - это "то", else - "иначе".</p>
28
if<логическое выражение>then<оператор 1>else<оператор 2><p>Здесь if - это "если", then - это "то", else - "иначе".</p>
29
<p>Условный оператор работает просто: - вычисляется значение логического выражения, которое расположено после служебного слова IF; - если результат - истина, выполняется оператор 1, который размещён после THEN, причём действие после ELSE пропускается; - если результат - ложь, пропускается уже действие после THEN, а действие после ELSE выполняется с помощью оператора 2.</p>
29
<p>Условный оператор работает просто: - вычисляется значение логического выражения, которое расположено после служебного слова IF; - если результат - истина, выполняется оператор 1, который размещён после THEN, причём действие после ELSE пропускается; - если результат - ложь, пропускается уже действие после THEN, а действие после ELSE выполняется с помощью оператора 2.</p>
30
<p>Теперь можно вспомнить пресловутого витязя на распутье и написать простую программу, реализующую этот алгоритм с помощью соответствующих условных операторов.</p>
30
<p>Теперь можно вспомнить пресловутого витязя на распутье и написать простую программу, реализующую этот алгоритм с помощью соответствующих условных операторов.</p>
31
program Algoritm_vetvlenia; Var x :string; Begin WriteLn ('Витязь, куда путь держишь?'); ReadLn (x); If x='Направо' then writeLn ('Направо пойдёшь - жену найдёшь'); If x='Налево' then writeLn ('Налево пойдешь - богатым будешь'); If x='Прямо' then writeLn ('Прямо пойдёшь - смерть найдёшь'); ReadLn; End.<p>Попробовать этот алгоритм в работе можно на любом онлайн-компиляторе, поддерживающим Pascal. Но не стоит на этом останавливаться - лучше всего написать собственную программу, что позволит получить максимальную пользу от урока.</p>
31
program Algoritm_vetvlenia; Var x :string; Begin WriteLn ('Витязь, куда путь держишь?'); ReadLn (x); If x='Направо' then writeLn ('Направо пойдёшь - жену найдёшь'); If x='Налево' then writeLn ('Налево пойдешь - богатым будешь'); If x='Прямо' then writeLn ('Прямо пойдёшь - смерть найдёшь'); ReadLn; End.<p>Попробовать этот алгоритм в работе можно на любом онлайн-компиляторе, поддерживающим Pascal. Но не стоит на этом останавливаться - лучше всего написать собственную программу, что позволит получить максимальную пользу от урока.</p>
32
<p><em>Источники:</em>• http://informatic.hop.ru/p33.htm; • https://interneturok.ru/lesson/informatika/6-klass/algoritm-i-ispolniteli/prakticheskaya-rabota-2-sostavlenie-algoritmov; • https://www.turbopro.ru/index.php/algoritmizatsiya-i-ispolniteli/5210-algoritmy-ponyatie-i-vidy-algoritma-blok-skhemy; • https://www.yaklass.ru/p/informatika/6-klass/algoritmy-14002/tipy-algoritmov-13610/re-61ead1ff-bc77-453f-ac99-e46da267f3f3.</p>
32
<p><em>Источники:</em>• http://informatic.hop.ru/p33.htm; • https://interneturok.ru/lesson/informatika/6-klass/algoritm-i-ispolniteli/prakticheskaya-rabota-2-sostavlenie-algoritmov; • https://www.turbopro.ru/index.php/algoritmizatsiya-i-ispolniteli/5210-algoritmy-ponyatie-i-vidy-algoritma-blok-skhemy; • https://www.yaklass.ru/p/informatika/6-klass/algoritmy-14002/tipy-algoritmov-13610/re-61ead1ff-bc77-453f-ac99-e46da267f3f3.</p>
33
33