Вспомогательный алгоритм — алгоритм, который можно целиком использовать в других алгоритмах.Вспомогательный aлгоритм можно использовать необходимое число раз, обращаясь к его названию (имени). Для обращения к вспомогательному aлгоритму в блок-схемах используется блок:
Вспомогательный aлгоритм в среде PascalABC.NET записывается в виде процедуры:
В программе процедура записывается ниже команды uses Drawman;
Вспомогательный алгоритм (подпрограмма) должен:
- иметь имя, по которому его можно вызвать из других алгоритмов;
- возвращать управление тому алгоритму, из которого он был вызван. После того как завершится выполнение вспомогательного алгоритма, вызвавший его алгоритм должен продолжить работу с той точки, в которой он был прерван;
- иметь возможность вызывать другие алгоритмы;
- иметь достаточно малые размеры
Рассмотрим применение процедуры на конкретном примере. Необходимо нарисовать три одинаковые треугольники смотри рисунок.
Без использования подпрограммы
program Elka;
uses Drawman;
begin
Field(9, 9);
ToPoint(1, 1);
PenDown;
OnVector(3, 2);
OnVector(3, -2);
OnVector(-6, 0);
PenUp;
ToPoint(1, 3);
PenDown;
OnVector(3, 2);
OnVector(3, -2);
OnVector(-6, 0);
PenUp;
ToPoint(1, 5);
PenDown;
OnVector(3, 2);
OnVector(3, -2);
OnVector(-6, 0);
PenUp;
ToPoint(0, 0);
end.
Результат работы программы:
Мы видим, что одна и та же последовательность команд используется для рисования треугольников:
PenDown;
OnVector(3,2);
OnVector(3,-2);
OnVector(-6,0);
PenUp;
Оформим эту последовательность команд в виде процедуры с именем triangle. И в основной программе вместо этой последовательности запишем только имя процедуры triangle.
Используя подпрограмму
program Elka;
uses Drawman;
procedure Triangle;
begin
PenDown;
OnVector(3, 2);
OnVector(3, -2);
OnVector(-6, 0);
PenUp;
end;
begin
Field(9, 9);
ToPoint(1, 1);
Triangle;
ToPoint(1, 3);
Triangle;
ToPoint(1, 5);
Triangle;
ToPoint(0, 0);
end.
Задания
Задание 1. Составьте программу рисования данного рисунка, в качестве вспомогательного используйте процедуру Kvadrat.
Вариант 1
Вариант 2
Задание 2. Составьте программу рисования данного рисунка, в качестве вспомогательного используйте процедуру Ugolok.
Вариант 1
Вариант 2
Задание 3. Составьте программу рисования данного рисунка, используя вспомогательный алгоритм.
Вариант 1
Вариант 2