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

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

Вспомогательный aлгоритм в среде PascalABC.NET записывается в виде процедуры:

В программе процедура записывается ниже команды uses Drawman;

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

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

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

Без использования подпрограммы

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *