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

Понятие алгоритма
- Вспомним некоторые понятия, с которыми вы познакомились в 6-м классе.
- Алгоритм — понятная и конечная последовательность точных действий (команд), формальное выполнение которых позволяет получить решение поставленной задачи.
- Исполнитель алгоритма — человек (группа людей) или техническое устройство, которые понимают команды алгоритма и умеют правильно их выполнять.
- Система команд исполнителя — команды, которые понимает и может выполнить исполнитель.
- Любой исполнитель имеет ограниченную систему команд. Все команды исполнителя можно разделить на группы:
- команды, которые непосредственно выполняет исполнитель;
- команды, меняющие порядок выполнения команд исполнителя.

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

Алгоритмическая конструкция следование
Существует большое количество алгоритмов, в которых все команды выполняются
последовательно одна за другой в том порядке, в котором они записаны.
В подобных алгоритмах отсутствуют команды, меняющие порядок выполнения
других команд. Такие программы вы составляли в прошлом году для исполнителя
Чертежник.
Алгоритмическая конструкция следование — последовательность команд алгоритма,
которые выполняются в том порядке, в котором они записаны.
Алгоритм изготовления бутерброда:
- Отрезать ломтик батона.
- Положить на батон лист салата.
- Отрезать кусочек ветчины.
- Положить ветчину на лист салата.
- Отрезать кусочек помидора.
- Положить помидор на ветчину.

Алгоритм выполнения лабораторной работы по биологии
«Строение инфузории туфельки»:
- Рассмотреть внешний вид и внутреннее строение инфузории.
- Зарисовать инфузорию и обозначить названия ее органов.
- Подвести итог работе.

Исполнитель Чертежник
- В прошлом учебном году вы познакомились с исполнителем Чертежник, который предназначен для построения рисунков и чертежей на координатной плоскости.
- Чертежник имеет перо, с помощью которого он может рисовать отрезки на плоскости. Исходное положение пера исполнителя Чертежник поднято и находится над точкой (0, 0) — началом координат. После завершения рисования перо также должно быть поднято.
- Напомним систему команд исполнителя Чертежник:
Команда
ToPoint(x,y)
Действие
PenUp
Переместить перо Чертежника в точку (x,y)
Поднять перо Чертежника
PenDown
Field(N,M)
Опустить перо Чертежника
OnVector(a,b)
Создать поле размером N x M
Сместить перо Чертежника на а единиц по горизонтали и b единиц по вертикали

Вспомогательные алгоритмы
- Нередко в одной программе приходится рисовать одно и то же изображение несколько раз. Получение этого изображения удобно оформить в виде вспомогательного алгоритма, который можно использовать нужное число раз, обращаясь к его названию.
- Вспомогательный алгоритм — алгоритм, целиком используемый в составе другого алгоритма.
- Вспомогательный алгоритм решает некоторую подзадачу основной задачи. Вызов вспомогательного алгоритма в программе заменяет несколько команд одной командой.
- Пример. Напишем программу, выполнив которую исполнитель Чертежник нарисует следующий рисунок:
Данный рисунок состоит из трех одинаковых фигур, поэтому для рисования одной фигуры
можно оформить вспомогательный алгоритм figura.
Описание основного алгоритма будет следующим:
- перемещение в начальную точку;
- рисование фигуры;
- перемещение ко второй фигуре;
- рисование фигуры;
- перемещение к третьей фигуре;
- рисование фигуры.

uses Drawman;
procedure figura;
begin
PenDown;
OnVector(1, 0);
OnVector(0, 3);
OnVector(-1, 0);
OnVector(0, -1);
OnVector(3, 0);
OnVector(0, 1);
OnVector(-1, 0);
OnVector(0, -3);
OnVector(1, 0);
OnVector(0, 1);
OnVector(-3, 0);
OnVector(0, -1);
PenUp;
end;
begin
Field(15, 5);
ToPoint(1, 1);
Figura;
ToPoint(6, 1);
Figura;
ToPoint(11, 1);
Figura;
end.
Результат выполнения алгоритма.