Исполнитель кумир 8 класс конспект

Обновлено: 05.07.2024

  • Для учеников 1-11 классов и дошкольников
  • Бесплатные сертификаты учителям и участникам

Тема урока: Алгоритмы и исполнители 8 класс

2) рассмотрение свойств алгоритма;

3) сформировать представление о способах управления исполнителем.

Задачи урока:

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

Воспитательные : способствовать воспитанию самостоятельности, активности, ответственности за результаты своей деятельности.

Основные понятия, изучаемые на уроке:

Тип урока: комбинированный

Оборудование : ПК, проектор, учебник, тетрадь

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

Дети рассаживаются по местам. Проверяют наличие принадлежностей.

2. Формулирование темы и целей урока. (3 мин)

Каждый человек в повседневной жизни, в учебе или на работе решает огромное количество задач самой разной сложности. Простые задачи мы решаем автоматически, не задумываясь (почистить зубы, заварить чай), сложные задачи требуют длительных размышлений для нахождения решения. В большинстве случаев решение каждой задачи можно разбить на простые этапы (шаги). Для многих таких задач (установка программного обеспечения, сборка стола, создание сайта, покупка авиабилета через Интернет и т. д.) уже разработаны и предлагаются пошаговые инструкции, при последовательном выполнении которых можно прийти к желаемому результату.

Задание

1) Предлагаю вам простое задние, которое вы неоднократно выполняли.

Распредели действия для того, чтобы пришить пуговицу.

(выстраивают последовательность выполнения алгоритма)


Взять нитку и иголку

Продеть нитку в иголку


Взять одежду и пуговицу


Каким одним действием можно назвать все эти действия.

- Как мы можем назвать объект, который выполняет алгоритм?

- Исполнитель

-Мы начали разговор об алгоритмах и исполнителях.

Из всего сказанного определите тему урока:

- Алгоритмы и исполнители.

- узнать об алгоритмах и их свойствах;

- познакомиться с видами исполнителей;

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

3. Изложение нового материала

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

- Как думаете, кто ввёл понятие алгоритма?

(предполагают какой-то ученый)

- Все верно, арабский ученый, Мухаммед Аль Хорезми, мы его уже упоминали, когда проходили системы счисления. Именно он впервые ввёл понятие алгоритма.

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

Составить инструкцию

1. Найти среднее арифметическое 2-х чисел. (взять два числа сложить, разделить на количество этих чисел)

2. Приготовить картофельное пюре.

3. Алгоритм нахождения периметра прямоугольника.

4. Как правильно мыть руки при Сovid19.

- Как вы думаете, насколько важно следовать данным инструкциям?

(при следовании инструкции, мы получаем желаемый результат)

- У нас получился результат?

- Что общего во всех инструкциях?

(Пошаговое выполнение) – свойство дискретности

- Что получается после выполнения алгоритма?

( Результат ) - свойство результативности

- Можно ли эти инструкции применить для выполнения аналогичного действия?

(да) - Свойство массовости

- Все ли инструкции просты и понятны?

(пока были понятны) – свойство понятность

- Все ли команды прописаны однозначно?

(Да)- свойство определенность

- Давайте сформулируем, что такое алгоритм?

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


(Записали в тетрадь)

- Запишем свойства алгоритма, которыми он обладает.

Дискретность, массовость, результативность, понятность, определенность.

Исполнитель - это некоторый объект (человек, животное, техническое устройство), способный выполнять определённый набор команд.

Каждый алгоритм предназначен для определённого исполнителя. Различают формальных и неформальных исполнителей.

Формальными исполнителями могут быть технические устройства, например, светофор, плеер или исполнитель в среде программирования, например, Рыжий кот, Чертежник, Робот, Черепаха и т.д.

К неформальным исполнителям можно отнести человека или животное. Формальный исполнитель выполняет одну и ту же команду всегда одинаково, а неформальный исполнитель может выполнять команду по-разному.

Формальные исполнители разнообразны, но все они имеют следующие характеристики:

· Круг решаемых задач.

· Среда исполнителя - область, обстановка, условия, в которых действует исполнитель.

· Система команд исполнителя (СКИ) - совокупность всех команд, которые могут быть выполнены исполнителем.

· Режимы работы исполнителя. Для многих исполнителей - это режимы непосредственного управления и программного управления.

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

- Какие команды должны быть у робота, выполняющего функции:
а) кассира в магазине, б) дворника, в) охранника?

а) отвечать на вопросы покупателей, считать деньги, предлагать пакет, давать сдачи.

б) подметать двор, убирать мусор.

в) следить за порядком, не допускать нарушений, охранять.

1. Исполнитель

2. Среда исполнителя

Самостоятельная работа. Заполнить пропуски.

1. Алгоритм - это описание __________________________________, приводящих от исходных данных к требуемому результату.

2. Команды, которые может выполнять конкретный исполнитель, образуют_________.

3. Выберите, что из перечисленного является алгоритмом. Укажите один или несколько правильных вариантов ответа:

1. Рецепт приготовления пиццы.

3. Создание сайта.

4. Карта Донецкой области.

5. Программа передач.

4. Свойства алгоритма: дискретность, _________, ___________, понятность, определенность.

5. __________________ - область, обстановка, условия, в которых действует исполнитель.

6. Компьютерный практикум


Непосредственное управление исполнителем.

7. Итоги урока, домашнее задание выставление оценок.

Выберите вариант картинки, которая соответствует вашей оценке своей деятельности на уроке.

Разработка урока, в состав которого входит технологическая карта, презентация "Алгоритмическая конструкция Ветвление", тест "Конструкции алгоритма", практическая работа. Практическая часть рассчитана на работу в среде программирования "Кумир", исполнитель "Робот". Тип урока - урок комплексного применения знаний и умений (урок закрепления полученных знаний).

ВложениеРазмер
algoritmicheskaya_konstruktsiya_vetvlenie_ispolnitel_robot.zip 521.61 КБ

Предварительный просмотр:

Общий вид ветвления (неполная форма):

если условие то

Общий вид ветвления (полная форма):

Создавая циклы с условием для Робота , можно использовать 10 команд проверки условий:

– 8 команд вида [слева/справа/снизу/сверху] [стена/свободно]

– 2 команды вида клетка [закрашена/чистая]


Задание 1. В какую клетку переместится Робот после выполнения следующего фрагмента алгоритма.

. если справа свободно или снизу свободно

. если справа стена

. если слева стена


Задание 2. В какую клетку переместится Робот после выполнения следующего фрагмента алгоритма.

Задание 3. Робот находится в узком горизонтальном коридоре. Где-то правее робота из коридора есть выход, расположенный сверху или снизу коридора. Доведите робота до выхода из коридора.

На рисунках представлены возможная стартовая обстановка и результат.

https://www.sites.google.com/site/fakultativinformatika/_/rsrc/1484583830530/zanatie-13-robot-vetvlenie/vet1.jpg

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

Задание 5. Запишите алгоритм исполнителя Робот, который нарисует на клетчатом поле следующий узор (рисунок 1), если начальное положение Робота может быть в одной из четырёх клеток (рисунок 2). Конечное положение робота может быть произвольным.

Нажмите, чтобы узнать подробности

- умеет исполнять алгоритм для формального исполнителя с заданной системой команд.

Задачи:

- рассмотреть свойств алгоритма;

- рассмотреть возможности автоматизации деятельности человека за счет возможности формального исполнения алгоритма;

- формировать навыки записи алгоритмов на формальных языках.

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

умеет исполнять алгоритм для формального исполнителя с заданной системой команд.

рассмотреть свойств алгоритма;

рассмотреть возможности автоматизации деятельности человека за счет возможности формального исполнения алгоритма;

формировать навыки записи алгоритмов на формальных языках.

Тип урока: урок изучения нового материала

Методы обучения:

Словесные (рассказ, беседа, объяснение)

Формы организации УД: групповая, индивидуальная, фронтальная

Оборудование: учебник, презентация

IV. Закрепление. Работа в паре + самопроверка

VI.Рефлексия. Итоги урока.

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

II.Актуализация знаний. Постановка цели урока.

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

Для изучения свойств алгоритмов учитель организует работу учащихся таким образом, чтобы они сами их выявили.

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

Инструкции учащихся вывешиваются на доске и обсуждаются по следующим вопросам:

Что общего во всех инструкциях, алгоритмах?(Пошаговое выполнение - свойство дискретности.)

Что получается после выполнения алгоритма?(Конкретный результат - свойство результативности.)

Можно ли один алгоритм, например инструкцию по завариванию чая, применить для выполнения аналогичного действия, например заваривания травяного сбора?(Свойство массовости.)

Все ли инструкции просты и понятны?(Свойство выполнимости и понятности команд.)

Все ли команды четко прописаны и в правильной последовательности?(Свойство детерминированности.)

Определение алгоритма и свойства ученики записывают в тетрадь.

III.Объяснение темы

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

Исполнитель - это объект, способный выполнять алгоритмы с помощью набора команд

Ал-Хорезми жил и творил в IX веке. Арабский оригинал его арифметического труда утерян, но имеется латинский перевод XII века, по которому Западная Европа ознакомилась с десятичной позиционной системой счисления и правилами выполнения в ней арифметических действий.

Ал-Хорезми стремился к тому, чтобы сформулированные им правила были понятны для всех грамотных людей. Достичь этого в веке, когда еще не была разработана математическая символика (знаки операций, скобки, буквенные обозначения и т. п.), было очень трудно. Но Ал-Хорезми удалось выработать в своих трудах такой стиль четкого, строгого словесного предписания, который не давал читателю никакой возможности уклониться от предписанного или пропустить какие-нибудь действия.

Процесс создания алгоритмов называется –алгоритмизацией.

Всякий алгоритм составляется в расчете на определенного исполнителя. Им может быть человек, робот, компьютер и др.

Исполнитель алгоритма – это человек или автоматическое устройство, которое способно воспринимать и исполнять алгоритм.

Запишите исполнителей для приведённых ниже видов работ:

Уборка мусора во дворе – дворник

Перевозка пассажиров в поезде – машинист

Приём экзаменов в школе – учитель

Приготовление еды в ресторане – повар

Выполнение домашнего задания – ученик

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

Система команд исполнителя (СКИ) – это перечень элементарных предписаний (команд), которые исполнитель может исполнять.

Приведите еще примеры алгоритмов. Ответы учащихся …

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

Алгоритм обладает следующими свойствами:

Целенаправленность – любой алгоритм направлен на достижение определенной цели. Чаще всего целью алгоритма является получение результата при решении какой-нибудь задачи.

Дискретность– алгоритм состоит из элементарных предписаний (команд).

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

Однозначность – после исполнения очередного элементарного предписания (команды) исполнителю точно определено, что делать дальше.

Массовость – алгоритм можно использовать для решения той же задачи при других допустимых исходных данных.

Формы представления алгоритмов могут быть разными: словесной; графической; на языке программирования.

1.Словесная форма– это форма описания алгоритма на естественном языке. Если алгоритм предназначен для человека, то в качестве предписаний можно использовать привычные для человека предложения и фразы.

Правила записи алгоритмов в словестной форме просты: предписания записываются одно за другим и нумеруются; в записи алгоритма могут использоваться служебные слова Начало и Конец.

Пример: Алгоритм нахождения большего из двух данных чисел.

Из числа А вычесть число В.

Если получилось отрицательное значение, то сообщить, что число В больше.

Если получилось положительное значение, то сообщить, что число А больше.

Если получился ноль, сообщить, что числа равны.

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

2. Для более наглядного представления алгоритма используется графическая форма. Графическая форма – изображение алгоритма в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.

3. При записи алгоритма в словесной и в графической форме допускается определенный произвол при изображении команд. Вместе с тем такая запись точна на столько, что позволяет человеку понять суть дела и исполнить алгоритм. Однако на практике в качестве исполнителей алгоритмов используются специальные автоматы – компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на понятном ему языке. Такой язык принято называть языком программирования, а форму представления алгоритма - программной. То есть программная форма записи алгоритма – это запись на языке программирования.

IV. Закрепление. Работа в паре + самопроверка


V.Компьютерный практикум


Представьте себе клетчатое поле (как лист из тетради в клеточку) на котором находится некий объект, который мы назовем Робот. Используя специальные команды, мы можем этим Роботом управлять — перемещать его по клеткам, закрашивать клетки. И в большинстве случаев наша задача будет заключаться в том, чтобы написать такую программу для Робота, выполняя которую он будет закрашивать определенные клетки.

Запущенная программа Кумир выглядит так.

Среда Кумир, исполнитель Робот

Первым делом мы должны раскомментировать первую строку нашей программы, убрав символ |

Раскомментируем первую строку

Таким образом, программа станет выглядеть так:

использовать Робот

алг

нач

кон

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

Стартовая обстановка Робота

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

Что такое стартовая обстановка?

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

Стартовая обстановка 1

Стартовая обстановка 2

Отличаются они только тем, что в стартовой обстановке 2 справа от Робота находится стена.

Если наша программа начнется с команды, которая переместит Робота на одну клетку вправо (о простых командах Робота), то в первом случае (стартовая обстановка 1) Робот выполнит эту команду, а во втором программа завершится аварийно, так как Робот не может ходить сквозь стены. Получается, что одна и та же программа в первом случае работает, а во втором приводит к ошибке. Именно поэтому так важно задавать стартовую обстановку для Робота.

Как задать стартовую обстановку?

Запустив среду Кумир в меню Инструменты выбираем пункт Редактировать стартовую обстановку Робота

Редактировать стартовую обстановку Робота

Откроется окно с синим фоном. Это и есть стартовая обстановка Робота. И мы ее можем изменить.

По-умолчанию, размер окна 10 на 15 клеток. Если нам необходимо изменить количество строк и столбцов, то щелкаем Обстановка -> Новая обстановка и задаем необходимые значения

Задаем размер поля

  • чтобы переместить Робота в новую позицию, щелкаем по нему левой кнопкой мыши и не отпуская ее тащим Робота в нужное место.
  • чтобы добавить/удалить стену, щелкаем левой кнопкой мыши по границе клетки.
  • чтобы закрасить/очистить клетку, щелкаем по ней левой кнопкой мыши
  • чтобы добавить или убрать точку в клетку щелкаем по клетке, удерживая клавишу Ctrl

После того, как мы задали нужную стартовую обстановку, ее необходимо сохранить (Обстановка -> Сохранить или Обстановка -> Сохранить как). После этого закрываем окно Обстановка и в основном окне программы выбираем Робот -> Сменить стартовую обстановку

Сменить стартовую обстановку Робота

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

Показать окно Робота

Если в окне с зеленым фоном (текущая обстановка Робота) вы увидите вашу обстановку, то можно переходить к написанию алгоритма, используя простые команды Робота.

Исполнитель Робот. Простые команды.

У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота. Всего их 5:

вверх

влево

вправо

закрасить

Результат выполнения этих команд понятен из их названия:

вверх — переместить Робота на одну клетку вверх

вниз — переместить Робота на одну клетку вниз

влево — переместить Робота на одну клетку влево

вправо — переместить Робота на одну клетку вправо

закрасить — закрасить текущую клетку (клетку в которой находится Робот).

Эти команды можно писать с клавиатуры, а можно использовать горячие клавиши (нажав их команды будут вставляться автоматически):

вверх — Escape, Up (стрелка вверх)

вниз — Escape, Down (стрелка вниз)

влево — Escape, Left (стрелка влево)

вправо — Escape, Right (стрелка вправо)

закрасить — Escape, Space (пробел)

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

Теперь мы готовы написать первый алгоритм для Робота. Предлагаю начать с простого — нарисуем квадрат со стороной 3 клетки. Поехали!

Запускаем Кумир, настраиваем его. Можно начинать писать программу? Конечно нет! Мы же не задали стартовую обстановку! Делаем это. Предлагаю использовать вот такую:

Стартовая обстановка Робота

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

Первая программа для Робота

Алгоритм квадрат

Предлагаю рисовать квадрат, двигаясь по часовой стрелке. Для начала закрасим текущую клетку, дав команду закрасить. Потом делаем шаг вправо и опять закрашиваем клетку. И еще раз шаг вправо и закрасить.

Первые шаги

Попробуем запустить программу и посмотреть что же получилось. Для запуска нажимаем F9 или же кнопку на панели инструментов

выполнить программу

В результате мы должны увидеть вот такую картину

Первый результат

Теперь мы будем двигаться вниз и закрашивать правую сторону квадрата:

Потом пойдем влево, закрашивая нижнюю границу квадрата

У нас осталась одна незакрашенная клетка. Закрасим ее

Все готово! В итоге наша программа выглядит так:

использовать Робот

алг Квадрат

нач

закрасить

вправо

закрасить

вправо

закрасить

вниз

закрасить

вниз

закрасить

влево

закрасить

влево

закрасить

вверх

закрасить

кон

А результат ее работы вот так

Результат работы программы

Итак, сегодня мы с вами написали программу, используя простые команды Робота. Рекомендую попрактиковаться самостоятельно — придумать себе задание и написать программу. Это могут быть самые различные фигуры, узоры, буквы. К примеру, попробуйте написать программу, рисующую букву П, Р, Ш, Щ, М. А если получится и захотите поделиться — комментируйте и прикрепляйте результат к комментарию.

Исполнитель Робот. Циклы.

Итак, что такое цикл? Представьте, что мы находимся на уроке физической культуры и перед нами стоит задача сделать 7 приседаний. Это задание можно оформить в виде линейного алгоритма и тогда оно будет выглядеть примерно так:

Т. е мы повторили команду сделай приседание 7 раз. А есть ли смысл писать 7 одинаковых команд? Может проще дать команду сделай 7 приседаний? Конечно проще и правильнее. Это и есть цикл. Вы можете сами вспомнить примеры циклов из жизни — их довольно много.

Таким образом линейный алгоритм, где повторяются одни и те же команды мы можем оформить в виде циклического алгоритма — примерно так:

Вот так, на придуманном нами языке мы оформили цикл. У исполнителя Робот тоже есть возможность записывать циклы. Причем, циклы бывают разные. Тот вариант, который мы только что рассмотрели называется цикл со счетчиком или цикл с параметром.

Виды циклов.

Цикл со счетчиком.

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

Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. А он такой:

нц количество повторений > раз

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

Давайте рассмотрим это на примере.

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

Задание на цикл со счетчиком

Изначально Робот находился в левой верхней клетке.

Давайте для начала решим задачу линейно. В этом случае мы будет закрашивать текущую клетку и перемещаться на 1 клетку вправо и программа будет выглядеть так:
использовать Робот
алг
нач

Как видим, команды закрасить и вправо повторяются 7 раз. Давайте теперь перепишем программу с использованием цикла. Кстати, чтобы вставить цикл в свою программу можно в меню Вставка выбрать пункт нц-раз-кц или нажать одну из комбинаций клавиш Esc, Р (русская буква Р) или Esc, H (латинская буква H). Причем клавиши надо нажимать последовательно — сначала Esc, отпустить ее и только потом Р или H.

Так вот, наша программа с циклом будет выглядеть так:

использовать Робот

Если мы ее запустим, то увидим, что в результате получится тоже самое — 7 закрашенных клеток. Однако программа стала короче и значительно грамотней с алгоритмической точки зрения!

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

Цикл с условием.

Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, а другой способен сделать 27. Можно ли учесть это при создании цикла? Конечно. Только теперь мы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал, делай приседания. В этом случае человек будет делать не конкретное число приседаний, а приседать до тех пор, пока не устанет. И наш цикл на абстрактном языке примет такой вид:

пока не устал

Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий

сверху свободно

снизу свободно

слева свободно

справа свободно

сверху стена

снизу стена

слева стена

справа стена

Теперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию от левой до правой границы поля использую цикл с условием. Изначально Робот находится в левом верхнем углу.

Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делать Роботу. Этот алгоритм будет звучать примерно так:

В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, пока справа не окажется стена.

Исходный код нашей программы для Робота будет примерно такой:

использовать Робот

нц пока справа свободно

В результате выполнения этой программы мы увидим вот такую картину:

Задание для Робота цикл с условием

Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимо выполнить команду закрасить.

Решение задачи с циклом

Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поля Робота независимо от его размера. Конечно же с использованием циклов с условием. В итоге должно получиться так:

Представьте себе клетчатое поле (как лист из тетради в клеточку) на котором находится некий объект, который мы назовем Робот. Используя специальные команды Кумир, мы можем этим Роботом управлять — перемещать его по клеткам, закрашивать клетки. И в большинстве случаев наша задача будет заключаться в том, чтобы написать такую программу для Робота, выполняя которую он будет закрашивать определенные клетки.

кумир

Видео на тему: КуМир. Робот. Знакомство

Настройка среды Кумир для исполнителя Робот.

Запущенная программа Кумир выглядит так.

кумир

Первым делом мы должны раскоментировать первую строку нашей программы, убрав символ |

кумир

Таким образом, программа станет выглядеть так:

использовать Робот

алг

нач

кон

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

Стартовая обстановка Робота

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

Что такое стартовая обстановка?

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

Отличаются они только тем, что в стартовой обстановке 2 справа от Робота находится стена.

Если наша программа начнется с команды, которая переместит Робота на одну клетку вправо (о простых командах Робота), то в первом случае (стартовая обстановка 1) Робот выполнит эту команду, а во втором программа завершится аварийно, так как Робот не может ходить сквозь стены. Получается, что одна и та же программа в первом случае работает, а во втором приводит к ошибке. Именно поэтому так важно задавать стартовую обстановку для Робота.

Как задать стартовую обстановку в Кумир?

Запустив среду Кумир в меню Инструменты выбираем пункт Редактировать стартовую обстановку Робота.

кумир

Откроется окно с синим фоном. Это и есть стартовая обстановка Робота. И мы ее можем изменить.

По-умолчанию, размер окна 10 на 15 клеток. Если нам необходимо изменить количество строк и столбцов, то щелкаем Обстановка -> Новая обстановка и задаем необходимые значения

кумир

  • чтобы переместить Робота в новую позицию, щелкаем по нему левой кнопкой мыши и не отпуская ее тащим Робота в нужное место.
  • чтобы добавить/удалить стену, щелкаем левой кнопкой мыши по границе клетки.
  • чтобы закрасить/очистить клетку, щелкаем по ней левой кнопкой мыши
  • чтобы добавить или убрать точку в клетку щелкаем по клетке, удерживая клавишу Ctrl

После того, как мы задали нужную стартовую обстановку, ее необходимо сохранить (Обстановка -> Сохранить или Обстановка -> Сохранить как). После этого закрываем окно Обстановка и в основном окне программы выбираем Робот -> Сменить стартовую обстановку

Как работать в программе Кумир

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

Как работать в программе Кумир

Если в окне с зеленым фоном (текущая обстановка Робота) вы увидите вашу обстановку, то можно переходить к написанию алгоритма, используя простые команды Робота.

Исполнитель Робот. Простые команды.

У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота. Всего их 5:

вверх

влево

вправо

закрасить

Результат выполнения этих команд понятен из их названия:

вверх — переместить Робота на одну клетку вверх

вниз — переместить Робота на одну клетку вниз

влево — переместить Робота на одну клетку влево

вправо — переместить Робота на одну клетку вправо

закрасить — закрасить текущую клетку (клетку в которой находится Робот).

Эти команды можно писать с клавиатуры, а можно использовать горячие клавиши (нажав их команды будут вставляться автоматически):

вверх — Escape, Up (стрелка вверх)

вниз — Escape, Down (стрелка вниз)

влево — Escape, Left (стрелка влево)

вправо — Escape, Right (стрелка вправо)

закрасить — Escape, Space (пробел)

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

Теперь мы готовы написать первый алгоритм для Робота. Предлагаю начать с простого — нарисуем квадрат со стороной 3 клетки. Поехали!

Запускаем Кумир, настраиваем его. Можно начинать писать программу? Конечно нет! Мы же не задали стартовую обстановку! Делаем это. Предлагаю использовать вот такую:

кумир

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

Как работать в программе Кумир

Как работать в программе Кумир

Предлагаю рисовать квадрат, двигаясь по часовой стрелке. Для начала закрасим текущую клетку, дав команду закрасить. Потом делаем шаг вправо и опять закрашиваем клетку. И еще раз шаг вправо и закрасить.

Как работать в программе Кумир

Попробуем запустить программу и посмотреть что же получилось. Для запуска нажимаем F9 или же кнопку на панели инструментов

Как работать в программе Кумир

В результате мы должны увидеть вот такую картину

Как работать в программе Кумир

Теперь мы будем двигаться вниз и закрашивать правую сторону квадрата:

Потом пойдем влево, закрашивая нижнюю границу квадрата

У нас осталась одна не закрашенная клетка. Закрасим ее

Все готово! В итоге наша программа выглядит так:

использовать Робот

алг Квадрат

нач

закрасить

вправо

закрасить

вправо

закрасить

вниз

закрасить

вниз

закрасить

влево

закрасить

влево

закрасить

вверх

закрасить

кон

А результат ее работы вот так

Как работать в программе Кумир

Итак, сегодня мы с вами написали программу, используя простые команды Робота. Рекомендую попрактиковаться самостоятельно — придумать себе задание и написать программу. Это могут быть самые различные фигуры, узоры, буквы. К примеру, попробуйте написать программу, рисующую букву П, Р, Ш, Щ, М. А если получится и захотите поделиться — комментируйте и прикрепляйте результат к комментарию.

Исполнитель Робот. Циклы.

Итак, что такое цикл? Представьте, что мы находимся на уроке физической культуры и перед нами стоит задача сделать 7 приседаний. Это задание можно оформить в виде линейного алгоритма и тогда оно будет выглядеть примерно так:

То есть мы повторили команду сделай приседание 7 раз. А есть ли смысл писать 7 одинаковых команд? Может проще дать команду сделай 7 приседаний? Конечно проще и правильнее. Это и есть цикл. Вы можете сами вспомнить примеры циклов из жизни — их довольно много.

Таким образом линейный алгоритм, где повторяются одни и те же команды мы можем оформить в виде циклического алгоритма — примерно так:

Вот так, на придуманном нами языке мы оформили цикл. У исполнителя Робот тоже есть возможность записывать циклы. Причем, циклы бывают разные. Тот вариант, который мы только что рассмотрели называется цикл со счетчиком или цикл с параметром.

Виды циклов.

Цикл со счетчиком.

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

Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. А он такой:

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

Давайте рассмотрим это на примере.

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

Как работать в программе Кумир

Изначально Робот находился в левой верхней клетке.

Давайте для начала решим задачу линейно. В этом случае мы будет закрашивать текущую клетку и перемещаться на 1 клетку вправо и программа будет выглядеть так:
использовать Робот
алг
нач

Как видим, команды закрасить и вправо повторяются 7 раз. Давайте теперь перепишем программу с использованием цикла. Кстати, чтобы вставить цикл в свою программу можно в меню Вставка выбрать пункт нц-раз-кц или нажать одну из комбинаций клавиш Esc, Р (русская буква Р) или Esc, H (латинская буква H). Причем клавиши надо нажимать последовательно — сначала Esc, отпустить ее и только потом Р или H.

Так вот, наша программа с циклом будет выглядеть так:

использовать Робот

Если мы ее запустим, то увидим, что в результате получится тоже самое — 7 закрашенных клеток. Однако программа стала короче и значительно грамотней с алгоритмической точки зрения!

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

Цикл с условием

Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, а другой способен сделать 27. Можно ли учесть это при создании цикла? Конечно. Только теперь мы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал, делай приседания. В этом случае человек будет делать не конкретное число приседаний, а приседать до тех пор, пока не устанет. И наш цикл на абстрактном языке примет такой вид:

пока не устал

Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий

сверху свободно

снизу свободно

слева свободно

справа свободно

сверху стена

снизу стена

слева стена

справа стена

Теперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию от левой до правой границы поля использую цикл с условием. Изначально Робот находится в левом верхнем углу.

Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делать Роботу. Этот алгоритм будет звучать примерно так:

В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, пока справа не окажется стена.

Исходный код нашей программы для Робота будет примерно такой:

использовать Робот

нц пока справа свободно

В результате выполнения этой программы мы увидим вот такую картину:

Как работать в программе Кумир

Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимо выполнить команду закрасить.

Как работать в программе Кумир

Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поля Робота независимо от его размера. Конечно же с использованием циклов с условием. В итоге должно получиться так:

Читайте также: