Давайте разберемся, что же такое цикл и как научить выполнять циклические алгоритмы нашего Робота.
Итак, что такое цикл? Представьте, что мы находимся на уроке физической культуры и перед нами стоит задача сделать 7 приседаний. Это задание можно оформить в виде линейного алгоритма и тогда оно будет выглядеть примерно так:
сделай приседание
сделай приседание
сделай приседание
сделай приседание
сделай приседание
сделай приседание
сделай приседание
Т. е мы повторили команду сделай приседание 7 раз. А есть ли смысл писать 7 одинаковых команд? Может проще дать команду сделай 7 приседаний? Конечно проще и правильнее. Это и есть цикл. Вы можете сами вспомнить примеры циклов из жизни — их довольно много.
Таким образом линейный алгоритм, где повторяются одни и те же команды мы можем оформить в виде циклического алгоритма — примерно так:
повторяй 7 раз
сделай приседание
конец цикла
Вот так, на придуманном нами языке мы оформили цикл. У исполнителя Робот тоже есть возможность записывать циклы. Причем, циклы бывают разные. Тот вариант, который мы только что рассмотрели называется цикл со счетчиком или цикл с параметром.
Цикл — это многократное исполнение последовательности команд
Цикл — это многократное исполнение последовательности команд
Цикл со счетчиком применяется когда заранее известно сколько повторений необходимо сделать. В примере выше с приседаниями именно такой случай.
Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. А он такой:
нц <количество повторений> раз
<команда 1>
<команда 2>
…
<команда n>
кц
Здесь мы должны указать количество повторений (число) и команды, которые будут повторяться. Команды, которые повторяются в цикле называют телом цикла.
В системе КуМир цикл «n раз» записывается при помощи следующей конструкции:
нц n раз
набор команд
кц
n — число повторений цикла.
Пример алгоритма для исполнителя Робот в системе КуМир:
Пример алгоритма для исполнителя Робот в системе КуМир:
использовать Робот
алг задание
нач
нц 5 раз
вправо
закрасить
кц
кон
В результате работы программы исполнитель Робот пройдёт вправо на 1 клетку и закрасит её. Затем повторит те же действия ещё 4 раза. Таким образом, Робот переместится вправо на 5 клеток и закрасит их.
Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, а другой способен сделать 27. Можно ли учесть это при создании цикла? Конечно. Только теперь мы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал, делай приседания. В этом случае человек будет делать не конкретное число приседаний, а приседать до тех пор, пока не устанет. И наш цикл на абстрактном языке примет такой вид:
пока не устал
сделай приседание
конец цикла
Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий
-
сверху не стена или сверху свободно
-
снизу не стена или снизу свободно
-
слева не стена или слева свободно
-
справа не стена или справа свободно
-
сверху стена или сверху не свободно
-
снизу стена или снизу не свободно
-
слева стена или слева не свободно
-
справа стена или справа не свободно
Теперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию от левой до правой границы поля использую цикл с условием. Изначально Робот находится в левом верхнем углу.
Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делать Роботу. Этот алгоритм будет звучать примерно так:
«Пока справа свободно делай шаг вправо и закрашивай клетку»
В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, пока справа не окажется стена.
Исходный код нашей программы для Робота будет примерно такой:
использовать Робот
алг
нач
нц пока справа свободно
вправо
закрасить
кц
кон
Цели: сформировать умение записи, исполнения и отладки алгоритмов с использованием цикла пока; добиться понимания использования цикла пока; развивать умение анализировать.
Ученики должны знать: правила записи и исполнения цикла пока; свойства цикла пока.
Ученики должны уметь: использовать при составлении алгоритмов конструкцию цикла пока и записывать ее на языке Кумир, владеть методами отладки: по шагам, непрерывно.
Метод обучения: объяснительно-иллюстративный и репродуктивный (на этапе объяснения нового материала), репродуктивный с элементами проблемного (этап закрепления материала).
Обеспечение урока:
- система Кумир;
- интерактивная доска;
- мультимедийный проектор;
- карточки-задания.
Ход урока
1. Объяснение нового материала.
В общем случае алгоритм должен быть универсальным, т.е., он не должен зависеть от расстояния между Роботом и стеной. Для этого в алгоритмическом языке есть специальная команда – цикл пока.
Общий вид цикла пока
В общем виде цикл пока записывается так:
При выполнении цикла компьютер повторяет следующие действия:
а) проверяет записанное после служебного слова пока условие;
б) если условие не соблюдается, то выполнение цикла завершается, и компьютер начинает выполнять команды, записанные после кц. Если же условие соблюдается, то компьютер выполняет тело цикла, снова проверяет условие и т.д.
Пример.
Метод отладки: по шагам.
Диалог Компьютера и Робота
Компьютер: снизу свободно?
Робот: да.
Компьютер: вниз.
Робот: смещается вниз в клетку Б.
Компьютер: снизу свободно?
Робот: да.
Компьютер: вниз.
Робот: смещается вниз в клетку В.
Компьютер: снизу свободно?
Робот: нет.
Так как Робот ответил нет, т.о. записанное после пока условие не соблюдается и выполнение цикла заканчивается.
Продемонстрировать в системе Кумир методы отладки: по шагам и непрерывно.
Тело цикла может не выполниться ни разу, если условие в цикле пока не соблюдается с самого начала. Например, если в алгоритме «вниз до стены» Робот на первый же вопрос «снизу свободно » ответит нет, то компьютер не вызовет команду «вниз» ни разу.
Зацикливание. Выполнение цикла пока может и не завершиться, если условие все время будет соблюдаться. Например, если ниже Робота никаких стен нет, то при выполнении предыдущего алгоритма, компьютер «зациклится», т.е. будет бесконечно спрашивать у Робота «снизу свободно», получать в ответ да и командовать «вниз».
Выполнение упражнений.
2. Эксперименты с программой на примере исполнителя Робот.
Необходимо, в системе Кумир, предварительно сделать заготовки расположения Робота (файлы 1.fil-6.fil).
Упражнения.
Эксперименты с программой.
Задание 1. (Загрузить файл 1.fil)
Требуется перевести Робота из клетки А в клетку Б. Использовать цикл пока:
использовать Робот
Задание 2. (Загрузить файл 2.fil)
Дано, что Робот находится у левой стены внутри прямоугольника, огороженного со всех сторон стенами. Внутри прямоугольника стен нет, размеры прямоугольника неизвестны. Требуется закрасить горизонтальный ряд клеток от исходного положения Робота до правой стены и вернуть Робота в исходное положение.
Задание 3. (Загрузить файл 3.fil)
Робот находится в горизонтальном коридоре. Закрасить все клетки коридора:
Задание 4. (Загрузить файл 4.fil)
1. Переделайте алгоритм «закрасить ряд вправо и вернуться» используя в нем цикл:
2. Используя вспомогательный алгоритм, составьте алгоритм, при выполнении которого Робот закрашивает прямоугольник.
Задание 5. (Загрузить файл 5.fil)
Составьте алгоритм для закраски всех клеток вокруг прямоугольной стены:
Задание 6. ( Загрузить файл 6.fil) (Из материалов экзамена 2009г.)
Робот находится в левом верхнем углу огороженного пространства, имеющего форму прямоугольника. Размеры прямоугольника неизвестны. Написать для Робота алгоритм, закрашивающий четыре угловые клетки прямоугольника.
Задание 7. (Загрузить файл 6.fil) (Из материалов экзамена 2009 г.)
Робот находится в левом верхнем углу огороженного пространства, имеющего форму прямоугольника. Размеры прямоугольника неизвестны. Написать для Робота алгоритм, закрашивающий все клетки, расположенные внутри прямоугольника и прилегающие к нижней стороне прямоугольника.
3. Закрепление. Вопросы:
Какие команды Компьютер будет давать Роботу при выполнении цикла:
а) нц пока клетка не закрашена
закрасить
кц
б) нц пока клетка закрашена
закрасить
кц
В ситуации, когда Робот стоит:
- в закрашенной клетке,
- в не закрашенной?
Расположение Робота показано на следующих рисунках:
Как будет выполняться цикл?
Домашнее задание. Определите значение переменной S после выполнения операторов:
Литература: А.Г.Кушниренко «Основы информатики и вычислительной техники».
Загрузка…
Кто такой исполнитель Робот?
Представьте себе клетчатое поле (как лист из тетради в клеточку) на котором находится некий объект, который мы назовем Робот. Используя специальные команды Кумир, мы можем этим Роботом управлять — перемещать его по клеткам, закрашивать клетки. И в большинстве случаев наша задача будет заключаться в том, чтобы написать такую программу для Робота, выполняя которую он будет закрашивать определенные клетки.
Видео на тему: КуМир. Робот. Знакомство
Настройка среды Кумир для исполнителя Робот.
Запущенная программа Кумир выглядит так.
Первым делом мы должны раскоментировать первую строку нашей программы, убрав символ |
Таким образом, программа станет выглядеть так:
использовать Робот
алг
нач
кон
Удалив символ |, мы тем самым указали Кумиру на то, что будем работать с исполнителем Робот. Если этого не сделать, то при написании программы мы столкнемся с ошибкой «Нет такого алгоритма». Поэтому очень важно при создании новой программы раскоментировать первую строку. Теперь все готово для дальнейшей работы.
Но перед началом, нам необходимо задать стартовую обстановку Робота и познакомиться с простыми командами исполнителя Робот.
Стартовая обстановка Робота
Перед началом выполнения программы необходимо задать исполнителю Робот стартовую обстановку. Это значит установить Робота в нужную позицию, расставить стены, закрасить нужные клетки и т. п. Этот шаг очень важен. Если его проигнорировать, то программа может работать неправильно или вообще завершится аварийно.
Что такое стартовая обстановка?
Наш Робот находится в некой среде — это клетчатое поле, размер которого известен. Так же на этом поле могут находится стены и закрашенные клетки, а сам Робот может находится в любой клетке. Так вот — стартовая обстановка задает положение Робота на поле и расположение всех остальных элементов — стен, закрашенных клеток. И перед тем, как писать алгоритм для Робота необходимо задать стартовую обстановку. Насколько это важно давайте рассмотрим на примере. Пусть есть две стартовые обстановки:
Отличаются они только тем, что в стартовой обстановке 2 справа от Робота находится стена.
Если наша программа начнется с команды, которая переместит Робота на одну клетку вправо (о простых командах Робота), то в первом случае (стартовая обстановка 1) Робот выполнит эту команду, а во втором программа завершится аварийно, так как Робот не может ходить сквозь стены. Получается, что одна и та же программа в первом случае работает, а во втором приводит к ошибке. Именно поэтому так важно задавать стартовую обстановку для Робота.
Как задать стартовую обстановку в Кумир?
Запустив среду Кумир в меню Инструменты выбираем пункт Редактировать стартовую обстановку Робота.
Откроется окно с синим фоном. Это и есть стартовая обстановка Робота. И мы ее можем изменить.
По-умолчанию, размер окна 10 на 15 клеток. Если нам необходимо изменить количество строк и столбцов, то щелкаем Обстановка -> Новая обстановка и задаем необходимые значения
Далее,
- чтобы переместить Робота в новую позицию, щелкаем по нему левой кнопкой мыши и не отпуская ее тащим Робота в нужное место.
- чтобы добавить/удалить стену, щелкаем левой кнопкой мыши по границе клетки.
- чтобы закрасить/очистить клетку, щелкаем по ней левой кнопкой мыши
- чтобы добавить или убрать точку в клетку щелкаем по клетке, удерживая клавишу Ctrl
После того, как мы задали нужную стартовую обстановку, ее необходимо сохранить (Обстановка -> Сохранить или Обстановка -> Сохранить как). После этого закрываем окно Обстановка и в основном окне программы выбираем Робот -> Сменить стартовую обстановку
Находим сохраненную ранее обстановку и загружаем ее. После этого убедимся, что загрузили правильную стартовую обстановку, щелкнув по кнопке Показать окно Робота
Если в окне с зеленым фоном (текущая обстановка Робота) вы увидите вашу обстановку, то можно переходить к написанию алгоритма, используя простые команды Робота.
Исполнитель Робот. Простые команды.
У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота. Всего их 5:
вверх
вниз
влево
вправо
закрасить
Результат выполнения этих команд понятен из их названия:
вверх — переместить Робота на одну клетку вверх
вниз — переместить Робота на одну клетку вниз
влево — переместить Робота на одну клетку влево
вправо — переместить Робота на одну клетку вправо
закрасить — закрасить текущую клетку (клетку в которой находится Робот).
Эти команды можно писать с клавиатуры, а можно использовать горячие клавиши (нажав их команды будут вставляться автоматически):
вверх — Escape, Up (стрелка вверх)
вниз — Escape, Down (стрелка вниз)
влево — Escape, Left (стрелка влево)
вправо — Escape, Right (стрелка вправо)
закрасить — Escape, Space (пробел)
Обратите внимание, что набирать нужную комбинацию горячих клавиш нужно не привычным нам способом! Мы привыкли нажимать клавиши одновременно, а здесь их нужно нажимать последовательно.
Теперь мы готовы написать первый алгоритм для Робота. Предлагаю начать с простого — нарисуем квадрат со стороной 3 клетки. Поехали!
Запускаем Кумир, настраиваем его. Можно начинать писать программу? Конечно нет! Мы же не задали стартовую обстановку! Делаем это. Предлагаю использовать вот такую:
Вот теперь все готово. Начинаем писать программу. Пока она выглядит так
Удаляем символ «|» и называем наш алгоритм «Квадрат»
Предлагаю рисовать квадрат, двигаясь по часовой стрелке. Для начала закрасим текущую клетку, дав команду закрасить. Потом делаем шаг вправо и опять закрашиваем клетку. И еще раз шаг вправо и закрасить.
Попробуем запустить программу и посмотреть что же получилось. Для запуска нажимаем F9 или же кнопку на панели инструментов
В результате мы должны увидеть вот такую картину
Если такое окно Робота у вас не появилось, то на панели инструментов щелкните «Показать окно Робота» или в меню Робот выберите пункт «Показать окно Робота». Продолжаем дальше.
Теперь мы будем двигаться вниз и закрашивать правую сторону квадрата:
вниз
закрасить
вниз
закрасить
Потом пойдем влево, закрашивая нижнюю границу квадрата
влево
закрасить
влево
закрасить
У нас осталась одна не закрашенная клетка. Закрасим ее
вверх
закрасить
Все готово! В итоге наша программа выглядит так:
использовать Робот
алг Квадрат
нач
закрасить
вправо
закрасить
вправо
закрасить
вниз
закрасить
вниз
закрасить
влево
закрасить
влево
закрасить
вверх
закрасить
кон
А результат ее работы вот так
Итак, сегодня мы с вами написали программу, используя простые команды Робота. Рекомендую попрактиковаться самостоятельно — придумать себе задание и написать программу. Это могут быть самые различные фигуры, узоры, буквы. К примеру, попробуйте написать программу, рисующую букву П, Р, Ш, Щ, М. А если получится и захотите поделиться — комментируйте и прикрепляйте результат к комментарию.
Исполнитель Робот. Циклы.
Итак, что такое цикл? Представьте, что мы находимся на уроке физической культуры и перед нами стоит задача сделать 7 приседаний. Это задание можно оформить в виде линейного алгоритма и тогда оно будет выглядеть примерно так:
сделай приседание
сделай приседание
сделай приседание
сделай приседание
сделай приседание
сделай приседание
сделай приседание
То есть мы повторили команду сделай приседание 7 раз. А есть ли смысл писать 7 одинаковых команд? Может проще дать команду сделай 7 приседаний? Конечно проще и правильнее. Это и есть цикл. Вы можете сами вспомнить примеры циклов из жизни — их довольно много.
Таким образом линейный алгоритм, где повторяются одни и те же команды мы можем оформить в виде циклического алгоритма — примерно так:
повторяй 7 раз
сделай приседание
конец цикла
Вот так, на придуманном нами языке мы оформили цикл. У исполнителя Робот тоже есть возможность записывать циклы. Причем, циклы бывают разные. Тот вариант, который мы только что рассмотрели называется цикл со счетчиком или цикл с параметром.
Виды циклов.
Цикл со счетчиком.
Цикл со счетчиком применяется когда заранее известно сколько повторений необходимо сделать. В примере выше с приседаниями именно такой случай.
Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. А он такой:
нц <количество повторений> раз
<команда 1>
<команда 2>
…
<команда n>
кц
Здесь мы должны указать количество повторений (число) и команды, которые будут повторяться. Команды, которые повторяются в цикле называют телом цикла.
Давайте рассмотрим это на примере.
Закрасим 7 клеток, как на рисунке. Рекомендую почитать про стартовую обстановку Робота и про его простые команды.
Изначально Робот находился в левой верхней клетке.
Давайте для начала решим задачу линейно. В этом случае мы будет закрашивать текущую клетку и перемещаться на 1 клетку вправо и программа будет выглядеть так:
использовать Робот
алг
нач
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
кон
Как видим, команды закрасить и вправо повторяются 7 раз. Давайте теперь перепишем программу с использованием цикла. Кстати, чтобы вставить цикл в свою программу можно в меню Вставка выбрать пункт нц-раз-кц или нажать одну из комбинаций клавиш Esc, Р (русская буква Р) или Esc, H (латинская буква H). Причем клавиши надо нажимать последовательно — сначала Esc, отпустить ее и только потом Р или H.
Так вот, наша программа с циклом будет выглядеть так:
использовать Робот
алг
нач
нц 7 раз
закрасить
вправо
кц
кон
Если мы ее запустим, то увидим, что в результате получится тоже самое — 7 закрашенных клеток. Однако программа стала короче и значительно грамотней с алгоритмической точки зрения!
В качестве разминки и закрепления предлагаю самостоятельно написать программу для Робота, которая нарисует квадрат со стороной 7 клеток. Естественно, используя цикл. Жду решения в комментариях.
Цикл с условием
Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, а другой способен сделать 27. Можно ли учесть это при создании цикла? Конечно. Только теперь мы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал, делай приседания. В этом случае человек будет делать не конкретное число приседаний, а приседать до тех пор, пока не устанет. И наш цикл на абстрактном языке примет такой вид:
пока не устал
сделай приседание
конец цикла
Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий
сверху свободно
снизу свободно
слева свободно
справа свободно
сверху стена
снизу стена
слева стена
справа стена
Теперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию от левой до правой границы поля использую цикл с условием. Изначально Робот находится в левом верхнем углу.
Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делать Роботу. Этот алгоритм будет звучать примерно так:
«Пока справа свободно делай шаг вправо и закрашивай клетку»
В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, пока справа не окажется стена.
Исходный код нашей программы для Робота будет примерно такой:
использовать Робот
алг
нач
нц пока справа свободно
вправо
закрасить
кц
кон
В результате выполнения этой программы мы увидим вот такую картину:
Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимо выполнить команду закрасить.
Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поля Робота независимо от его размера. Конечно же с использованием циклов с условием. В итоге должно получиться так:
Дорогой читатель! Добавьте этот сайт в закладки своего браузера и поделитесь с друзьями ссылкой на этот сайт! Мы стараемся показывать здесь всякие хитрости и секреты. Пригодится точно.
Это тоже интересно:
Язык программирования Pascal для новичков: Основные понятия.
Как установить Java и работать в языке программирования Java.
Как работать в Delphi: конкретные уроки.
GO программирование: самое начало работы.
Продолжаем изучение исполнителя Робот и сегодня поговорим о циклах. Давайте разберемся, что же такое цикл и как научить выполнять циклические алгоритмы нашего Робота.
Итак, что такое цикл? Представьте, что мы находимся на уроке физической культуры и перед нами стоит задача сделать 7 приседаний. Это задание можно оформить в виде линейного алгоритма и тогда оно будет выглядеть примерно так:
сделай приседание
сделай приседание
сделай приседание
сделай приседание
сделай приседание
сделай приседание
сделай приседание
Т. е мы повторили команду сделай приседание 7 раз. А есть ли смысл писать 7 одинаковых команд? Может проще дать команду сделай 7 приседаний? Конечно проще и правильнее. Это и есть цикл. Вы можете сами вспомнить примеры циклов из жизни — их довольно много.
Таким образом линейный алгоритм, где повторяются одни и те же команды мы можем оформить в виде циклического алгоритма — примерно так:
повторяй 7 раз
сделай приседание
конец цикла
Вот так, на придуманном нами языке мы оформили цикл. У исполнителя Робот тоже есть возможность записывать циклы. Причем, циклы бывают разные. Тот вариант, который мы только что рассмотрели называется цикл со счетчиком или цикл с параметром.
Виды циклов.
Цикл со счетчиком.
Цикл со счетчиком применяется когда заранее известно сколько повторений необходимо сделать. В примере выше с приседаниями именно такой случай.
Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. А он такой:
нц <количество повторений> раз
<команда 1>
<команда 2>
…
<команда n>
кц
Здесь мы должны указать количество повторений (число) и команды, которые будут повторяться. Команды, которые повторяются в цикле называют телом цикла.
Давайте рассмотрим это на примере.
Закрасим 7 клеток, как на рисунке. Рекомендую почитать про стартовую обстановку Робота и про его простые команды.
Задание на цикл со счетчиком
Изначально Робот находился в левой верхней клетке.
Давайте для начала решим задачу линейно. В этом случае мы будет закрашивать текущую клетку и перемещаться на 1 клетку вправо и программа будет выглядеть так:
использовать Робот
алг
нач
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
кон
Как видим, команды закрасить и вправо повторяются 7 раз. Давайте теперь перепишем программу с использованием цикла. Кстати, чтобы вставить цикл в свою программу можно в меню Вставка выбрать пункт нц-раз-кц или нажать одну из комбинаций клавиш Esc, Р (русская буква Р) или Esc, H (латинская буква H). Причем клавиши надо нажимать последовательно — сначала Esc, отпустить ее и только потом Р или H.
Так вот, наша программа с циклом будет выглядеть так:
использовать Робот
алг
нач
нц 7 раз
закрасить
вправо
кц
кон
Если мы ее запустим, то увидим, что в результате получится тоже самое — 7 закрашенных клеток. Однако программа стала короче и значительно грамотней с алгоритмической точки зрения!
В качестве разминки и закрепления предлагаю самостоятельно написать программу для Робота, которая нарисует квадрат со стороной 7 клеток. Естественно, используя цикл. Жду решения в комментариях.
Цикл с условием.
При решении задачи 19 ГИА по информатике с Роботом использовать цикл со счетчиком не получится. Так как там поле, как правило, бесконечное и стены не имеют конкретной длины. Поэтому мы не сможем определить количество повторений для цикла со счетчиком. Но не беда — нам поможет цикл с условием.
Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, а другой способен сделать 27. Можно ли учесть это при создании цикла? Конечно. Только теперь мы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал, делай приседания. В этом случае человек будет делать не конкретное число приседаний, а приседать до тех пор, пока не устанет. И наш цикл на абстрактном языке примет такой вид:
пока не устал
сделай приседание
конец цикла
Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий
сверху свободно
снизу свободно
слева свободно
справа свободно
сверху стена
снизу стена
слева стена
справа стена
, но в условии задачи 19 ГИА указаны только первые 4. Так что будем пользоваться только ими.
Теперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию от левой до правой границы поля использую цикл с условием. Изначально Робот находится в левом верхнем углу.
Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делать Роботу. Этот алгоритм будет звучать примерно так:
«Пока справа свободно делай шаг вправо и закрашивай клетку»
В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, пока справа не окажется стена.
Исходный код нашей программы для Робота будет примерно такой:
использовать Робот
алг
нач
нц пока справа свободно
вправо
закрасить
кц
кон
В результате выполнения этой программы мы увидим вот такую картину:
Задание для Робота цикл с условием
Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимо выполнить команду закрасить.
Решение задачи с циклом
Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поля Робота независимо от его размера. Конечно же с использованием циклов с условием. В итоге должно получиться так:
Задача для самостоятельного решения
Решение жду в комментариях. И напоминаю, до ГИА осталось совсем немного времени, готовимся активнее.
Автор:
Конспект
урока «Использование циклов»
ФИО Мурзина Ольга Ивановна
Место работы МБОУ «Лицей», г. Арзамас
Район Нижегородская область, г. Арзамас
Тема урока «Использование циклов с предусловием
и с постусловием при работе с исполнителем Робот в системе Кумир»
Учебник «Информатика 8 класс ФГОС», автор
Босова Л.Л.
Класс 8 класс (по программе 2 ч информатики
в неделю)
Цель урока:
Образовательная научиться использовать
цикл с предусловием, понимать механизм работы этого цикла, на его основе научить
пользоваться циклом с постусловием, на основе этих циклов объяснить такие
свойства алгоритмов как универсальность и массовость.
Воспитательная воспитание самостоятельности,
упорства, стремления вникнуть в сложную проблему, трудолюбия.
Развивающая развитие произвольности
внимания, перехода его в интерес, т.е. в послепроизвольное внимание, развитие
стремления довести начатое до конца.
Вид урока спаренный урок (2 урока по 45
мин.)
Тип урока комбинированный (изучение нового
материала с практической отработкой).
Методы обучения постановка проблемы, ее
коллективное решение доступным методом, объяснение учителем нового метода
решения этой же проблемы, закрепление на практике.
Формы работы фронтальная, коллективная,
индивидуальная
Результаты урока:
Предметные освоение нового более
продуктивного средства решения алгоритмических задач.
Метапредметные отработать умения решения
сложных задач дроблением на подзадачи, т.е. методом детализации.
Личностные повышение уверенности в своих силах
и возможностях, тренировка мыслительных операций обобщения и конкретизации,
умение мыслить на два шага вперед.
Дополнительная литература файл с
описанием системы Кумир, раздел циклы, раздел Исполнитель Робот.
Используемое оборудование и наглядные пособия проектор,
крупный план обстановки на поле Робота, электронный марке для интерактивной
доски в режиме рисования.
Список ЭОР
План урока.
- Организационный момент — 2 мин.
- Актуализация знаний – 5 мин.
- Решение задачи доступным методом на ПК — 15
мин. - Изменение начального условия – постановка
проблемы — 3 мин. - Новый материал — 20 мин.
- Перемена – 15 мин.
- Организационный момент – 1 мин.
- Актуализация нового материала – 10 мин.
- Закрепление нового материала на практике —
15 мин. - Физкультминутка – 2 мин.
- Новый материал – 5 мин.
- Практическая работа на ПК – 10 мин.
- Подведение итогов урока, домашнее задание – 2
мин.
Ход урока.
|
Этапы урока |
Время в мин. |
Деятельность учителя |
Деятельность учащихся |
|
1 урок |
|||
|
1. Орг. момент |
2 мин |
Приветствие, отметка отсутствующих (слайд 1) |
|
|
2. Актуализация знаний |
5 мин |
Вспомните, пожалуйста, с какими исполнителями мы с вами знакомы на |
Ответ: Мы знакомы с исполнителями Чертежник и Робот. |
|
Пожалуйста, вспомните СКИ исполнителя Робот. |
Ответ: вправо, влево, вверх, вниз, закрасить клетку |
||
|
С помощью каких алгоритмических конструкций мы можем себе облегчить |
Ответ: вспомогательный алгоритм и циклы n раз, |
||
|
Приведите пример, в котором алгоритм для исполнителя Чертежник |
Ответ: например, алгоритм для рисования большого количества |
||
|
Осудим решение домашней задачи с помощью циклов с постусловием (слайд |
Обсуждаем решение, заранее записанное на доске учеником. |
||
|
3. Решение задачи доступным методом на ПК |
15 мин |
Сейчас на доске вы увидите задачу для исполнителя Робот: обстановка № А сейчас садимся за свои компьютеры, запускаем Кумир, выбираем |
|
|
4. Изменение начального условия |
3 мин |
А теперь давайте проверим работу наших алгоритмов, если мы выберем |
Ответ: не работает, робот проходит мимо, не закрашивает часть клеток… |
|
5. Новый материал |
20 мин |
Да, ребята, наше решение не позволяет нам без изменения кода |
|
|
Два способа решения: снизу вверх и сверху вниз |
Записывают в тетрадь |
||
|
Снизу вверх (слайд 6) |
Записывают, задают вопросы |
||
|
Сверху вниз (слайд 7) |
Записывают, задают вопросы |
||
|
Разбиение на подзадачи |
Слушают учителя |
||
|
Разбор решения задачи. (см. Приложение3) (слайды 8-14) |
Решают в тетради |
||
|
6. Перемена |
15 мин |
||
|
2 урок |
|||
|
7. Орг. момент |
1 мин |
Учитель встречает учеников, успокаивает их, настраивает быстро на рабочий |
|
|
8. Актуализация нового материала с прошлого урока |
10 мин |
Ну, теперь давайте подумаем, будет ли работать наша с вами программа |
Ответ: не знаем… ведь обстановка сменилась.. может и будет, а может и |
|
Давайте все вместе побудем несколько минут Роботом. Я буду |
Ответ: ученики называют команды, проверяют условия цикла и т.п. Ответ: программа работает!!! |
||
|
9. Закрепление нового материала на практике |
15 мин |
Ребята, садимся за свои компьютеры, открываем обстановку номер 3, создаем Индивидуальные консультации |
Самостоятельная работа за ПК, вопросы к учителю, индивидуальная |
|
10. Физкультминутка |
2 мин |
Посидели, пора размяться. |
Выполняют упражнения |
|
11. Закрепляем материал |
5 мин |
А теперь измените свое решение: используйте цикл с постусловием, т.е. Вспомните, как связаны между собой условия циклов «пока» и «при». |
Условия этих циклов противоположны. Цикл «пока» использует условие |
|
12. Практическая работа за ПК |
10 мин |
Предлагаю сесть за ваши ПК и поменять все циклы пока на циклы |
Ученики садятся за работу. |
|
13. Подведение итогов урока, домашнее задание |
2 мин |
Работа наша на сегодня закончена! Все – молодцы! Надеюсь, что наш с |
Ответ: до свидания! |
По этапам, подробно деятельность учителя и
деятельность учеников.
Приложение 1.
Обстановка № 2 для Робота
![]() |
Приложение 2.
Обстановка № 1 для Робота
Приложение 3.
использовать Робот
алг работа | основной алгоритм — задача: закрасить клетки,
|
внутри «гребенок», которые примыкают к верхней
| и нижней стенкам
нач
. нц пока
справа свободно | движение Робота по
основному нижнему
| коридору с заходом в «отсеки»
. . вправо
. . отсек | вызов вспомогательного алгоритма «отсек»,
|
который отработает путь Робота вверх и вход в «гребенки»
. кц
. нц пока
слева свободно | возврат Робота в исходное
положение
. . влево
. кц
кон
алг отсек | вспомогательный алгоритм «отсек» — Робот идет
вверх,
| заходит в «гребенки»,
выходит из них, потом идет вниз,
|
в главный коридор
нач
. нц пока
сверху свободно | движение Робота по
коридору вверх с заходом
| в «гребенки»
. . вверх
. . гребенка
| вызов вспомогательного алгоритма
«гребенка»,
. . | который должен закрасить нужные
клетки
. кц
. нц пока
снизу свободно | возврат Робота в
главный коридор
. . вниз
. кц
кон
алг гребенка | вспомогательный алгоритм «гребенка» — Робот
заходит
| в «гребенку», закрашивает нужные клетки и возвращается
| в коридор для дальнейшего движения вверх
нач
. нц пока
слева свободно | Робота идет по
«гребенке» и закрашивает клетки
. . влево
. . вниз
. . закрасить
. . вверх
. . вверх
. . закрасить
. . вниз
. кц
. нц пока
справа свободно | возврат Робота в
коридор для продолжения
| движения вверх
. . вправо
. кц
кон
Приложение 4.
Обстановка № 3 для Робота
![]() |
Приложение 5.
Обстановка № 4 для Робота
![]() |
Приложение 5.
|
использовать Робот |
|
|
алг гребенка | |












































