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

Разделы: Информатика


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

Оборудование: карточки - задания для работы в группах.

Ход урока

Организационный момент.

Объяснение нового материала.

На предыдущих уроках мы рассматривали такие алгоритмы, в которых все действия выполнялись одно за другим независимо ни от чего. Такие алгоритмы мы назвали линейными; характерная для них форма организации действий - последовательное выполнение. Сегодня на уроке мы обсудим алгоритмы, в которых какое - либо действие совершается в зависимости от выполнения или невыполнения некоторого условия.

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

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

Рассмотрим два примера.

Допустим, вы собрались идти в кинотеатр на сеанс 12.00. Алгоритм покупки билета может быть таким:

  • подойти к кассе
  • если билеты на 12.00 есть, купить билеты
  • отойти от кассы

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

  • уменьшить скорость
  • если ремонт участка закончен, то проехать 5 км по отремонтированному участку, иначе проехать 10 км в объезд
  • остановиться у АЗС
  • "Билеты на 12.00 есть?" - это условие, которое надо проверить в первом случае.
  • "Ремонт окончен?" - проверяется условие во втором примере.
  • Что происходит после проверки условия? В первом примере, если условие выполнено, то сразу совершается действие
  • купить билет
  • а затем - действие
  • отойти от кассы

Если же условие не выполнено, то сразу же совершается действие

  • отойти от кассы

Во втором примере в случае выполнения условия выполняется действие

  • проехать 5 км по отремонтированному участку
  • а затем
  • остановиться у АЗС
  • В противном случае
  • проехать 10 км
  • остановиться у АЗС

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

В первом примере предполагается выполнение действия ( купить билет) только при выполнении условия (если есть билеты на 12.00)

Во втором примере мы что-то делаем и при выполнении условия и при его невыполнении.

Таком образом, ВЕТВЛЕНИЕ - это такая форма организации действий, при которой в зависимости от выполнения или невыполнении некоторого условия совершается либо одна, либо другая последовательность действий.

Приведите свои примеры на полное и неполное ветвление.

Задача для всего класса:

Составить блок-схему для сказочного алгоритма: ":поехал Иван-царевич на сером волке за Жар-птицей. Ехал он, ехал, глядь - перед ним лежит огромный камень. На камне - надпись: направо пойдешь - коня пойдешь, налево пойдешь - голову сложишь:"

Другими словами, в разветвляющимся алгоритме, как в сказке, обязательно есть развилка. После нее может выполняться либо одно, либо другое действие, а какое - зависит от условия. Если Иван- царевич поедет направо - коня потеряет, если налево - голову сложит. Выполнить он может только одно действие!

(Класс разбивается на группы и далее работа происходит в группах.)

Задания для групп.

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

  • измерить температуру
  • если температура выше 37 оС, то:
  • вызвать врача
  • пойти в школу

Не смотря на недомогание, школьник исправил этот алгоритм, добавив всего 2 строки. Какие строки добавил школьник?

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

Нажать клавишу "стрелка вправо"

Нажать клавишу "стрелка вправо"

Если курсор находится на букве "о", то:

Нажать на клавишу с буквой "о"

Какое слово будет написано на экране после выполнения этого алгоритма, если первоначально было написано слово: а) слава, б) олово.

Однажды зимой учитель физкультуры объявил, что занятия на улице будут проходить только при температуре не ниже 15 градусов мороза. Школьник, собираясь утром в школу, размышляет, брать ли ему лыжный костюм или форму для зала. Какой алгоритм должен исполнить школьник, чтобы отправиться в школу в нужной экипировке?

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

(Следующее задание ученики делают в тетради, а затем представляют решение на доске.)

Запишите в виде алгоритма правило определения знака при произведении двух чисел.

Запишите в виде алгоритма правило определения знака для суммы двух чисел.

Запишите в виде алгоритма правило определения знака для частного двух чисел.

Закрепление.

Ответить устно:

Какие алгоритмы называют разветвляющимися?

Какое бывает ветвление и как оно реализуется в виде блок-схем?

Домашнее задание.

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

Приложение.