Электронный портфолио - Алгоритм ветвления



Полезные ссылки
  • Федеральная коллекция цифровых образовательных ресурсов
  • Федеральный портал Российское образование
  • Новое образование
  • Президент России
  • Конструирование технологической карты урока
  • "Вестник образ.России"
  • Безопасный интернет детям
  • Педсовет.org
  • Портал "Мой университет"
  • Учебно-методический портал





  • Алгоритм ветвления

     

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

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

    Когда выполняемые действия зависят от некоторых условий, для их записи используются разветвляющиеся алгоритмы. Разветвляющимися называются алгоритмы, содержащие ветвления. Что же такое ветвление? 

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

     

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

    Для принятия решения ход рассуждений может быть таким:

    Полная форма записи:

    ЕСЛИ <условие> ТО <одна последовательность команд> ИНАЧЕ <другая последовательность команд>

    Например,

    Если знать, где упадёшь, то соломки подстелешь, иначе разобьёшь нос.

             Иногда, встречаются ситуации, когда вторая последовательность команд отсутствует, то есть сокращённая форма записи.

    ЕСЛИ <условие> ТО <одна последовательность команд>

    Например,

    Если цветут ландыши, то пришла весна.

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

    Рассмотрим такую ситуацию: шестиклассница Таня принялась за уроки. Таня решила позвонить Никите. Если Никита ответит, то сделать информатику, если он не ответит, то позвонить Маше. Если Маша ответит, то разобраться с математикой, иначе (если Маша не ответит) выучить стихотворение по литературе.

    Изобразим с помощью блок-схемы последовательность действий Тани:

    Начало алгоритма (Таня решила позвонить). Далее Условие для принятия решения (Никита ответил) если да – то делать информатику; если нет – то следующее действие (позвонить Маше). Далее – условие (Маша ответила), если да – то разобраться с математикой, если нет – учить стихотворение по литературе. Конец алгоритма.

    Итак, Вы заметили, что Таня совершала действия, в зависимости от выполнения или невыполнения определённого условия, то есть действовала по алгоритму с ветвлением.

    Даже в русских народных сказках героям приходится принимать решения. Давайте вспомним Илью Муромца.

    И отправился в путь Илья Муромец по Земле Русской.

    Долго ехал иль коротко да выехал он к трём дороженькам. Камень лежит, а на нём написано:

    «Прямо пойдёшь — жену найдёшь, влево пойдёшь – богатство найдёшь, вправо пойдёшь – смерть найдёшь».

    Задумался Илья Муромец:

    «Жену искать – да женат уже, на Алёнушке, богатство вовсе мне не надобно! Поеду смерть искать, на роду мне смерти не написано».

    И пошёл Илья дорогой правою.

    Опишем алгоритм действий Ильи Муромца в словесной форме:

    То есть, если рассматривать ситуацию с Ильёй Муромцем мы видим, что, выбрав одну из дорог, герой определил свою дальнейшую судьбу.

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

    Имеется 5 одинаковых, пронумерованных медальонов. Но один из них фальшивый. Он легче остальных (4 медальона имеют одинаковый вес). Требуется при помощи 2 взвешиваний на чашечных весах без гирь найти фальшивый медальон.

    Алгоритм решения этой задачи может быть, например, таким:

    Положим на первую чашу весов медальоны 1 и 2 на вторую 3 и 4. Если весы в равновесии, то фальшивый медальон 5.

    Иначе, если первая чаша весов поднялась вверх, то убираем медальоны и положим на первую чашу весов медальон 1, а на вторую медальон 2. Далее

    если первая чаша весов поднялась вверх, то фальшивый медальон 1, иначе фальшивый медальон 2.

    Если вторая чаша поднялась вверх, убираем медальоны и положим на первую чашу весов медальон 3, а на вторую медальон 4. Если первая чаша весов поднялась вверх, то фальшивый медальон 3, иначе фальшивый медальон 4.

    С помощью блок-схемы решение данной задачи можно изобразить так:

    Начало.

    Выполняемое действие: Положим на первую чашу весов медальоны 1 и 2 на вторую 3 и 4.

    Далее условие: смотрим на весы. Весы в равновесии? Если да, то Вывод: фальшивый медальон 5. Если нет, то Вывод: фальшивый медальон на поднявшейся вверх чаше весов.

    Следующее Условие – Какая чаша весов поднялась вверх?

    Если первая, то Действие: положим на первую чашу весов медальон 1, а на вторую медальон 2.

    Условие: Какая чаша весов поднялась вверх? Если первая то, вывод - фальшивый медальон 1. Иначе (если поднялась вторая чаша) фальшивый медальон 2.

    Если вторая, то Действие: положим на первую чашу весов медальон 3, а на вторую медальон 4.

    Условие: Какая чаша весов поднялась вверх? Если первая то, вывод - фальшивый медальон 3. Иначе (если поднялась вторая чаша) фальшивый медальон 4.

    Конец алгоритма.

    Таким образом, в этой задаче, фальшивый медальон, мы нашли за два взвешивания.

    На какой сигнал светофора можно перейти дорогу? Конечно, только на зелёный сигнал светофора. А вы знаете, как правильно переходить дорогу? Давайте поможем девочке перейти дорогу и составим алгоритм «Перейти дорогу».

     

    Итак!

    Начало.

    Подойти к пешеходному переходу.

    Посмотреть, горит ли зелёный свет?

    Если нет, то ждать зелёного сигнала светофора.

    А если горит зелёный, то перейти дорогу.

    Конец.

    А что это за ромбик? Почему нельзя было написать в прямоугольнике?

    Посмотрите внимательно, внутри ромбика стоит вопрос, на который можно ответить только «да» или «нет», это условие. А условие в блок-схеме записываются в ромбике. При этом из ромбика выходят две стрелочки: по одной мы идём в случае ответа «да», а по другой – в случае ответа «нет».

    Есть команда, которая выполняется, если условие НЕ соблюдается и есть команда, которая выполняется всегда.

    Только девочка перешла дорогу, звонит папа, и говорит: «Придёшь домой – вскипяти чайник».

    Возьми чайник, открой крышку. Есть вода? Если нет, налей воды, а если есть закрой крышку, включи плиту и поставь чайник на плиту. Затем дождись, пока чайник закипит, и выключи плиту. А мы всё это дополним блоком «начало» и блоком «конец». И что у нас получилось?

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

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

    В жизни очень часто действия делаются по условию. (Если идёт дождь, взять зонтик; если высокая температура, вызвать врача; если уроки сделал, можно погулять).

    Команда алгоритма, в котором находится условие, называется ветвлением. Посмотрите на эту дорогу.

    Она разветвляется, у неё есть ветвления; мы можем ехать либо по правой ветке, либо по левой. Гусеница тоже выбирает, по какой ветке ей ползти, Иван-царевич на распутье (даже в сказках встречается ветвление). А когда нам надо поставить букет в вазу? Это тоже алгоритм, в котором есть ветвление. Давайте составим блок-схему алгоритма «Поставить букет в вазу».

    Конечно первый блок – это блок Начало.

    Далее: взять вазу

    Посмотреть: в вазе есть вода. Если нет, налить воду в вазу. А если есть вода, то поставить букет в вазу. И алгоритм заканчивается блоком конец.

    А где в нашем алгоритме условие ветвления? Конечно «в вазе есть вода?», так как на него мы можем ответить либо «да», либо «нет». И условие всегда записывается в ромбике.

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

    И эти команды алгоритма кто-то перепутал местами.

    Но, ничего страшного. Мы справимся и с этим заданием.

    Итак.

    Начало.

    Подойти к телефону.

    Взять трубку телефона.

    Набрать номер.

    Короткие гудки? Если да, то положить трубку.

    Если нет, то подождать, пока ответят.

    Попросить позвать друга к телефону.

    Конец.

    С этим заданием мы справились без труда! А где здесь условие ветвления? Конечно: «Короткие гудки?».

    И вдруг появляется кот учёный и говорит.

    «Алгоритмы вы составляете совсем лёгкие. Я для вас придумал сложный алгоритм. Попробуйте его выполнить. А я посмотрю, как это у вас получится. Представляю вам Алгоритм «Раскрасить крышу».

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

    Будем с вами очень внимательны. Итак!

    Начало.

    У дома есть труба? Смотрим, на этой картинке трубы нет! Есть крыльцо? Смотрим, на нашей картинке и крыльца нет. Значит, красим крышу в красный цвет! И конец алгоритма.

    Опять та же картинка!

    Начало. Есть труба? Смотрим, на этой картинке труба есть. Значит, красим крышу синим цветом. И конец алгоритма.

    И опять та же картинка!

    Начало. Есть труба? Смотрим, на нашей картинке трубы нет! Есть крыльцо? Смотрим, есть крыльцо. Значит, красим крышу в жёлтый цвет! И конец алгоритма.

    Ну, кот учёный, проверяй нашу работу.

     

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

       

     

     

     

     

     

    Понедельник, 13.05.2024, 10:59
    Приветствую Вас Гость
    Главная | Регистрация | Вход
    Календарь

    Погода
    Статистика сайта
    Кто онлайн:
    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    ...
    Опрос
    Прошу оценить сайт






    Результаты
    формулы и расчеты
    Формулы и расчеты
    блок
    Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Добавить сайт в каталогВысшая школа делового администрирования
    Администратор сайта Никишина Татьяна Павловна© 2012 год
    Бесплатный конструктор сайтов - uCoz