Как выглядит алгоритм с ветвлением

Урок 8. Блок-схема оператора if

Как выглядит алгоритм с ветвлением

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

Ветвления

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

Ветвление используется в двух случаях:

В блок-схеме условие ветвления изображается в ромбе, из которого обязательно выходят ДВЕ стрелки – первая (стрелка «Да») указывает на команды, которые будут выполняться в случае, если условие соблюдено; вторая (стрелка «Нет») – на команды, которые будут выполнены, если условие не соблюдено. Даже если команда, на которую указывает одна из стрелок (Чаще всего «Нет») отсутствует, стрелка все равно имеет место быть.

Как выглядит алгоритм с ветвлением Алгоритм с ветвлением, представленный в виде блок-схемы.

В словесной формулировке запись ветвления выглядит так:

Реализация ветвления в Паскаль.

Как же реализовать ветвление в Паскаль? Проще, чем вы думаете:
if then else

Запомните! Перед else никогда не ставят точку с запятой!

Давайте поговорим об условии выбора. Понятно, что этологическое выражение. Если оно является правдой, то выполняется главная ветвь, если ложь, то боковая ветвь.

Задачи из блока if.

Рассмотрим несколько задач из сборника М.Э.Абрамяна «1000 задач по программированию».

If1. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число.

В данной программе даже не надо реализовывать боковую ветвь.

Как выглядит алгоритм с ветвлением

If2. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2. Вывести полученное число.

Как выглядит алгоритм с ветвлением

If3. Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то вычесть из него 2; если нулевым, то заменить его на 10. Вывести полученное число.

Для того чтобы решить эту задачу мы должны использовать вложенный if.

If5. Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.

Как выглядит алгоритм с ветвлением Длиннющая блок-схема. 🙂

If30. Дано целое число, лежащее в диапазоне 1–999. Вывести его строку-описание вида «четное двузначное число», «нечетное трехзначное число» и т. д.

Как выглядит алгоритм с ветвлением

Вот и все! Не забывайте кликать по кнопочкам и добавлять наш сайт в закладки!

Источник

Как выглядит алгоритм с ветвлением

Блок-схема алгоритмической структуры ветвления может быть представлена в двух формах: полной и неполной (рис. 1.19).

Рис. 1.19. Разветвляющаяся структура, записанная на языке блок-схем

Следует иметь в виду, что Действие 1 и Действие 2 — это условные обозначения. Они могут обозначать как одну команду, так и серию команд.

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

ЗАДАЧА 1.3. Пользователь вводит два числа, нужно найти максимальное значение. Блок-схема алгоритма представлена на ‎рис. 1.20.

Как выглядит алгоритм с ветвлением

Рис. 1.20. Блок-схема алгоритма с использованием полной формы структуры ветвления

После ввода значений a и b исполнитель вынужден сравнить значения а и b между собой. Если значение a>b, то будет выполнено присваивание. Переменной max присвоить значение a. В противном случае (a max, то переменной max будет присвоено значение b. В противном случае исполнитель перейдет к следующему после ветвления действию алгоритма. В результате работы алгоритма будет выведено значение переменной max.

Источник

Информатика. 7 класс

Электронное приложение к учебному пособию

Напишите нам

белый — основные материалы, обязательные для изучения;

голубой — примеры, иллюстрирующие основные материалы;

желтый — определения основных понятий;

светло-зеленый — исторические сведения, информация об ученых, внесших вклад в развитие информатики, и другие интересные факты.

В учебном пособии используются следующие условные обозначения:

Как выглядит алгоритм с ветвлением— вопросы и задания для проверки знаний;

Как выглядит алгоритм с ветвлением— раздел «Упражнения» содержит задания, при выполнении которых используется компьютер;

Как выглядит алгоритм с ветвлением— раздел «Упражнения» содержит задания для выполнения в тетради;

Как выглядит алгоритм с ветвлением— раздел «Упражнения» содержит задания, при выполнении которых может быть использована информация, размещенная на Национальном образовательном портале;

* — задание или пример для любознательных.

§ 12. Алгоритмическая конструкция ветвление

12.1. Команда ветвления

Довольно часто на поставленный вопрос человек получает ответ «да» или «нет». В зависимости от ответа он определяет свои действия и выполняет одну или другую команду (группу команд).

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

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

Ветвление может изображаться на блок-схеме следующим образом:

Как выглядит алгоритм с ветвлением

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

Строка if условие > then является заголовком ветвления. Эту строку можно прочитать следующим образом: «Если условие верно, то». После слова then записывается последовательность команд 1, которая выполнится, если условие истинно. После слова else записывается последовательность команд 2, которая выполнится, если условие ложно. Слова begin и end; в данном случае играют роль операторных скобок. Обратите внимание, что перед словом else точка с запятой не ставится.

Ветвление может быть записано в полной или сокращенной форме.

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

На блок-схеме сокращенная форма ветвления изображается следующим образом:

Как выглядит алгоритм с ветвлением

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

Алгоритм может содержать более одной конструкции ветвления (пример 12.3).

Пример 12.4. Решим задачу if 1 из встроенного задачника.

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

Вначале Робот должен сдвинуться вправо. Если стена снизу, то сверху свободно и можно обойти стену сверху, в противном случае Робот обходит стену снизу.

После обхода стены Робот закрашивает клетку. Алгоритм можно записать следующим образом:

Если сверху свободно, то

Пример 12.5. Робот находится на неизвестной клетке поля без линий. Он должен закрасить клетку слева от себя.

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

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

12.2. Составные условия

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

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

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

С логическими операциями над высказываниями вы уже знакомы. В PascalABC используются следующие логические операции:

Как выглядит алгоритм с ветвлениемКак выглядит алгоритм с ветвлением
Логическая операцияЗапись в PascalABC
НеNot
ИAnd
ИлиOr

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

Источник

Как выглядит алгоритм с ветвлением

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как выглядит алгоритм с ветвлением

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

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

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

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

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

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

Как выглядит алгоритм с ветвлением

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

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

Как выглядит алгоритм с ветвлением

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

Как выглядит алгоритм с ветвлением

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

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

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

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

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

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

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

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

Как выглядит алгоритм с ветвлением

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

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

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

Как выглядит алгоритм с ветвлением

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

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

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

Источник

Как выглядит алгоритм с ветвлением

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

Первая задача: даны два числа; выбрать большее из них.

Пусть исходными данными являются переменные А и В. Их значения будут задаваться вводом. Значение большего из них должно быть присвоено переменной С и выведено на экран компьютера. Например, если А = 5, В = 8, то должно получиться: С = 8.

Блок-схема алгоритма решения этой задачи изображена на рис. 3.6.

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

Нетрудно понять смысл этого алгоритма. Если значение переменной А больше, чем В, то переменной С присвоится значение А. В противном случае, когда А В. Изучая базы данных и электронные таблицы, вы узнали, что такое отношение является логическим выражением. Если оно справедливо, то результатом будет логическая величина «истина» и выполнение алгоритма продолжится по ветви «да»; в противном случае логическое выражение примет значение «ложь» и выполнение алгоритма пойдет по ветви «нет».

До выполнения на компьютере правильность алгоритма можно проверить путем заполнения трассировочной таблицы. Вот как будет выглядеть трассировка нашего алгоритма для исходных значений А = 5, В = 8.

ШагОперацияАВСПроверка условия
1ввод А, В58
2А>В585 > 8, нет (ложь)
3С:=В588
4вывод С588

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

В алгоритме на рис. 3.6 используется полное ветвление. Эту же самую задачу можно решить, применяя структурную команду неполного ветвления. Блок-схема такого алгоритма изображена на рис. 3.7.

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

Выполните самостоятельно трассировку этого алгоритма для вариантов 1) А = 0,2, В = 0,3; 2) А = 7, В = 4; 3) А = 5, В = 5. Если вы все проделаете правильно, то убедитесь, что алгоритм верный.

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

Как выглядит команда ветвления, вы уже знаете. Вот два алгоритма на АЯ, соответствующие блок-схемам на рис. 3.6 и 3.7:

алг БИД1
вещ А, В, С
нач ввод А, В
если А>В
то С:=А
иначе С:=В
кв
вывод С
кон
алг БИД2
вещ А, В, С
нач ввод А, В
С:=А
если В>А
то С:=В
кв
вывод С
кон

Под сокращенным названием алгоритмов ВИД подразумевается «Большее из двух».

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

Следующая задача: упорядочить значения двух переменных X и Y по возрастанию. Смысл этой задачи следующий: если для исходных значений переменных справедливо отношение X Y (например, X = 2, Y = 1), то выполнить обмен значениями.

Алгоритм обмена значениями двух переменных был рассмотрен в предыдущем параграфе. Вспомним, что для обмена нужна третья вспомогательная переменная.

В алгоритме решения данной задачи используется неполное ветвление. Приведем блок-схему (рис. 3.8) и алгоритм на АЯ.

алг СОРТИРОВКА
вещ X, Y, С
нач ввод X, Y
если X>Y
то С:=Х
Х:=Y
Y:=С
кв
вывод X, Y
конКак выглядит алгоритм с ветвлениемРис. 3.8. Блок-схема алгоритма упорядочения двух величин

Здесь роль вспомогательной переменной для обмена выполняет С.

Сложные ветвящиеся алгоритмы

Получим алгоритм решения еще одной задачи: найти наибольшее значение среди трех величин: А, В, С.

Естественно, возникает следующая идея этого алгоритма: сначала нужно найти большее из значений АИВИ присвоить его какой-то дополнительной переменной, например D; затем найти большее среди D и С. Это значение можно присвоить той же переменной D.

алг БИТ1
вещ А, В, С, D
нач ввод А, B, С
если А>В
то D:=A
иначе D:=B
кв
если C>D
то D:=C
кв
вывод D
конКак выглядит алгоритм с ветвлениемРис. 3.9. Блок-схема алгоритма «БИТ» с последовательными ветвлениями

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

А вот как выглядят описание этого алгоритма на АЯ и трассировочная таблица при А = 5,В = 7,С = 2.

ШагОперацияАВСDПроверка условия
1ввод А, В, С572
2А>В5725 > 7, нет
3В>С5727 > 2, да
4D:=B5727
5вывод D5727

1. Какую структуру имеет алгоритм нахождения большего из двух значений?

2. Почему отношение неравенства можно назвать логическим выражением?

4. Составьте алгоритм (в виде блок-схемы и на АЯ) нахождения меньшего из двух значений.

5. Составьте алгоритм нахождения наименьшего из трех значений.

6. Для вывода на экран произвольной символьной строки нужно в команде вывода записать эту строку в апострофах. Например, по команде

Определите, какая задача решается по следующему алгоритму:

Источник

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

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