→ Что значит выделенное зеленым в программе паркетчик. Описание интерфейса исполнителя Паркетчик.doc - Лекция "Назначение учебного исполнителя алгоритмов Паркетчик. Описание интерфейса". Запросить А - требует ввести с клавиатуры значение переменной А - поль

Что значит выделенное зеленым в программе паркетчик. Описание интерфейса исполнителя Паркетчик.doc - Лекция "Назначение учебного исполнителя алгоритмов Паркетчик. Описание интерфейса". Запросить А - требует ввести с клавиатуры значение переменной А - поль

Описание Паркетчика

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

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

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

Каждый исполнитель умеет выполнять определенные действия. Каждый исполнитель имеет систему команд, выполняя которые он производит эти действия. Для каждого исполнителя пишется программа, содержащая команды. Каждая программа имеет свой синтаксис написания. Вот этим мы сейчас и займемся.

Паркетчик умеет:

    Перемещаться по клеточному полю.

    Распознавать цвет плитки.

    Убирать и ставить плитки.

    Распознавать наличие стен в соседних клетках.

    Выполнять несложные математические действия с целыми числами.

Система команд Паркетчика

1. Шаг вправо

2. Шаг влево

3. Шаг вверх

4. Шаг вниз

5. Положить (X) - в текущую клетку ложит плитку цвета Х.

6. Снять плитку - без комментариев.

7. А:=Х - переменной А присваивает значение Х.

8. Запросить А - требует ввести с клавиатуры значение переменной А - пользователь вводит числовое значение и нажимает Enter.

9. Сообщить А - выводит на экран значение А.

10. Пауза Х - приостанавливает выполнение программы на Х миллисекунд.
11. Перейти на (Х,Y) - переходит на ячейку с координатами X,Y.
12. Стоп - остановка программы.

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

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

За переменными идет раздел описания подпрограмм. Если их нет - этот раздел можно так же пропустить. Дальше идет главная часть программы, которая начинается с зарезервированного слова Программа - оно обязательно. Исполнительная часть программы заключается в скобки - {…}.

Пример программы:

цел а;
Программа {
а:=1;
Шаг вверх;
а:=а+1;
Шаг вправо;
а:=а+1;
Шаг вверх;
а:=а+1;
Шаг вправо;
а:=а+1;
Сообщить а;
}

В этой программе мы объявили переменную А целого типа. В исполнительной части присвоили ей значение 1. Затем делали шаги вверх и вправо и одновременно к переменной А прибавляли по единице. В конце вывели на экран полученное значение этой переменной.

В результате выполнения программы Паркетчик должен переместиться по диагонали на две клетки вправо и вверх, подсчитать количество сделанных шагов и вывести это число на экран.

Чтобы выполнить программы, мы должны на панели инструментов найти кнопку "Выполнить программу" и щелкнуть по ней "мышкой", или в меню "Выполнить" выбрать пункт "Выполнить программу" или нажать клавишу F9. Если программа без ошибок, Паркетчик переместится в указанную клетку, выведет внизу, под клеточным полем, значение переменной А (число шагов) и сообщит нам - "Выполнение закончено".


Е.В. Почтина,

Т.А. Салангина

Учителя информатики

МОУ «СОШ №47

С углубленным изучением

Отдельных предметов»,

Учебный исполнитель «Паркетчик» - от алгоритмизации к программированию

Использование учебных исполнителей при изучении алгоритмизации имеет целый ряд преимуществ перед изучением напрямую языка программирования. Применение исполнителей не отвлекает учащихся на языковые особенности того или иного языка программирования, а визуализация выполнения алгоритма исполнителем позволяет эффективно проверять правильность результата и отыскивать места логических ошибок . Одним из интересных учебных исполнителей является «Паркетчик», который мы применяем в процессе обучения учащихся основной школы основам алгоритмизации.

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

Как и любой исполнитель, «Паркетчик» имеет свою систему команд:

«Паркетчик» умеет:

Перемещаться по клеточному полю.

Распознавать цвет плитки.

Убирать и ставить плитки.

Распознавать наличие стен в соседних клетках.

Выполнять несложные математические действия с целыми числами.

Система команд «Паркетчика»:

Шаг вправо

Шаг влево

Шаг вверх

Шаг вниз

Положить (X) - в текущую клетку ложит плитку цвета Х.

Снять плитку

А:=Х - переменной А присваивает значение Х.

Запросить А - требует ввести с клавиатуры значение переменной А - пользователь вводит числовое значение и нажимает Enter.

Сообщить А - выводит на экран значение А.

Пауза Х - приостанавливает выполнение программы на Х миллисекунд.

Перейти на (Х,Y) - переходит на ячейку с координатами X,Y.

Стоп - остановка программы.

Для исполнителя «Паркетчик» пишется программа, содержащая команды, которые имеют свой синтаксис написания. От того, какую программу задать, зависит, как будет вести себя этот исполнитель. Например, на квадратном поле из 64 клеток «Паркетчик» должен исполнить следующий алгоритм:

Программа

Делать от I:=1 до 8

{Перейти на клетку (I, I);

Положить зеленую плитку;

Делать от I:=1 до 8

{Перейти на клетку (I, 9-I);

Положить красную плитку;

После исполнения этого алгоритма на рабочем поле получится следующий орнамент:

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

Рассмотрим пример записи одного и того же алгоритма (вычисление ряда Фибоначчи по его номеру, который задается пользователем программы) на двух языках: на языке «Паркетчика» и на Паскале.

На наш взгляд просматривается сходство с синтаксисом языка Паскаль. Как видно из приведенного выше примера:

Каждая команда заканчивается знаком (;) - точка с запятой;

Начинается описание программы с объявления переменных (переменные у Паркетчика двух типов: целые и цвет, если переменных нет, объявление их можно пропустить);

Оператор присваивания аналогичен оператору присваивания языка Паскаль;

Не различаются маленькие и большие буквы в написании операторов;

Главная часть программы, которая начинается с зарезервированного слова Программа - оно обязательно;

Исполнительная часть программы заключается в скобки - {…};

Группа команд, которая должна выполняться как один оператор, заключается в фигурные скобки: {оператор} - обычно используется в циклах и ветвлениях (в Паскале роль открывающейся скобки играет служебное слово begin, а закрывающейся – служебное слово end).

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

Как отмечалось выше, «Паркетчик» умеет работать с основными алгоритмическими структурами - ветвление, цикл с параметром, цикл с предусловием, работает с подпрограммами, понимает сложные логические условия, для вычислений использует целочисленные переменные. «Однако запас только целочисленных переменных, очевидно, мал для эффективной работы с числами. Это может служить мотивом для перехода к изучению более мощных средств общения с компьютером – языков программирования. Важно при этом, чтобы учащиеся осознали, что базовые алгоритмические конструкции одни и те же во всех языках программирования. Поэтому изучение любого языка программирования можно в первом приближении считать ознакомлением с тем, как на этот язык переводятся основные алгоритмические конструкции, описания переменных (и других структурных данных)» . Сходство же синтаксисов Паркетчика и Паскаля значительно облегчит этот переход.

Программа «Паркетчик» применяется на протяжении всего курса информатики разработанного сообществом авторов Гейн А.Г., Сенокосов А.И., Шолохович В.Ф. (учебники данных авторов исключены из федерального перечня учебников на 2006\2007 учебный год).

Мы считаем, что учебный исполнитель "Паркетчик" позволит учащимся изучить все виды алгоритмов и научиться основам алгоритмизации, а также поможет им эффективнее освоить программирование на языке Паскаль.

Литература


  1. Гейн А.Г., Сенокосов А.И., Шолохович В.Ф. «Информатика 7-9», М, Дрофа, 2005 г.

  2. Гейн А.Г., Сенокосов А.И. «Информатика. 7-9 классы. Методическое пособие к учебнику », М, Дрофа, 2002 г.

  3. «Программа «Паркетчик». Этот парень не так прост, как может показаться…» // www.inf777.narod.ru, Волгоградская обл., Старополтавский р-н.
4. Кризская Е. «Интервью с А.И. Сенокосовым: Машинная логика. Чем Паркетчик лучше Бейсика, Паскаля и Лого-черепашки» // «Учительская газета», №49 (10026), 2004-12-07

Задания и комментарии к использованию учебного исполнителя
алгоритмов Паркетчик
Учебный исполнитель алгоритмов Паркетчик поддерживает изучение
алгоритмизации в курсе информатики, преподаваемом по учебникам для 7 и 8
классов, созданными под руководством профессора А.Г. Гейна. Интерфейс этого
исполнителя описан в учебнике для 7 класса, в § 13 и в Лабораторной работе № 14, а
также в текстовом файле Описание интерфейса исполнителя Паркетчик.doc (этот
файл может быть прочитан и в OpenOffice Writer). Данные комментарии относятся к
тем заданиям, которые требуют использования готовых паркетов для тестирования
программ, составленных учащимися. Эти паркеты находятся в папке Паркеты. Ниже
мы приводим формулировки соответствующих задач с указанием для каждой из них
её номера в учебнике.
Задача 1 (§ 17, задание 1). На поле имеется орнамент из красных и зелёных

зелёными (все остальные плитки, имеющиеся на поле, цвет не меняют).
Для тестирования программы используются файлы Поменять цвета на
границе.prk, Поменять цвета на границе_1.prk, Поменять цвета на границе_2.prk и
Поменять цвета на границе_3.prk. Первый из этих файлов содержит паркет,
тестирующий программу в общей ситуации - поле является невырожденным
прямоугольником, на котором красные и зелёные плитки располагаются в различных
комбинациях (особо обращаем внимание на обработку плиток, стоящих в углах
поля). Второй и третий файлы содержат поля, состоящие из одного горизонтального
или вертикального ряда. Наконец, последний файл содержит одноклеточное поле.
Задача 2 (§ 17, задание 2). На поле имеется орнамент из красных и зелёных
плиток. Требуется заменить все красные плитки, расположенные на границе поля,
на зелёные, а зелёные - на красные (все остальные плитки, имеющиеся на поле,
цвет не меняют).
Для тестирования программы используются те же файлы, что и для задачи 1, с
теми же целевыми установками. Для этой задачи можно создать и другие паркеты. В
этом случае важно обратить внимание на существование различных ситуаций -
наличие и отсутствие плиток в угловых клетках, различные случаи чередования
цветов и т. д.
Задача 3 (§ 17, задание 3). На поле имеется орнамент из красных и зелёных
плиток. Требуется заменить все красные плитки зелёными, а зелёные -
красными.
Для тестирования программы используются файлы Поменять цвета на поле.prk.
Этот файл содержит паркет, тестирующий программу в общей ситуации - поле
является невырожденным прямоугольником, на котором красные и зелёные плитки
располагаются в различных комбинациях (особо обращаем внимание на обработку
плиток, стоящих на границе поля). Для тестирования программы в случаях, когда
поле представляет собой горизонтальную (вертикальную) полосу или вообще
одноклеточно, можно использовать файлы Поменять цвета на границе_1.prk,
Поменять цвета на границе_2.prk и Поменять цвета на границе_3.prk.
Задача 4 (§ 17, задание 7). На поле Паркетчика располагается несколько
вертикальных полосок из красных плиток, нижняя плитка каждой полоски
касается нижнего края поля Паркетчика (столбчатая диаграмма). Напишите
программу для Паркетчика, после исполнения которой столбцы расположатся в
порядке невозрастания их высоты.

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

Сортировка.prk. Особое внимание надо обратить на обработку последнего столбца и
столбца, занимающего всю высоту поля.
Поскольку в этой задаче главным является идейное содержание - реализация
того или иного алгоритма сортировки - мы считаем необязательным проводить
тестирование программы на экзотических полях (состоящих из одного столбца или
вообще из одной клетки).
Задача 5 (§ 17, задание 8 а). На поле располагается несколько не касающихся
друг друга квадратов и прямоугольников, отличных от квадратов, составленных
из плиток (необязательно одного цвета). Требуется перекрасить все квадраты в
красный цвет, а прямоугольники, не являющиеся квадратами, - в зелёный.
Для тестирования программы используется файл Распознавание квадратов.prk.
Задача 6 (§ 17, задание 8 б). На поле из красных плиток выложено несколько
фигурок двух видов (см. рисунок ниже). Требуется каждую фигурку вида 1
дополнить до прямоугольника, положив в «проём» зелёную плитку, а фигурки
вида 2 оставить без изменения. Все фигурки ориентированы так, как показано на
рисунке, могут касаться друг друга, но не имеют общих частей (скажем, общей
вертикальной «стенки»).
Для тестирования программы, составленной учащимся, используется файл
Вид 1
Вид 2
Распознавание.prk.

Исполнитель «Паркетчик»

Паркетчик представляет из себя «бездумного исполнителя», назначение которого -- выкладывать на клетчатом поле узоры из разноцветных плиток (красных и зеленых). Поле имеет прямоугольную форму; каждая клетка идентифицируется двумя индексными номерами -- по горизонтали и по вертикали, например: (1,1), (3,5).

Паркетчик может перемещаться с помощью команд «шаг вверх», «шаг вниз», «шаг влево», «шаг вправо» к соседним клеткам, а также к любой клетке поля по команде «перейти на (m,n)». В текущую клетку Паркетчик может положить плитку указанного цвета по команде «положить (цвет)»или убрать плитку по команде «снять плитку». Условиями в командах ветвления и цикла может быть проверка цвета лежащей плитки или проверка наличия препятствия (стены) в любом направлении от текущей клетки.

Паркетчик предназначен для методичного обучения структурному способу построения алгоритмов. Форма языка Паркетчик применяется также и для описания вычислительных алгоритмов, подобно тому, как используется алгоритмический язык А. Г. Кушниренко. По сути дела, между алгоритмическим языком и языком Паркетчика нет принципиальной разницы тот и другой представляет собой структурный русскоязычной псевдокод. Видимо, считая описание алгоритма на языке Паркет достаточно структурированным и наглядным, авторы отказались от использования блок-схем .

Исполнитель « Чертежник»

А.Г. Гейн также применял исполнитель с названием «Чертежник», который относится к категории исполнителей, работающих по принципу «черепашьей графики». Команды перемещения (сделать шаг, прыгнуть) и вращения (повернуть налево) не имеет параметров. По одной команде исполнитель перемещается на строго определенное расстояние -- один шаг, или поворачивается против часовой стрелки на 90°. Поэтому создаваемые рисунки могут состоять только из горизонтальных и вертикальных отрезков. Можно сказать, что Чертежник А. Г. Гейна в чистом виде является исполнителем, работающим «в обстановке».

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

Для моделирования методов решения задач обработки табличной информации А.Г. Гейном введен исполнитель Робот-манипулятор.

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

нц пока снизу стена

закрасить

вправо кц

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

Прямоугольная таблица имитируется стеллажом, состоящим ячеек, в которые могут быть помещены различные радиодетали (микросхемы, транзисторы и прочее). Робот умеет перемещаться в вертикальном и горизонтальном направлениях вдоль ячеек, перемещать в них детали или извлекать детали из ячеек. Здесь можно говорить о появлении величин, рассматривая имя детали в ячейке как величину (производится сравнение ее имени с именем искомой детали). Характерная структура алгоритмов управления Роботом -- вложенные циклы с ветвлениями .

Помимо классов исполнителей, работающих с величинами и в среде, существуют также две категории исполнителей, которые не входят в данные классы. Это среда программирования ЛогоМиры и КуМир.

Начнём разбираться поэтапно.

1 этап: Выложить всё поле зелёными плитками.

Зададим "Паркетчику" такой код, чтобы он выложил сначала первый горизонтальный ряд, потом второй, потом третий и т. д. до самой верхней стены. И при этом, чтобы он всегда начинал ложить плитку слева – направо. Для этого воспользуемся переменной (I) , которой присвоим значение оси (У) от 1 –й до 27 – й клетки. То есть по оси (Х) он будет двигаться благодаря команде шаг вправо, а по оси (У) благодаря команде присвоения переменной (I) Представим это графически:

Так как исходная позиция "Паркетчика" всегда клетка (1,1) и мы выбрали, что он будет двигаться горизонтально:

(Шаг вправо) ; (Положить плитку) ; (Пока не стена вправо) ;

То чтобы выложить второй ряд, "Паркетчик" должен прыгнуть, по нашему варианту программы, в клетку (1,2) и выложить второй ряд вправо и т. д. (1,3) , (1,4).

Поэтому мы оси (У) присваиваем значение (I), а (I) присваиваем значение от 1 до 27.

Теперь напишем программу тем языком, который понимает "Паркетчик" , для того, чтобы он выложил всё поле зелёными клетками.

Программа

Цел I ; {

Делать от I:=1 до 27 { Перейти на(1,I);

Делать пока (НЕ справа стена) { Положить(зеленая);

Шаг вправо; }; Положить(зеленая) }; }

Скопируйте или напишите эту программу и у вас должно всё поле закраситься зелёным.

Начнём вылаживать красный бордюр. Сначала разберёмся какие команды мы напишем для первого ряда? Надо перевести «Паркетчика» в клетку (х,у) равную (2,2), чтобы он выложил нижний красный ряд до клетки (х,у) равной (26,2). Как видите теперь у нас (у=2) остаётся неизменным, а меняется (х) от 2 до 26. Напишем код для «Паркетчика» и поместим его перед последней фигурной скобкой: } в вышенаписанный код.

Делать от i:=2 до 26 {

Перейти на(i,2); Снять плитку; Положить(красная); Пауза(100); };

После этого кода у вас должно получиться вот так:

Обратите внимание на команду (пауза 100). Как раз эта команда задаёт скорость «Паркетчику» , то есть если поставить (пауза 200), он будет делать медленнее, а если поставить (пауза 50), то быстрее.

«Паркетчик» у нас стоит в клетке (26,2) и должен выложить вертикальный красный ряд до клетки (26,26), то есть это верхний правый угол. То есть мы видим, что здесь у нас (х) остаётся неизменной равной 26, а (у) будет меняться от 3 до 26. Команда для «Паркетчика» будет такой: (Незабудьте вставлять надо перед последней фигурной скобкой: }

Делать от i:=3 до 26 {

Перейти на(26,i); Снять плитку; Положить(красная); Пауза(100); };

У вас допжно получиться так:

Осталось выложить два ряда бордюра: левый вертикальный и верхний горизонтальный.

Сначапа выложим вертикальный левый ряд. Для этого переведём «Паркетчик» в левый нижний угол на клетку (2,2) и зададим код, чтобы он двигался вверх, то есть здесь (х) остаётся неизменной, а (у) должен меняться от 2 до 26.

Команда «Паркетчику» будет такой:

Делать от i:=2 до 26 {

Перейти на(2,i); Снять плитку; Положить(красная); Пауза(100);};

У вас должно получиться так:

Теперь осталось выложить верхний горизонтальный ряд.

«Паркетчик» находится в левом верхнем углу в клетке (2,26) и должен двигаться вправо, то есть здесь (у) остаётся неизменной, а (х) будет меняться от 3 до 25.

Команда для «Паркетчика» будет такой:

Делать от i:=3 до 25 {

Перейти на(i,26); Снять плитку; Положить(красная); Пауза(100) ; };

У вас должно получиться так:


Теперь "Паркетчику" осталось выложить надпись. Код для буквы "я" будет такой:

Перейти на(12,17); Снять плитку; Положить(красная);

Шаг вверх;

Шаг вверх; Снять плитку; Положить(красная); Пауза(100);

Шаг вверх; Снять плитку; Положить(красная); Пауза(100);

Шаг вправо; Снять плитку; Положить(красная); Пауза(100);

Делать от i:=17 до 22 {

Перейти на(15,i); Снять плитку; Положить(красная); Пауза(100); };

У вас должно получиться так:

Теперь напишем букву «с»:

Перейти на(8,7); Снять плитку; Положить(красная); Пауза(100);

Шаг влево; Снять плитку; Положить(красная); Пауза(100);

Шаг влево; Снять плитку; Положить(красная); Пауза(100);

Делать от i:=7 до 11 {

Шаг вверх; Снять плитку; Положить(красная); Пауза(100) };

Шаг вправо; Снять плитку; Положить(красная); Пауза(100);

Шаг вправо; Снять плитку; Положить(красная); Пауза(100);

«Паркетчик» написал букву «с»:

«Паркетчик» начал писать букву «А»:

Делать от i:=7 до 11 {

Перейти на(11,i); Снять плитку; Положить(красная); Пауза(100) };

Шаг вверх; Шаг вправо; Снять плитку; Положить(красная); Пауза(100);

Делать от i:=7 до 12 {

Перейти на(13,i); Снять плитку; Положить(красная); Пауза(100);

Перейти на(12,9); Снять плитку; Положить(красная); Пауза(100); };

Букву «м» «Паркетчик» пишет по таким командам:

Делать от i:=7 до 12 {

Перейти на(16,i); Снять плитку; Положить(красная); Пауза(100) };

Шаг вправо; Снять плитку; Положить(красная); Пауза(100);

Шаг вниз; Шаг вправо; Снять плитку; Положить(красная); Пауза(100);

Шаг вверх; Шаг вправо; Снять плитку; Положить(красная); Пауза(100);

Шаг вверх; Шаг вправо; Снять плитку; Положить(красная); Пауза(100);

Делать от i:=7 до 12 {

Перейти на(22,i); Снять плитку; Положить(красная); Пауза(100) }; }; }

Программа завершена. Теперь её можно запустить.

 

 

Это интересно: