
- •Алгоритмы и исполнители
- •Исполнители
- •Что такое исполнитель?
- •Ошибки при работе исполнителей
- •Как ввести нового исполнителя?
- •Старинные задачи
- •Какие бывают алгоритмы?
- •Линейный алгоритм
- •Разветвляющийся алгоритм
- •Циклический алгоритм
- •Программы
- •Правила записи алгоритмов для компьютеров
- •Задача о перевозчике
- •Ханойские башни (рекурсивные алгоритмы)
- •Правила игры
- •Что такое рекурсия?
- •Исполнитель Робот
- •Среда Робота
- •Основные команды Робота
- •Простейшая программа (задача z1-3.Maz)
- •Какие ошибки могут быть у Робота?
- •Работа в системе Исполнители
- •З адачи
- •Что такое цикл (задача z2-3.Maz)?
- •Правила использования оператора цикла
- •Вложенные циклы (задача z3-3.Maz)
- •Алгоритмы с обратной связью
- •Что такое обратная связь и зачем она нужна?
- •Как Робот использует обратную связь?
- •Ц икл с условием
- •Правила использования цикла пока
- •Условный оператор
- •Что такое условный оператор (задача z5-3.Maz)?
- •Правила использования условного оператора
- •Сокращенная форма
- •Что такое сложные условия (задача z6-3.Maz)?
- •Правила использования сложных условий
- •Переменные и арифметические выражения
- •Зачем нужны переменные (задача z7-3.Maz)?
- •Что такое переменная?
- •Объявление переменных
- •Правила работы с переменными
- •Арифметические выражения
- •Правила записи арифметических выражений2
- •Цикл с параметром3
- •З ачем нам еще один вид цикла?
- •Диалоговые программы
- •Что такое диалоговая программа?
- •Вывод на экран (задача z8-3.Maz)
- •Правила использования оператора вывода
- •Ввод данных
- •Правила использования оператора ввода
- •Вычисления с циклами
- •Процедуры
- •Зачем нужны процедуры?
- •Как ввести новую команду (задача z10-3.Maz)?
- •Правила использования процедур
- •Процедуры с параметрами (задача z11-3.Maz)
- •Правила использования процедур с параметрами
- •Группа ( int m, int n ) { ... }
- •Методы составления программ
- •Метод “сверху вниз”
- •Метод “снизу вверх”
- •Комбинированный способ
- •П ример составления программы
- •С ложная задача
- •Исполнитель Черепаха
- •Как работает Черепаха?
- •Какие команды понимает Черепаха?
- •Как управлять Черепахой?
- •Как раскрасить рисунок?
- •Окружности
- •Как циклы сокращают программу
- •Вложенные циклы
- •Процедуры
- •Зачем нужны процедуры?
- •Как правильно применять процедуры?
- •П роцедуры с параметрами
- •Как применять процедуры с параметрами?
- •П еременные
- •Зачем нужны переменные?
- •Задания
- •Что такое переменная?
- •Объявление переменных
- •Правила работы с переменными
- •Переменные и процедуры
- •Цикл с параметром
- •Арифметические выражения
- •Исполнитель Чертежник
- •Прямоугольная система координат
- •Как управлять Чертежником?
- •Использование процедур
- •Процедуры с параметрами
- •Циклы и переменные
- •Сравнение Чертежника и Черепахи
- •Переменные и использование памяти
- •Цикл с параметром
Как управлять Чертежником?
Среда Чертежника – плоскость с системой координат, которая необходима для того, чтобы однозначно определять место точки. Для задания системы координат надо определить
направление осей координат
единичные отрезки на осях
начало отсчета – точку с координатами (0,0)
Оси координат не рисуются на экране — вы видите чистое белое поле. Началом координат считается центр поля исполнителя.
СКИ Чертежника:
покажись; Чертежник появляется на экране
скройся; Чертежник исчезает
опусти_перо; после этого остается след
подними_перо; не оставлять след
в_точку ( x, y ); переместиться в точку с координатами (x,y)
вектор ( dx, dy ); переместиться на вектор (dx,dy)
относительно текущего положения
Покажем на примере разницу между командами в_точку и вектор.
Команда в_точку(20,40) перемещает исполнителя в точку с абсолютными координатами (20,40), независимо от того, где он находился до этого. |
Команда вектор(20,40) смещает исполнителя в точку, расположенную на 20 шагов правее и на 40 шагов выше его текущего положения. |
|
|
Важно, что для использования команды в_точку нам требуется знать, где находится начало отсчета, а при использовании команды вектор – нет, так как отсчет ведется от текущего положения исполнителя. Поэтому в большинстве случаев мы будем использовать только команды вектор.
Вектор - это отрезок, имеющий направление.
Начало вектора (x,y) находится там, где был исполнитель до выполнения команды, в точке (x0, y0), конец имеет координаты (x0+x, y0+y).
К
оординаты
вектора могут быть как положительными,
так и отрицательными числами. Если,
например, координата x положительна,
это значит, что исполнитель должен
переместиться в ту сторону, в которую
увеличивается ось OX, а если
координата y отрицательна, то
исполнитель перемещается в направлении,
противоположном оси OY.
Задание для Чертежника представляет собой рисунок, состоящий из отрезков. Перед началом работы исполнитель находится в точке А, после окончания работы ему надо прийти в точку Б.
Пример. Исполнитель находится в начале координат. Неизвестно, в каком положении находится его перо (опущено или поднято). Ниже даны два варианта решения задачи: с помощью команд в_точку и вектор.
|
КонвертТоч { подними_перо; в_точку (10, 50); опусти_перо; в_точку (60, 50); в_точку (60, 10); в_точку (10, 10); в_точку (10, 50); в_точку (60, 10); в_точку (10, 10); в_точку (60, 50); } |
|
КонвертВект { подними_перо; вектор (10, 50); опусти_перо; вектор (50, 0); вектор (0, -40); вектор (-50, 0); вектор (0, 40); вектор (50, -40); вектор (-50, 0); вектор (50, 40); }
|