Для чего необходимо ветвление в алгоритмах
Основные алгоритмические конструкции. Ветвление
Урок 19. Информатика 8 класс (ФГОС)
В данный момент вы не можете посмотреть или раздать видеоурок ученикам
Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобрев в каталоге.
Получите невероятные возможности
Конспект урока «Основные алгоритмические конструкции. Ветвление»
· Составление разветвляющихся алгоритмов.
В повседневной жизни таких ситуаций, в которых заранее известен алгоритм действий и результат, очень мало. Практически постоянно нам приходится принимать решения от которых будут зависеть дальнейшие действия.
Ветвление – это алгоритмическая конструкция, в которой в зависимости от выполнения условия (да или нет) предусмотрен выбор одной из двух последовательностей команд (ветвей).
А алгоритмы в которых применяется только «ветвление», называются разветвляющимися.
Рассмотрим пример. На уроке русского языка для того чтобы применить правило правописания приставок на «з-» и «с-» вы будете действовать по алгоритму:
Для принятия решения ход рассуждений может быть таким:
Полная форма ветвления:
Графически, полная форма структуры ветвление представляется следующим образом:
Как вы помните Проверка условия изображается с помощью блока «Принятие решения», который условно обозначается ромбом, внутри его записывается условие.
В данный блок входит одна линяя связи, а выходят две линии, возле которых записываются результаты проверки условия да или нет. Далее, в зависимости от выполнения или невыполнения некоторого условия приводится к исполнению либо одна, либо другая последовательность команд.
Иногда, встречаются ситуации, когда вторая последовательность команд отсутствует, то есть сокращённая форма записи.
Графически, неполная форма структуры ветвление представляется следующим образом:
Изображаем блок «Принятие решения», который условно обозначается ромбом, внутри его записывается условие.
В данный блок входит одна линяя связи, а выходят две линии, возле которых записываются результаты проверки условия да или нет. Здесь, в зависимости от выполнения или невыполнения некоторого условия приводится к исполнению только одна последовательность команд, либо алгоритм будет завершён.
Операции сравнения на алгоритмическом языке можно записать при помощи следующих знаков: меньше; меньше или равно; равно; больше; больше или равно; не равно.
С помощью этих знаков можно сравнивать любые переменные, числа и арифметические выражения, символьные переменные.
Рассмотрим блок-схему алгоритма, по которому большее число из двух будет удвоено.
Обратите внимание на второй блок данной блок-схемы. Здесь записаны имена и типы величин (данных), которые обрабатываются в алгоритме.
В данном примере, в условии, используется одна операция сравнения. Такие условия называются простыми.
То есть простыми называются условия, состоящие из одной операции сравнения.
При решении различных задач иногда возникает необходимость проверять выполнение двух (как например, 0
Так как разветвляющийся алгоритм должен работать для различных обстановок, давайте проверим его. Для этого загрузим обстановку Коридор 2 и запустим на выполнение наш алгоритм. Как мы можем видеть, алгоритм написан правильно, так как все необходимые клетки закрашены и робот оказался в конце коридора.
Рассмотрим следующее задание: Из ряда чисел 15, 16, 17 и 18 выписать значения х, удовлетворяющие условию из блок-схемы.
Перед нами блок схема. Для определения результата построим таблицу.
Ветвление – это алгоритмическая конструкция, в которой в зависимости от выполнения условия (да или нет) предусмотрен выбор одной из двух последовательностей команд (ветвей).
А алгоритмы в которых применяется только «ветвление», называются разветвляющимися.
Урок 8. Блок-схема оператора if
В предыдущих уроках мы рассмотрели наиболее простой, линейный тип алгоритмов. Напомню, что всего существует три типа: линейные, разветвляющиеся и циклические (алгоритмы с повторениями). В этом уроке я расскажу вам о втором типе алгоритмов — об алгоритмах с ветвлениями.
Ветвления
Ветвление – это команда алгоритма, в которой делается выбор, выполнять или не выполнять какую-нибудь группу команд в зависимости от условий.
Ветвление используется в двух случаях:
В блок-схеме условие ветвления изображается в ромбе, из которого обязательно выходят ДВЕ стрелки – первая (стрелка «Да») указывает на команды, которые будут выполняться в случае, если условие соблюдено; вторая (стрелка «Нет») – на команды, которые будут выполнены, если условие не соблюдено. Даже если команда, на которую указывает одна из стрелок (Чаще всего «Нет») отсутствует, стрелка все равно имеет место быть.
Алгоритм с ветвлением, представленный в виде блок-схемы.
В словесной формулировке запись ветвления выглядит так:
Реализация ветвления в Паскаль.
Как же реализовать ветвление в Паскаль? Проще, чем вы думаете:
if then else
Запомните! Перед else никогда не ставят точку с запятой!
Давайте поговорим об условии выбора. Понятно, что этологическое выражение. Если оно является правдой, то выполняется главная ветвь, если ложь, то боковая ветвь.
Задачи из блока if.
Рассмотрим несколько задач из сборника М.Э.Абрамяна «1000 задач по программированию».
If1. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число.
В данной программе даже не надо реализовывать боковую ветвь.
If2. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2. Вывести полученное число.
If3. Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то вычесть из него 2; если нулевым, то заменить его на 10. Вывести полученное число.
Для того чтобы решить эту задачу мы должны использовать вложенный if.
If5. Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.
Длиннющая блок-схема. 🙂
If30. Дано целое число, лежащее в диапазоне 1–999. Вывести его строку-описание вида «четное двузначное число», «нечетное трехзначное число» и т. д.
Вот и все! Не забывайте кликать по кнопочкам и добавлять наш сайт в закладки!
Информатика. 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 |
Система условий для исполнителя Робот построена таким образом, что можно обойтись без использования логической операции отрицания.
Что такое алгоритм с ветвлением?
В мире животных любой интеллект использует только определенные алгоритмы предпочтения, выражающие личные желания. Искусственные интеллекты потенциально также будут использовать нечто подобное. Пока к реализации человеческого восприятия мира ближе всего удалось подойти при помощи использования алгоритмов с ветвлением. Данные алгоритмы будут рассматриваться в данной статье с объяснением их особенностей и логики.
Алгоритм с ветвлением: что он собой представляет
Прежде, чем приступить к изучению данной темы, сделаем небольшое теоретическое отступление. Под алгоритмом понимается четкая последовательность действий, направленная на то, чтобы достичь выполнения поставленной задачи. Алгоритмы можно условно разделить на три категории:
Нас будут интересовать алгоритмы с ветвлением. Данная команда предполагает выбор функции или процедуры в случае соответствия определенным условиям, которые имеют место в момент выбора. Такую структуру алгоритма называют разветвляющейся. Данная структура обеспечивает выбор между несколькими альтернативными вариантами. Каждый из вариантов в большинстве случаев приводит к общей точке в программном коде. Ветвление является важным тогда, когда необходимо пропустить выполнение того или иного действия. Ветвление используется тогда, когда пользователю предоставляется выбор. Этот выбор необходимо запомнить для осуществления дальнейшей работы. Алгоритмы с ветвлениями довольно легки и полезны.
Использование алгоритмов с ветвлением
Вероятность возникновения ситуаций, в которых все можно будет сделать без выбора, очень мала. Поэтому необходимо заранее продумывать, какие варианты могут потенциально возникнуть. Если проводить параллель с жизнью, то можно привести классический пример с погодой: если идет дождь нужно взять зонт, а если жарко – надеть шорты. Возможен и более сложный выбор. Алгоритмы с ветвлением различаются детализацией описания шагов и сложностью. Чтобы создать ориентир для себя, можно использовать простое ограниченное описание. Но вот с компьютерной техникой такой вариант не пройдет. В данном случае необходимо шаг за шагом последовательно выполнять каждую задачу. Алгоритм может включать в себя ветвление, которое продолжается до бесконечности. На практике редактирование такого написанного кода является проблемным. Чтобы у вас была возможность получить хоть какое-то представление о возможных вариантах алгоритмов, предлагаем вам ознакомиться с основными формами.
— простая (если вы хотите похудеть, нужно сесть на диету);
— сложная (если вы хотите похудеть, соблюдайте диету, а если нет, ешьте, что хотите);
— сложная форма с неполным ветвлением (необходимо выйти на улицу: если дождь не идет, то можно выходить сразу, а если идет, нужно взять с собой зонтик, и только после этого выходить на улицу).
Процедура создания алгоритмов
Предположим, вы создаете алгоритм с ветвлением, по которому будет выполняться какая-то программа. Схематически выбор можно обозначить ромбиком. Верхушкой ромба обозначена передача сигнала. Остальные три стороны отвечают за рассылку ответов. При этом совершенно не обязательно использовать все вершины, достаточно всего двух. Кстати говоря, ромб – это оператор ветвления. Он используется для обозначения данного действия. С чего начинается процедура разработки алгоритма? С получения необходимой информации. При построении алгоритма важно учитывать, с каким типом данных ведется работа. Логическое завершение должно быть всегда. Алгоритм, который обрывается на каком-то этапе, может привести к зависанию компьютера.
Это вызовет негативную реакцию. Так что же необходимо для практической реализации алгоритма? Прежде всего необходимо определить, что за что отвечает. Это даст вам возможность не допустить логических ошибок. Необходимо также учитывать все особенности реализации алгоритмов ветвления на том языке программирования, на котором вы планируете написать программу. Отточите свое умение на различных примерах. Так вам будет проще понять, как все работает. В этом случае реализация алгоритма не составит особых проблем. Если все же проблемы возникнут, попробуйте при создании алгоритма использовать минимальные шаги. Это позволит вам понять, на каком этапе возникает проблема.
Особенности создания алгоритмов
Алгоритмы ветвления теоретически могут быть бесконечными. По этой причине при создании таких алгоритмов вы можете не ограничивать число условий. Но чем их больше, тем труднее будет ориентироваться в алгоритме.
Теперь уделим немного внимания полному и неполному ветвлению. Понятно, что собой представляет первое. А вот в каких случаях следует использовать неполное ветвление? В случае, если имеется необходимость выполнить дополнительные действия, связанные с особенностью программы, и одновременно имеется вариант простого продолжения. Схема построения алгоритма при этом будет неполной, но она в полном объеме будет выполнять свою функцию.
Чтобы усвоить полученную информацию, рассмотрим в качестве примера одну простую программу. Примеры алгоритмов с ветвлением помогут вам лучше разобраться в данном вопросе. Предположим, вы пишите простую игру, в которой управляемый пользователем персонаж должен убегать от других персонажей. Если между героями игры происходит контакт, то некоторое время спустя происходит некое действие (герой проигрывает или начинает медленнее бежать). Вам предстоит выбрать, что и как здесь следует делать. Следует также учитывать набор возможных вариантов действий, которые может использовать программист для реализации данного проекта. Можно «убивать» главного героя игры или делать так, чтобы на него накладывался определенный графический эффект во время работы цикла, который работает в определенном промежутке времени. Выбор действия остается за вами.
Для чего необходимо ветвление в алгоритмах
Блок 3: «Виды алгоритмов»
Тема 2:»Составление разветвляющихся алгоритмов».
Ветвление в алгоритмах позволяет выполнить действие (или серию действий)
в зависимости от выполнения или невыполнения какого-нибудь условия.
x>5; s1 d$=»да» ; j<>4 ( не равно ) ;
Z3>=3 (больше или равно) ; t
Если условие соблюдается, то выполняются действия, расположенные в ветви под названием «Да».
В случае несоблюдения условия будут выполнены действия, расположенные в ветви «Нет».
Структура В етвление в разветвляющихся алгоритмах может быть представлена в двух формах: полной или неполной.
На алгоритмическом языке структура ВЕТВЛЕНИЕ записывается следующим образом:
В полной форме | В неполной (сокращенной) форме |
1. Для чего необходимо ветвление в алгоритмах?
2. Что такое условие?
3. Какие формы ветвления различают?
4. Сравните формы ветвления между собой.
5. Как оформляется ветвление в алгоритмах, записанных в виде блок-схемы?
6. Как оформляется ветвление в алгоритмах, записанных на алгоритмическом языке?
7. Как осуществляется выполнение действий в ветвлении при записи алгоритма на алгоритмическом языке?