Разветвляющийся алгоритм
Разветвля́ющийся алгори́тм — алгоритмическая конструкция, в которой выполнение порядка действий зависит от истинности или ложности условия.
Другое его название «алгоритм ветвление» или «условный алгоритм». Принцип условного исполнения алгоритма и данная алгоритмическая конструкция в программировании была изложена в 1946 году Джоном фон Нейманом. Отсюда в языки программирования стали включать команды выбора действий[1]. Условные алгоритмы делятся на два вида: полные и неполные. Алгоритмы с полным условием имеют два блока действий, которые подразумевают выполнение соответственно при истинном и ложном результате проверки условия. Алгоритмы в неполной версии подразумевают блок действий только при истинном исходе выполнения условия[2].
Способы записи разветвляющегося алгоритма[править]
Словесный способ[править]
Способ, в котором каждый шаг алгоритма представлен в произвольном изложении на естественном языке. Данным способом передают суть алгоритма исполнителю. Такие алгоритмы могут допускать неоднозначность толкования отдельных шагов, что может привести к неправильным результатам[3]. Пример разветвляющегося алгоритма: определить, является ли число p положительным или отрицательным. Словесный способ записи алгоритма в полной версии:
- Начало алгоритма.
- Ввести значение числа p.
- Если p больше нуля, то вывести сообщение «число положительное», иначе вывести сообщение «число отрицательное».
- Конец алгоритма[3].
Словесный способ записи алгоритма в неполной версии:
- Начало алгоритма.
- Ввести значение числа p.
- Если p больше нуля, вывести сообщение «число положительное».
- Если p меньше нуля, вывести сообщение «число отрицательное».
- Если p равно нулю, вывести сообщение «число ни положительное, ни отрицательное».
- Конец алгоритма[3].
Графический способ[править]
Для наглядного представления алгоритма используется графический способ. Одним из самых распространенных вариантов и часто используемых является блок-схема. Суть представления алгоритма с помощью блок-схем заключается в том, что каждый шаг алгоритма представляет собой геометрическую фигуру (блочный символ), условно обозначающий шаг алгоритма, который записывается внутри блока. Блок-схема алгоритма «ветвление» обычно состоит из блока начала/конца, блока ввода/вывода, блока выбора действий и блока действий[3][4].
Программный способ[править]
Он представляет собой запись алгоритма на формальном языке, а именно на языке программирования, позволяющем на основе строго определённых правил (синтаксиса, семантики и т.д.) формировать последовательность команд, однозначно отражающих смысл и содержание алгоритма для последующего выполнения его на компьютере. Программный способ подразумевает написание компьютерной программы[3][4].
Пример компьютерной программы на языке программирования Pascal: определить, является ли число p положительным или отрицательным. Программный способ записи алгоритма в полной версии:
program primer1;
var p: integer;
begin
read(p);
if p > 0 then write('число положительное')
else write('число отрицательное');
end.
Программный способ записи алгоритма в неполной версии:
program primer1;
var p: integer;
begin
read(p);
if p > 0 then write('число положительное');
if p < 0 then write('число отрицательное');
if p = 0 then write('число ни положительное ни отрицательное');
end.
Пример компьютерной программы на языке программирования Python: определить, является ли число p положительным или отрицательным:
n = int(input("Введите число: ")
if (n > 0):
print("Число положительное")
else:
print("Число отрицательное")
Литература[править]
- Кнут Дональд Эрвин Искусство программирования. Том 1. Основные алгоритмы. — Вильямс, 2020. — 720 с. — ISBN 978-5-907144-23-1.
- Стивен С.Скиена Алгоритмы. Руководство по разработке. — БХВ. — 878 с. — ISBN 9785977567992.
- Вирт Никлаус Алгоритмы и структуры данных / с англ. Ф. В. Ткачев. — ДМК Пресс, 2013. — 272 с. — ISBN 978-5-97060-230-0.
Примечания[править]
- ↑ Принципы фон Неймана (Архитектура фон Неймана). Планета Информатики. Проверено 31 января 2025.
- ↑ Ветвление. Основы Python. Проверено 19 января 2024.
- ↑ 3,0 3,1 3,2 3,3 3,4 Алгоритмы. Способы записи алгоритмов. Турбо. Учебный центр (2013-03-25). Проверено 20 декабря 2024.
- ↑ 4,0 4,1 Прохорский Г. В. Интернет-курс по дисциплине Информатика. Московский финансово-промышленный университет "Синергия". Проверено 21 декабря 2024.
![]() | Одним из источников, использованных при создании данной статьи, является статья из википроекта «Знание.Вики» («znanierussia.ru») под названием «Разветвляющийся алгоритм», расположенная по следующим адресам:
Материал указанной статьи полностью или частично использован в Циклопедии по лицензии CC-BY-SA 4.0 и более поздних версий. Всем участникам Знание.Вики предлагается прочитать материал «Почему Циклопедия?». |
---|