Урок 30

Использование вспомогательных алгоритмов

Теоретическая часть

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

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

Вспомогательный алгоритм (подпрограмма) должен:

  1. иметь имя, по которому его можно вызвать из других алгоритмов;

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

  3. иметь возможность вызывать другие алгоритмы;

  4. иметь достаточно малые размеры

Описание процедуры имеет вид:

procedure имя;

begin

операторы

end;

Рассмотрим применение процедуры на конкретном примере. Необходимо нарисовать три одинаковые треугольники смотри рисунок.

Программа будет иметь следующий вид:

Program Elka;

uses Drawman;

begin

Field(9,9);

ToPoint (1,1);

PenDown; 1-й треугольник

OnVector(3,2);

OnVector(3,-2);

OnVector(-6,0);

PenUp;

ToPoint (1,3);

PenDown; 2-й треугольник

OnVector(3,2);

OnVector(3,-2);

OnVector(-6,0);

PenUp;

ToPoint (1,5);

PenDown; 3-й треугольник

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. Измените программу из теоретической части, так что было нарисовано пять треугольников.

Задание 2. Составьте программу построения следующего изображения с использованием процедуры Flag.

Задание 3. Составьте программу построения следующего изображения с использованием процедуры Square.