Урок №19
Разработка несложных алгоритмов с использованием циклов для управления формальными исполнителями.
Повторение — последовательность действий, выполняемых многократно.
Алгоритмы, содержащие конструкцию повторения, называют циклическими или циклами.
Последовательность действий, многократно повторяющаяся в процессе выполнения цикла, называется телом цикла.
Общий вид цикла «пока»:
нц пока «условие»
«тело цикла»
кц
При выполнении цикла пока КУМИР циклически повторяет следующие действия: Проверяет записанное после служебного слова пока условие. Если условие не соблюдается, то выполнение цикла завершается, и КуМир начинает выполнять команды, записанные после кц. Если же условие соблюдается, то КуМир выполняет тело цикла, снова проверяет условие и т.д.
10 команд проверки условий:
1. сверху стена
2. сверху свободно
3. снизу стена
4 снизу свободно
5. справа стена
6. справа свободно
7. слева стена
8. слева свободно
9. клетка закрашена
10. клетка чистая
Среда работы:

У нас написано много вопросов. Давайте прочитаем их.
* Чайник пустой?
* Есть ещё игрушки в коробке?
* Идёт дождь?
* В тарелке есть ещё конфеты?
* Горит зелёный сигнал светофора?
* Остались яблоки на дереве?
* Устраивает цена книги?
* Есть невымытые помидоры?
* Задачи по математике задавали?
* Есть не заточенные карандаши?
Ой! А что это с ними произошло?
Есть ещё игрушки в коробке?
В тарелке есть еще конфеты
Остались яблоки на дереве?
Есть невымытые помидоры?
Есть незаточенные карандаши?
Чайник пустой?
Идет дождь?
Горит зеленый сигнал светофора?
Устраивает цена книги?
Задачи по математике задавали?
Они разделяются на 2 группы! Почему? А потому что одни вопросы относятся к вопросам условия алгоритма с ветвлением, а другие вопросы относятся к вопросам условия алгоритма с циклом.
Давайте вспомним, что такое ветвление и цикл в алгоритме.
Ветвление – это команда алгоритма, в которой делается выбор: выполнять или не выполнять какую-нибудь группу команд в зависимости от условия.
Цикл – это команды алгоритма, описывающие действия, которые надо повторить несколько раз.
Давайте посмотрим на вопросы ещё раз и определим, где вопросы условия цикла, а где вопросы условия ветвления, ведь на все эти вопросы мы отвечаем «да» или «нет».
Вопрос условия ветвления помогает нам определить, какую команду выполнять следующей. А вопрос условия цикла помогает определить, сколько раз выполнять команды алгоритма.
Давайте посмотрим на вопросы второй группы:
Чайник пустой? Если «да», то налить воды, если «нет», то сразу поставить на плиту. Устраивает цена книги? Если да, то купить её, а если нет, то искать дальше. Т.е. мы выбираем, какую команду выполнять следующей. Значит, эти вопросы относятся к вопросам ветвления в алгоритме.
А теперь давайте посмотрим на вопросы первой группы:
Есть ещё невымытые помидоры? Если да, тогда опять мыть помидору. Т.е. мы будем повторять одни и те же действия, пока не помоем все помидоры. И пока ответ на условие «Есть ещё невымытые помидоры?» не будет «нет», мы будем мыть очередной помидор. Значит, если мы выполняем одно и тоже действие несколько раз, то это вопросы условия цикла в алгоритме.
Давайте для разминки попробуем понять по картинке, ветвление или цикл будем использовать при составлении алгоритма.
Винни-Пух ест мёд. Здесь используется цикл в алгоритме. Винни-Пух будет совершать одни и те же действия, пока не съест весь бочонок мёда.
Дальше. Яблоня и падающее яблоко. А когда яблоки падают? Когда яблоко созрело, тогда и упало, а иначе висит и дозревает. Значит, здесь можно использовать алгоритм с ветвлением.
Человек идёт под зонтом. Конечно, ветвление в алгоритме. Если идёт дождь, берём зонт.
Яблоко разрезали на 8 долек. Конечно, здесь используется цикл в алгоритме. Т.к., чтобы разрезать яблоко на 8 частей, мы выполняем несколько раз одни и те же движения.
Мальчик спит, а рядом стоит будильник. Если будильник зазвонит, мальчику придётся встать с кровати и собираться в школу, даже если не хочется вылазить из-под одеяла. Конечно, здесь будет ветвление в алгоритме.
А бывает такое, что будильник уже звенит, а вставать ну-у совсем не хочется, но надо? А иногда бывает такое, что причина этому высокая температура. Но, чтобы узнать необходимо температуру измерить. А давайте составим алгоритм «Температура».
Мы знаем, что существует два способа записи алгоритма: словесный и графический (блок-схема). И графический способ, используется для того, чтобы представить алгоритм более наглядно и понятно. Поэтому мы при составлении наших алгоритмов будем использовать блок-схемы.
Любая блок-схема алгоритма начинается с блока Начало.
Далее взять градусник
Измерить температуру
Посмотреть, температура больше 37? Если да, то остаться дома и вызвать врача. А если меньше 37, то придётся идти в школу.
И конечно конец алгоритма.
Мы составили алгоритм с ветвлением. Давайте найдём условие в нашем алгоритме. Конечно, это «Температура больше 37»? Ну, будем надеяться, что у вас всегда будет температура 36,6 и всегда будете здоровы!
Вы любите рисовать? Сейчас у вас будет необычное задание – раскрасить воздушные шарики.
У вас есть всё необходимое для рисования: кисточка, акварель и стаканчик с водой. Вы спросите: «И что здесь необычного?» Действительно, ведь раскрасить шарики не такая уж и сложная задача. А давайте усложним эту задачу.
Необходимо среди всех геометрических фигур найти 4 воздушных шарика, раскрасить их и записать в табличку цвет каждого раскрашенного шарика. А ещё составить алгоритм «Найти и раскрасить 4 шарика».
Итак! Начало.
Найти шарик.
Раскрасить шарик.
Вписать цвет шарика в таблицу. Розовый.
Посмотреть? Есть ещё не раскрашенные шарики? Да! Есть! Ведь у нас 4 шарика, а мы раскрасили только один.
Опять Найти шарик.
Раскрасить шарик.
Вписать цвет шарика в таблицу. Жёлтый
Есть ещё не раскрашенные шарики? Да! Есть! Мы раскрасили только 2.
Опять Найти шарик.
Раскрасить шарик.
Вписать цвет шарика в таблицу. Зелёный.
Есть ещё не раскрашенные шарики? Да! Мы раскрасили и записали в таблицу 3 шарика,
Опять Найти шарик.
Раскрасить шарик.
Вписать цвет шарика в таблицу. Красный.
Посмотреть? Есть ещё не раскрашенные шарики? Нет! Нету. Мы уже раскрасили все 4 шарика.
И конец алгоритма.

А давайте найдём команды, которые выполнялись несколько раз.
Найти шарик.
Раскрасить шарик.
Вписать цвет шарика в таблицу
Итак, это был цикл в алгоритме.