31 марта 2017

Кодвардс. Программирование. Урок №8.

Здравствуйте, начинаем
Урок 8. Уборка в топливном цеху. Продолжение.
Использование циклов в программах. 
Цели занятия: 

  1. Научиться использовать циклы в программах. 
  2. Уметь приводить примеры событий, в которых есть повторяющиеся действия. 
Термины: повтор, цикл, компьютер, робот, инженер, команда.
Команды: move, rotate, left, right, get, put
Объект: robot

На предыдущем занятии №7 мы научились с вами выделять повторяющиеся действия. Давайте поупражняемся. Внимательно изучи картинки ниже. Ответь, какое явление на них изображено? Что повторяется в каждом явлении?
На этой картинке вы видите годовой цикл времён года. Из года в год сменяют друг друга в одном и том же порядке зима, весна, лето и осень.
 На этой картинке вы видите жизненный цикл человека. Он рождается, взрослеет, рождает потомство и умирает. Такой процесс происходит у всего живого на земле.
Этот рисунок говорит о суточном цикле смены дня и ночи. Всё это–цикл. Это понятие встречается не только в программировании, но и в природе и во многих сферах жизни человека. Попробуй вспомнить некоторые жизненные циклы, которые выполняешь ты сам. Продолжи предложения:
  1. Каждый день я .......
  2. Каждую неделю я....
  3. Каждое лето я.....
Для упрощения ПРОГРАММЫ, уменьшения количества строк кода на повторяющихся КОМАНДАХ мы применяем оператор ЦИКЛА. А как мы упрощаем повторяющиеся рутинные действия в жизни? Какие устройства для этого придумал человек? Вспомни и скажи, какие есть устройства, которые делают повторяющиеся действия вместо человека. В таблице есть подсказки.
Название устройства
Действия
Что делали люди до
 изобретения устройства
Электрический чайник
Сам отключается,
когда закипает.
???
Автополив растений
???
???
???
Сама стирает грязную
одежду. 
Частично высушивает.
???
???
???
Топили печь дровами.
Поддерживали тепло и 
огонь в доме.
???
Сам воспроизводит музыку
???
Как определить цикл действий? Надо наблюдать за повторяющимися командами, посчитать их количество и получится цикл. Например, вот команды для Тома, которому надо покрасить забор. 

  • Том, крась забор 2 часа 
  • Том, отдыхай 1 час 
  • Том, крась забор 2 часа 
  • Том, отдыхай 1 час.

Если применить оператор цикла для этого действия, то получится следующее:
  • Цикл 2 (т.к. команды повторяются 2 раза)
  • Том, крась забор 2 часа.
  • Том, отдыхай 1 час.
  • Конец
На самом деле, уметь выделять цикл действий–очень полезное умение. Например, зная, что строчки песни должны повторяться, мы можем записать количество повторений и текст песни будет значительно короче. Вот пример. В песне «Жил-был у бабушки серенький козлик» есть повторяющиеся строчки: 
Жил-был у бабушки серенький козлик, 
Жил-был у бабушки серенький козлик, 
Вот как, вот как, серенький козлик, 
Вот как, вот как, серенький козлик. 

Бабушка козлика очень любила, 

Бабушка козлика очень любила, 
Вот как, вот как, очень любила, 
Вот как, вот как, очень любила.

Вздумалось козлику в лес погуляти, 

Вздумалось козлику в лес погуляти,
Вот как, вот как, в лес погуляти, 

Вот как, вот как, в лес погуляти.

Напали на козлика серые волки, 

Напали на козлика серые волки, 
Вот как, вот, как серые волки, 
Вот как, вот, как серые волки.

Остались от козлика рожки да ножки, 

Остались от козлика рожки да ножки, 
Вот как, вот как, рожки да ножки, 
Вот как, вот как, рожки да ножки.

Текст песни можно записать значительно короче.
Посмотрите, всё ли правильно я сделала, упростив запись песни?

Жил-был у бабушки серенький козлик, 

Вот как, вот как, серенький козлик,

Бабушка козлика очень любила, 

Вот как, вот как, очень любила.

Вздумалось козлику в лес погуляти,
Вот как, вот как, в лес погуляти.

Напали на козлика серые волки, 

Вот как, вот, как серые волки.

Остались от козлика рожки да ножки, 

Вот как, вот как, рожки да ножки.

Второй вариант песни значительно короче. Но! Вам не кажется, что здесь чего-то не хватает и я что-то забыла дописать. Что нужно добавить в текст песни, чтобы она стала правильной? Я думаю, что вы догадались. Во втором варианте песни не указано количество повторений каждой строки по 2 раза.

Программирование - это не только написать правильную последовательность команд. Это также и умение сделать текст вашей программы как можно более коротким и понятным.

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

  1. robot.rotate left 
  2. robot.rotate left 
  3. robot.rotate left 
  4. robot.rotate left …....

Представляете, насколько длинным будет текст программы? Мне кажется, будет здорово написать что-то значительно короче. Вы уже знаете, что что наш робот понимает команду loop. И более короткий текст программы будет: 

  1. loop 100 
  2. robot.rotate left 
  3. end

Теперь давайте представим, что мы хотим написать программу, по которой робот будет двигаться по квадрату со стороной в пять клеток. И пусть он сделает таких передвижений 10 раз. Из каких команд должна состоять программа? 

  • robot.move 5 
  • robot.rotate left 
  • robot.move 5 
  • robot.rotate left 
  • robot.move 5 
  • robot.rotate left ....

Вариантов решения может быть несколько. Решение №1:

  1. loop 10 
  2. robot.move 5 
  3. robot.rotate left
  4. robot.move 5 
  5.  robot.rotate left 
  6.  end 

Решение №2:

  1. loop 20 
  2. robot.move 5 
  3. robot.rotate left 
  4. end 

Итак, сегодня вы продолжаете наводить порядок. Нужно убрать масляные пятна в топливном цехе. Выполните миссии 42–47 и дополнительное задание 15.
Не забудьте, что нельзя долго работать за компьютером. Надо делать разминку и распределять задания на несколько дней, если вы не справляетесь с ними быстро.
После выполнения всех заданий вам нужно выполнить шифровку, где вы символически изобразите, что вы делали на этом занятии и вложите её в свою папку спасателей. Дополнительное задание для желающих называется «Придумай своё устройство». Все странички можно скачать ниже и распечатать.

  1. Придумай своё устройство
  2. Шифровка для центра спасателей

Комментариев нет:

Отправить комментарий

Буду признательна, если Вы поделитесь своими мыслями.
ПОДПИСЬ К КОММЕНТАРИЮ.
- В окошке комментария напишите то, что хотели.
- Нажмите на стрелку в окошке "Подпись комментария".
- Выберите Имя/URL
- Наберите своё имя, строчку URL можете оставить пустой.
- Нажмите "Продолжить".
- Нажмите "Публикация".
ВСТАВИТЬ КАРТИНКУ В КОММЕНТАРИЙ:
[im#]ссылка на изображение[/im] - картинка по ширине комментария
[im]ссылка на изображение[/im]- картинка в исходном размере