Теория:
Процедуры (вспомогательные алгоритмы, подпрограммы) — это новые команды, которые мы добавляем к СКИ исполнителя. Чтобы исполнитель знал, что делать по этой команде, после основной программы надо дать расшифровку процедуры через уже известные исполнителю команды.
Как правильно применять процедуры?
- Процедуры используются в том случае, если исполнителю приходится несколько раз выполнять одни и те же действия (циклический алгоритм). При этом удобно просто ввести новую команду и расшифровать её один раз — это может значительно сократить текст программы.
- Основная программа всегда записывается первой. Она использует новые команды, расшифрованные после неё, при этом говорят, что процедура вызывается. Одна процедура может вызывать другую процедуру.
- Если исполнитель встретил новую команду, которой нет в СКИ, он ищет её расшифровку, выполняет все действия, которые там указаны, и затем продолжает выполнять основную программу со следующей строчки. При этом говорят, что исполнитель возвращается в основную программу после выполнения процедуры.
Иногда в задании явно есть одинаковые операции, но применить цикл не удаётся. Рассмотрим рисунок из равносторонних треугольников.

С одной стороны, все треугольники одинаковые, с другой — они расположены так, что нельзя использовать один цикл для всех трёх фигур.
Теперь представим себе, что у Черепахи уже есть команда «Треугольник», которая рисует треугольник и возвращает исполнителя в исходное положение, причём Черепаха должна стоять в углу треугольника и смотреть в ту сторону, в которую она пойдёт.
Учтём, что в равносторонних треугольниках все внутренние углы по \(60\) градусов. Тогда решение может быть записано так:
Три треугольника
{
вправо \((30)\);
треугольник;
вправо \((120)\); назад \((20)\); /*идём ко второму*/
треугольник;
вперёд \((20)\); влево \((60)\); /*идём к третьему*/
вперёд \((40)\); влево \((60)\);
назад \((20)\);
треугольник;
}
Если ввести такую программу, то мы получим ошибку «Не понимаю, что такое треугольник». Это и понятно, поскольку такой встроенной команды у Черепахи нет и она не знает, что делать. Поэтому ей надо объяснить, что такое треугольник, написав расшифровку этой команды. Так как внутренние углы равностороннего треугольника равны \(60\) градусов, Черепаха должна поворачиваться на \(180-60=120\) градусов.
Треугольник
{
опусти_перо;
повтори \((3)\);
{
вперёд \((40)\);
вправо \((120)\);
}
подними_перо;
}
}
Отдельно взятая программа «Три треугольника» работать не будет, однако если к ней добавить текст вспомогательного алгоритма «Треугольник», то исполнитель сможет её выполнить.