что такое алгоритм с ветвлением
Информатика. 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 |
Система условий для исполнителя Робот построена таким образом, что можно обойтись без использования логической операции отрицания.
Алгоритмы с ветвлениями
Урок 27. Информатика 6 класс ФГОС
В данный момент вы не можете посмотреть или раздать видеоурок ученикам
Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобрев в каталоге.
Получите невероятные возможности
Конспект урока «Алгоритмы с ветвлениями»
· алгоритмы с ветвлениями.
На прошлом уроке мы с вами изучали линейные алгоритмы. Напомним, что линейным называется алгоритм, в котором команды выполняются в порядке их записи, т.е. последовательно друг за другом.
Но в реальной жизни таких ситуаций, в которых заранее известен алгоритм действий и результат, очень мало. Зачастую нам приходится принимать решения, которые влияют на нашу дальнейшую судьбу. Например, если я сегодня выучу параграф по информатике, то завтра получу хорошую отметку, если нет, то отметка будет плохой. Или если я буду хорошо учиться в школе, то я смогу достичь успеха, иначе успешным мне не стать.
Для принятия решения ход рассуждений может быть таким:
Полная форма записи:
Если знать, где упадёшь, то соломки подстелешь, иначе разобьёшь нос.
Иногда, встречаются ситуации, когда вторая последовательность команд отсутствует, то есть сокращённая форма записи.
Если цветут ландыши, то пришла весна.
Таким образом, можно сделать вывод, что алгоритм с ветвлением – это алгоритм, в котором в зависимости от выполнения или невыполнения некоторого условия приводится к исполнению либо одна, либо другая последовательность команд.
Рассмотрим такую ситуацию: шестиклассница Таня принялась за уроки. Таня решила позвонить Никите. Если Никита ответит, то сделать информатику, если он не ответит, то позвонить Маше. Если Маша ответит, то разобраться с математикой, иначе (если Маша не ответит) выучить стихотворение по литературе.
Изобразим с помощью блок-схемы последовательность действий Тани:
Начало алгоритма (Таня решила позвонить). Далее Условие для принятия решения (Никита ответил) если да – то делать информатику; если нет – то следующее действие (позвонить Маше). Далее – условие (Маша ответила), если да – то разобраться с математикой, если нет – учить стихотворение по литературе. Конец алгоритма.
Итак, Вы заметили, что Таня совершала действия, в зависимости от выполнения или невыполнения определённого условия, то есть действовала по алгоритму с ветвлением.
Даже в русских народных сказках героям приходится принимать решения. Давайте вспомним Илью Муромца.
И отправился в путь Илья Муромец по Земле Русской.
Долго ехал иль коротко да выехал он к трём дороженькам. Камень лежит, а на нём написано:
Задумался Илья Муромец:
И пошёл Илья дорогой правою.
Опишем алгоритм действий Ильи Муромца в словесной форме:
То есть, если рассматривать ситуацию с Ильёй Муромцем мы видим, что, выбрав одну из дорог, герой определил свою дальнейшую судьбу.
А теперь давайте рассмотрим задачу по математике, решение которой зависит от выполнения либо невыполнения заданного условия.
Имеется 5 одинаковых, пронумерованных медальонов. Но один из них фальшивый. Он легче остальных (4 медальона имеют одинаковый вес). Требуется при помощи 2 взвешиваний на чашечных весах без гирь найти фальшивый медальон.
Алгоритм решения этой задачи может быть, например, таким:
Положим на первую чашу весов медальоны 1 и 2 на вторую 3 и 4. Если весы в равновесии, то фальшивый медальон 5.
Иначе, если первая чаша весов поднялась вверх, то убираем медальоны и положим на первую чашу весов медальон 1, а на вторую медальон 2. Далее
если первая чаша весов поднялась вверх, то фальшивый медальон 1, иначе фальшивый медальон 2.
Если вторая чаша поднялась вверх, убираем медальоны и положим на первую чашу весов медальон 3, а на вторую медальон 4. Если первая чаша весов поднялась вверх, то фальшивый медальон 3, иначе фальшивый медальон 4.
С помощью блок-схемы решение данной задачи можно изобразить так:
Выполняемое действие: Положим на первую чашу весов медальоны 1 и 2 на вторую 3 и 4.
Далее условие: смотрим на весы. Весы в равновесии? Если да, то Вывод: фальшивый медальон 5. Если нет, то Вывод: фальшивый медальон на поднявшейся вверх чаше весов.
Следующее Условие – Какая чаша весов поднялась вверх?
Если первая, то Действие: положим на первую чашу весов медальон 1, а на вторую медальон 2.
Если вторая, то Действие: положим на первую чашу весов медальон 3, а на вторую медальон 4.
Таким образом, в этой задаче, фальшивый медальон, мы нашли за два взвешивания.
Давайте разработаем свой алгоритм с ветвлениями на компьютерном практикуме. Создадим презентацию с гиперссылками «Времена года», с помощью редактора презентаций PowerPoint. Сделаем презентацию, в которой, в зависимости от принятого Вами решения (по алгоритму с ветвлениями) будут меняться слайды.
Напомним, что открыть программу PowerPoint можно нажав в меню Пуск – Все программы – Microsoft Office – Microsoft PowerPoint 2010.
Выберем вкладку Главная, затем в группе Слайды нажмём на кнопку Макет нам нужен слайд Заголовок и объект.
В поле Заголовок слайда введём название «Времена года». Для того чтобы у нас получился индивидуальный заголовок, перейдём на вкладку Форматирование и с помощью инструментов группы Стили WordArt выберем понравившийся Вам вид.
Затем в поле Текст слайда перечислим все времена года. Выделим получившийся список и перейдём на вкладку Главная. Используя инструменты группы Шрифт отредактируем список.
На вкладке Главная нажимаем Создать слайд на кнопке Макет выбираем Два объекта.
Озаглавим слайд «Зима», и сделаем заголовок красочным и индивидуальным.
Заполним одно из полей стихотворением о зиме. Для этого, на вашем компьютере, в Вашей рабочей папке, откроем папку «Времена года». В данной папке находится текстовый документ «Стихи». Нам необходимо открыть его и скопировать стихотворение о зиме. Затем ставим курсор в поле «Текст слайда» и нажимаем Вставить.
В другое поле вставим рисунок Зима из папки «Времена года». Для этого в поле нажимаем Рисунок. На компьютере выбираем папку «Времена года», затем рисунок зима.
Точно также создадим слайды «Весна», «Лето» и «Осень».
Нам необходимо связать слово «зима» с подходящим к нему слайдом, то есть, создать гиперссылку. Для этого перейдём на первый слайд, выделим слово «Зима» и нажмём Вставка — Гиперссылка.
Точно также создаём гиперссылки от слов «Весна», «Лето», «Осень».
Добавим на каждый слайд Зима, Весна, Лето и Осень управляющую кнопку, которая осуществляет переход на первый слайд.
перейдём на вкладку Вставка;
в группе Фигуры выберем среди управляющих кнопок кнопку В начало;
растянем кнопку до нужного нам размера;
в окне Настройка действия установим переход по гиперссылке на первый слайд.
Запустим презентацию. Выбираем вкладку Показ слайдов, нажимаем С начала. Просмотрим слайды презентации с использованием гиперссылок.
Сохраним презентацию при помощи вкладки Файл, Сохранить как в своей рабочей папке. Указываем путь и задаём имя Времена года. Нажимаем кнопку сохранить.
Итак, в нашей презентации «Времена года» ветвление – это переход и открытие выбранного нами слайда.
Таким образом, сегодня на уроке мы узнали, что:
Ветвлением называется форма организации действий, при которой в зависимости от выполнения или невыполнения некоторого условия совершается либо одна, либо другая последовательность действий.
Для записи алгоритма с ветвлениями используется полная и сокращённая формы записи.
Так же мы выяснили, что очень часто в повседневной жизни нам необходимо действовать по алгоритму с ветвлениями.
Алгоритм ветвления. Отличие от алгоритмов линейной структуры
Статья рассказывает про алгоритмы с разветвлённой структурой. Читатель узнает, чем их решение отличается от решения линейных алгоритмов, как выглядит программный способ записи таких алгоритмов, а также какова будет блок-схема.
В предыдущей статье шла речь об алгоритмах, их особенностях и свойствах. Особое внимание было уделено линейной структуре как самому простому способу реализации. Сегодня поговорим о более сложных алгоритмах, обладающих разветвлённой структурой. Но прежде чем продолжать, следует кое-что вспомнить.
Алгоритм – это ясный перечень действий, который направлен на решение какой-либо задачи. Одно из свойств алгоритма — дискретность. Дискретность связана с наличием в алгоритмической последовательности ряда операций (этапов, действий), выполняемых пошагово, то есть дискретно. Алгоритм обладает свойством дискретности, так как он представляет собой процесс решения задачи в виде последовательного выполнения простых шагов. И каждое действие исполняется лишь после окончания исполнения предыдущего. Также предполагается наличие определённых исходных данных и результата выполнения.
Блок-схема — графический способ описания алгоритмов. Графическое представление обеспечивает наглядность и упрощает запись, делая последовательность более понятной. При использовании схемы каждому действию соответствует определённая геометрическая фигура (эти фигуры называют блоками). Вот наиболее часто употребляемые:
Ещё раз о линейности
Линейная последовательность — самая простая из возможных структур. При наличии линейности команды выполняются в чёткой последовательности и в порядке их записи, то есть друг за другом. Вот линейная алгоритмическая последовательность посадки дерева: 1) выкапывание ямки в земле; 2) размещение в ямке саженца; 3) закапывание ямки; 4) поливание места посадки водой.
Такой линейный алгоритм имеет следующую блок-схему:
А вот и общая схема линейного алгоритма:
Ветвление в алгоритмических последовательностях
На практике очень редко встречается, чтобы последовательность всех требуемых действий была известна заранее. Если на минуту покинуть мир алгоритмизации и программирования, можно спроецировать ветвление на многие жизненные ситуации. Если на улице дождь, человек берёт зонт, если очень жарко, будет выбрана одежда полегче и т. д. Всё зависит от условия выбора. Как тут не вспомнить рыцаря на распутье из русских народных сказок?
Подобная ситуация заставляет принимать решения с учётом определённого условия. Если нужна жена, то витязь идёт направо, если богатство, то налево, если жизнь не мила, то прямо. Условия, которые влияют на решение, располагаются между словами «если» и «то».
От значения условий зависит дальнейшее поведение. Когда условие выполняется, оно принимает значение «истина», когда нет — «ложь». Иногда анализ ситуации и выбор не вызывают особых затруднений, а иногда принять решение очень трудно. А всё потому, что принимающий решение пытается продумать каждый из вариантов и предугадать последствия выбора. Нельзя не вспомнить гроссмейстера, который анализирует позицию на ходы вперёд, прежде чем передвинуть фигуру на шахматной доске.
Компьютерные программы и игры тоже построены на выборе действий. А блок-схема при наличии ветвления приобретает иной вид:
Логика разветвляющих алгоритмов
Логику можно описать следующим образом:
Ветвление — метод и форма организации действий, когда в зависимости от выполнения определённого условия совершается та либо иная последовательность шагов.
В результате совсем несложно составить алгоритм покупки мороженого с учётом наличия необходимой суммы денег. Описать эту алгоритмическую последовательность с помощью схемы и блоков тоже не составит труда:
Для закрепления можно решить задачу.
Есть 3 монеты одинакового достоинства. Одна из монет фальшивая (известно, что она имеет меньший вес). Найдите фальшивую монету на чашечных весах без гирь с помощью только одного взвешивания.
Решение легко описывается посредством схематических блоков:
Следующий пример легко экстраполируется в жизнь. Речь идёт об алгоритме для перехода дороги при наличии светофора. Он имеет следующий вид: 1. Подходим к светофору. 2. Смотрим, какой горит свет. 3. Если зелёный, переходим дорогу. 4. Если красный, ждём, пока загорится зелёный, а потом переходим дорогу.
Программный способ записи
Чтобы алгоритм было понятен компьютеру, машине и любой другой цифровой системе, следует оформить его в таком виде, который эта система способна воспринимать. То есть надо написать программу, используя для этого команды из СКИ. СКИ — это список команд исполнителя — перечень команд, ему понятных. А любой исполнитель способен исполнить лишь те команды, которые включены в его СКИ, а если говорить человеческим языком — входят в набор его компетенций.
Для примера можно реализовать алгоритм на языке программирования Pascal. Исходя из вышесказанного, следует использовать команды, входящие в терминологию Pascal.
Простейший пример описания алгоритма с разветвляющейся структурой — условный оператор IF. Полная конструкция этого условного оператора имеет следующий вид:
Здесь if — это «если», then — это «то», else — «иначе».
Условный оператор работает просто: — вычисляется значение логического выражения, которое расположено после служебного слова IF; — если результат — истина, выполняется оператор 1, который размещён после THEN, причём действие после ELSE пропускается; — если результат — ложь, пропускается уже действие после THEN, а действие после ELSE выполняется с помощью оператора 2.
Теперь можно вспомнить пресловутого витязя на распутье и написать простую программу, реализующую этот алгоритм с помощью соответствующих условных операторов.
Попробовать этот алгоритм в работе можно на любом онлайн-компиляторе, поддерживающим Pascal. Но не стоит на этом останавливаться — лучше всего написать собственную программу, что позволит получить максимальную пользу от урока.
Урок 8. Блок-схема оператора if
В предыдущих уроках мы рассмотрели наиболее простой, линейный тип алгоритмов. Напомню, что всего существует три типа: линейные, разветвляющиеся и циклические (алгоритмы с повторениями). В этом уроке я расскажу вам о втором типе алгоритмов — об алгоритмах с ветвлениями.
Ветвления
Ветвление – это команда алгоритма, в которой делается выбор, выполнять или не выполнять какую-нибудь группу команд в зависимости от условий.
Ветвление используется в двух случаях:
В блок-схеме условие ветвления изображается в ромбе, из которого обязательно выходят ДВЕ стрелки – первая (стрелка «Да») указывает на команды, которые будут выполняться в случае, если условие соблюдено; вторая (стрелка «Нет») – на команды, которые будут выполнены, если условие не соблюдено. Даже если команда, на которую указывает одна из стрелок (Чаще всего «Нет») отсутствует, стрелка все равно имеет место быть.
Алгоритм с ветвлением, представленный в виде блок-схемы.
В словесной формулировке запись ветвления выглядит так:
Реализация ветвления в Паскаль.
Как же реализовать ветвление в Паскаль? Проще, чем вы думаете:
if then else
Запомните! Перед else никогда не ставят точку с запятой!
Давайте поговорим об условии выбора. Понятно, что этологическое выражение. Если оно является правдой, то выполняется главная ветвь, если ложь, то боковая ветвь.
Задачи из блока if.
Рассмотрим несколько задач из сборника М.Э.Абрамяна «1000 задач по программированию».
If1. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число.
В данной программе даже не надо реализовывать боковую ветвь.
If2. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2. Вывести полученное число.
If3. Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то вычесть из него 2; если нулевым, то заменить его на 10. Вывести полученное число.
Для того чтобы решить эту задачу мы должны использовать вложенный if.
If5. Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.
Длиннющая блок-схема. 🙂
If30. Дано целое число, лежащее в диапазоне 1–999. Вывести его строку-описание вида «четное двузначное число», «нечетное трехзначное число» и т. д.
Вот и все! Не забывайте кликать по кнопочкам и добавлять наш сайт в закладки!