Что такое разветвляющийся алгоритм

Что такое разветвляющийся алгоритм

Понятие алгоритма. Исполнитель алгоритма. Свойства алгоритма. Способы записи алгоритмов.

Основные алгоритмические структуры: следование, ветвление, цикл; изображение

на блок-схемах. Вспомогательные алгоритмы.

Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.

Вы постоянно сталкиваетесь с этим понятием в различных сферах деятельности человека (кулинарные книги, инструкции по использованию различных приборов, правила решения математических задач. ). Обычно мы выполняем привычные действия не задумываясь, механически. Например, вы хорошо знаете, как открывать ключом дверь. Однако, чтобы научить этому малыша, придется четко разъяснить и сами эти действия и порядок их выполнения:

1. Достать ключ из кармана.

2. Вставить ключ в замочную скважину.

3. Повернуть ключ два раза против часовой стрелки.

Если вы внимательно оглянитесь вокруг, то обнаружите множество алгоритмов которые мы с вами постоянно выполняем. Мир алгоритмов очень разнообразен. Несмотря на это, удается выделить общие свойства, которыми обладает любой алгоритм.

Дискретность (от лат. discretus — разделённый, прерывистый, раздельность) (алгоритм должен состоять из конкретных действий, следующих в определенном порядке);

Детерминированность (от. лат. determinate – определенность, точность) (любое действие должно быть строго и недвусмысленно определено в каждом случае);

Конечность (каждое действие и алгоритм в целом должны иметь возможность завершения);

Массовость (один и тот же алгоритм можно использовать с разными исходными данными);

Результативность (отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях).

1. Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке);

2. Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено заданное условие);

3. Разветвляющийся алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий);

4. Вспомогательный алгоритм (алгоритм, который можно использовать в других алгоритмах, указав только его имя).

На практике наиболее распространены следующие формы представления алгоритмов:

В письменной форме на естественном языке.

В письменной форме на формальном языке.

Для более наглядного представления алгоритма широко используется графическая форма – блок-схема, которая составляется из стандартных графических объектов.

При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура.

Стадии создания алгоритма:

1. Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает (определить цель, наметить план действий).

2. Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия (выбрать среду и объект алгоритма, детализировать алгоритм).

Объект, который будет выполнять алгоритм, обычно называют исполнителем.

Назначение исполнителя точно выполнить предписания алгоритма, подчас не задумываясь о результате и целях, т.е. формально. Идеальными исполнителями являются машины, роботы, компьютеры.

Компьютер – автоматический исполнитель алгоритмов.

Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой.

Линейный алгоритм

Линейный алгоритм – описание действий, которые выполняются однократно в заданном порядке. Исполнитель выполняет действия последовательно, одно за другим в том порядке в котором они следуют.

Блок-схема линейного алгоритма:

Что такое разветвляющийся алгоритм. Смотреть фото Что такое разветвляющийся алгоритм. Смотреть картинку Что такое разветвляющийся алгоритм. Картинка про Что такое разветвляющийся алгоритм. Фото Что такое разветвляющийся алгоритм

Циклический алгоритм – описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие.

Перечень повторяющихся действий называют телом цикла.

Циклические алгоритмы бывают двух типов:

Циклы со счетчиком, в которых какие-то действия выполняются определенное число раз;

Циклы с условием, в которых тело цикла выполняется, в зависимости от какого-либо условия. Различают циклы с предусловием и постусловием.

Циклы со счетчиком используют когда заранее известно какое число повторений тела цикла необходимо выполнить. Например, на уроке физкультуры вы должны пробежать некоторое количество кругов вокруг стадиона.

Что такое разветвляющийся алгоритм. Смотреть фото Что такое разветвляющийся алгоритм. Смотреть картинку Что такое разветвляющийся алгоритм. Картинка про Что такое разветвляющийся алгоритм. Фото Что такое разветвляющийся алгоритм

Для счетчика от нач. значения до кон. значения выполнить действие.

Часто бывает так, что необходимо повторить тело цикла, но заранее не известно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия. Такие циклы называются циклы с условием. Циклы в которых сначала проверяется условие, а затем, возможно, выполняется тело цикла называют циклы с предусловием. Если условие проверяется после первого выполнения тела цикла, то циклы называются циклы с постусловием.

Что такое разветвляющийся алгоритм. Смотреть фото Что такое разветвляющийся алгоритм. Смотреть картинку Что такое разветвляющийся алгоритм. Картинка про Что такое разветвляющийся алгоритм. Фото Что такое разветвляющийся алгоритм

Например, в субботу вечером вы смотрите телевизор. Время от времени поглядываете на часы и если время меньше полуночи, то продолжаете смотреть телевизор, если это не так, то вы прекращаете просмотр телепередач.

Что такое разветвляющийся алгоритм. Смотреть фото Что такое разветвляющийся алгоритм. Смотреть картинку Что такое разветвляющийся алгоритм. Картинка про Что такое разветвляющийся алгоритм. Фото Что такое разветвляющийся алгоритм

В общем случае схема циклического алгоритма с условием будет выглядеть так:

Пока условие повторять действие.

При составлении циклических алгоритмов важно думать о том, чтобы цикл был конечным. Ситуация, при которой выполнение цикла никогда не заканчивается, называется зацикливанием.

Во многих случаях требуется, чтобы при одних условиях выполнялась одна последовательность действий, а при других – другая.

Если пошел дождь, то надо открыть зонт.

Если прозвенел будильник, то надо вставать.

Если встречу Сашу, то скажу ему …

Если встречу Сашу, то скажу ему …, иначе зайду к нему сам.

Что такое разветвляющийся алгоритм. Смотреть фото Что такое разветвляющийся алгоритм. Смотреть картинку Что такое разветвляющийся алгоритм. Картинка про Что такое разветвляющийся алгоритм. Фото Что такое разветвляющийся алгоритм

Эти предложения начинаются с проверки какого-либо условия: пошел дождь, прозвенел будильник, встретил Сашу… Далее в зависимости мы либо вылиняем какое-либо действие, либо не выполняем его (или выполняем какое-то другое действие).

Компьютер тоже в зависимости от какого-либо условия может выполнять или не выполнять те или иные действия. Алгоритм, в котором используется условие, получил название разветвляющегося, так как в зависимости от значения условия выбираются те или иные действия.

В общем случае схема разветвляющегося алгоритма будет выглядеть так: «если условие, то действие 1, иначе действие 2» (Если встречу Сашу, то скажу ему …, иначе зайду к нему сам.). Так же можно использовать неполную форму: «если условие, то действие» (Если встречу Сашу, то скажу ему ). В этом случае не предусматривается действий на случай невыполнения условия.

Что такое разветвляющийся алгоритм. Смотреть фото Что такое разветвляющийся алгоритм. Смотреть картинку Что такое разветвляющийся алгоритм. Картинка про Что такое разветвляющийся алгоритм. Фото Что такое разветвляющийся алгоритм

Условие – это высказывание которое может быть либо истинно, либо ложно.

Еще раз обратим внимание, что существует две формы ветвления – неполная (когда присутствует только одна ветвь, т.е. в зависимости от истинности условия либо выполняется, либо не выполняется действие) и полная (когда присутствуют две ветви, т.е. в зависимости от истинности условия выполняется либо одно, либо другое действие).

Вспомогательный алгоритм – алгоритм, который можно использовать в других алгоритмах, указав только его имя.

Источник

Алгоритмические структуры

Линейный алгоритм

Линейный алгоритм– это алгоритм, в котором все операции выполняются только последовательно (рис.1).

Что такое разветвляющийся алгоритм. Смотреть фото Что такое разветвляющийся алгоритм. Смотреть картинку Что такое разветвляющийся алгоритм. Картинка про Что такое разветвляющийся алгоритм. Фото Что такое разветвляющийся алгоритм

Разветвляющийся (ветвящийся) алгоритм

Разветвляющийся или ветвящийся алгоритм – это алгоритм, в котором последовательность выполнения операций зависит от определенных условий.
Если в алгоритме присутствует «действие 1» и «действие 2» (то есть ветвь 1 и ветвь 2), то это разветвляющийся алгоритм с полной альтернативой (рис.2). Если же вместо «действия 2» предусмотрен переход к выполнению операции «n», которая находится в общей (основной) ветви, то такая форма записи называется неполной альтернативой (рис.3). Во втором случае (то есть в случае неполной альтернативы) в одной из ветвей алгоритма предусмотрены некоторые действия (операции), а во второй ветви нет никаких действий.

Что такое разветвляющийся алгоритм. Смотреть фото Что такое разветвляющийся алгоритм. Смотреть картинку Что такое разветвляющийся алгоритм. Картинка про Что такое разветвляющийся алгоритм. Фото Что такое разветвляющийся алгоритм

Что такое разветвляющийся алгоритм. Смотреть фото Что такое разветвляющийся алгоритм. Смотреть картинку Что такое разветвляющийся алгоритм. Картинка про Что такое разветвляющийся алгоритм. Фото Что такое разветвляющийся алгоритм

Циклический алгоритм

Циклический алгоритм – это алгоритм, в котором многократно выполняются одни и те же действия, например с целью многократного выполнения вычислений по одним и тем же зависимостям при различных значениях входящих в них переменных. Использование циклов существенно сокращает объем алгоритма. Можно выделить три основных типа циклических алгоритмов:

По способу определения числа повторений различают циклы с заранее неизвестным количеством повторений и заранее известным количеством повторений (циклы с параметром).

В цикле с параметром определенная последовательность операций выполняется несколько раз в зависимости от заданной величины, которая называется параметром цикла. Цикл выполняется, пока параметр цикла принимает значения в заданном диапазоне с заданным шагом. Оператор цикла включает имя переменной, конечное значение и шаг.

Выделяют два типа циклов с условием: цикл с предусловием и цикл с постусловием.

В циклах с предусловием условие проверяется на входе (до операций, выполняемых в цикле). В циклах с постусловием условие проверяется после выполнения всех операций внутри цикла. В этом случае операторы тела цикла будут реализованы хотя бы один раз или до тех пор, пока не станет возможным условие выхода из цикла.

В циклах с постусловием сначала выполняются все операции, включенные в цикл, и только после этого проверяется заданное условие. В зависимости от результата проверки осуществляется выход из цикла или его повторение.

Цикл с условием называют также итерационным циклом.

Для изображения циклов с предусловием и постусловием можно использовать символ «Граница цикла» (рис. 4):

Что такое разветвляющийся алгоритм. Смотреть фото Что такое разветвляющийся алгоритм. Смотреть картинку Что такое разветвляющийся алгоритм. Картинка про Что такое разветвляющийся алгоритм. Фото Что такое разветвляющийся алгоритм

Начало цикла 1
Начало цикла 2
Начало цикла 3
Тело цикла 3
Конец цикла 3
Конец цикла 2
Конец цикла 1

Рисунок 5 – Структура алгоритма, содержащего несколько вложенных циклов

Для организации и внутреннего, и внешнего циклов могут использоваться разные типы алгоритмических структур (цикл с параметром, цикл с предусловием, цикл с постусловием).
На рис. 6 представлена блок-схема алгоритма с внутренним циклом. В данном случае и внешний и внутренний циклы организованы на базе алгоритмической структуры «цикл с параметром».

Что такое разветвляющийся алгоритм. Смотреть фото Что такое разветвляющийся алгоритм. Смотреть картинку Что такое разветвляющийся алгоритм. Картинка про Что такое разветвляющийся алгоритм. Фото Что такое разветвляющийся алгоритм

На каждом шаге по внешнему циклу внутренний цикл выполняется несколько раз. Количество внутренних циклов на каждом внешнем цикле зависит от параметра внутреннего цикла.
Пусть, например, задано, что параметр внешнего цикла меняется от 1 до 5 с шагом 1, а параметр внутреннего цикла – от 1 до 10 с шагом 1.
Это означает, что на каждом шаге по внешнему циклу внутренний цикл будет выполняться 10 раз. Так как внешний цикл должен выполниться 5 раз, то внутренний цикл выполнится при этом 50 раз.

Примеры алгоритмов различных типовых структур: линейных, ветвящихся, циклических, с комбинацией типовых структур.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *