HTML Diff
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 ЕСЛИ &lt;условие истинно&gt; ТО &lt;действие 1&gt; ИНАЧЕ &lt;действие 2&gt;<p><strong>Ветвление</strong>- метод и форма организации действий, когда в зависимости от выполнения определённого условия совершается та либо иная последовательность шагов.</p>
17 ЕСЛИ &lt;условие истинно&gt; ТО &lt;действие 1&gt; ИНАЧЕ &lt;действие 2&gt;<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&lt;логическое выражение&gt;then&lt;оператор 1&gt;else&lt;оператор 2&gt;<p>Здесь if - это "если", then - это "то", else - "иначе".</p>
28 if&lt;логическое выражение&gt;then&lt;оператор 1&gt;else&lt;оператор 2&gt;<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