Составление линейных алгоритмов.
Для составления алгоритмов мы на занятиях будем использовать исполнителя.
Среда исполнителя
В этом поле могут быть установлены:
- кубики;
- исполнитель.
Исполнитель может переползать из клетки в клетку вверх, вниз, влево, вправо, но не по диагонали. Выход исполнителя за пределы поля запрещён (отказ - Не могу!). В каждой клетке может находиться кубик с нанесённым на его грань символом. Исполнитель, перемещаясь по полю, может толкать один или несколько кубиков перед собой и «сбрасывать» кубики за пределы поля.
Размер поля
Размер клетчатого поля – 10 клеток по вертикали, 10 клеток по горизонтали.
СКИ исполнителя
Система команд исполнителя (СКИ) включает четыре команды (записываются заглавными буквами):
Команда исполнителя | Как выполняется |
ВПРАВО | Сместиться на одну клетку вправо |
ВЛЕВО | Сместиться на одну клетку влево |
ВВЕРХ | Сместиться на одну клетку вверх |
ВНИЗ | Сместиться на одну клетку вниз |
Любая команда может привести к отказу Не могу, если её выполнение уводит исполнителя за пределы поля.
Язык программирования исполнителя
Программа
Программа представляет собой последовательность процедур, записанных в любом порядке. Имя процедуры может быть использовано наравне с командой из СКИ исполнителя.
Процедура
Описание процедуры имеет вид:
Имя процедуры
Имя процедуры должно начинаться с буквы. Оно не должно содержать пробелов и не может совпадать с ключевыми словами языка программирования.
Команды
Команда языка | Как выполняется |
<команда из СКИ> | Команда из СКИ исполнителя. Выполнение определяется описанием команды в СКИ |
<имя процедуры> | Вызов процедуры. Выполняется процедура с указанным именем |
ПОВТОРИ <число> <команда> | Повторение выполнения команды указанное число раз |
Компьютерная модель исполнителя — это программа для компьютера. Она состоит из многих частей-процедур, которые выполняют определенную для них часть работы. Одна процедура отвечает за вывод на экран картинок, другая записывает информацию на диск, третья обрабатывает нажатие клавиш на клавиатуре компьютера.
Интерпретатор — это одна из процедур этой программы. Именно интерпретатор выполняет программу, написанную для исполнителя.
В языке программирования исполнителя, как и в обычном языке, слова разделяются пробелами. Конец строки также является разделителем слов.
Программа может быть записана в одну длинную строку:
ЭТО Шаг ВЛЕВО ВНИЗ ВПРАВО КОНЕЦ
Но так не делают. Программу записывают лесенкой, чтобы человеку было легче её читать:
ЭТО Шаг
ВЛЕВО
ВНИЗ
ВПРАВО
КОНЕЦ
Список задач
1. Написать программу ВЫБРОС, в результате которой исполнитель сбросит слона с поля.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
1 | ® | с | л | о | н | |||||
2 | ||||||||||
3 | ||||||||||
4 | ||||||||||
5 | ||||||||||
6 | ||||||||||
7 | ||||||||||
8 | ||||||||||
9 | ||||||||||
10 |
Замечание: эта задача приводит к введению конструкции «ПОВТОРИ n».
2. Превратить МОЛОТОК В МОТОК.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
1 | м | о | л | о | т | о | к | |||
2 | ® | |||||||||
3 | ||||||||||
4 | ||||||||||
5 | ||||||||||
6 | ||||||||||
7 | ||||||||||
8 | ||||||||||
9 | ||||||||||
10 |