ГЛАВА 5
ПОДПРОГРАММЫ
Краткое содержание: GO SUB, RETURN
Иногда бывает удобно некоторые фрагменты представить в виде
отдельных частей, по несколько раз используемых в различных местах прог-
раммы. Такие части оформляются как подпрограммы, которые могут вызы-
ваться в любом месте программы.
Для этого используются операторы GO SUB (GO ТО SUBROUTINE) и
RETURN в форме :
GO SUB N
где "^номер первой строки в подпрограмме.
Этот оператор подобен GO ТО N с той разницей, что при использо-
вании GO SUB компьютер запоминает следующий после GO SUB оператор,
которому и передается управление после выполнения программы. Дается
это посредством помещения номера оператора (адреса возврата) в
специальную область памяти, называемую GO SUB СТЁК.
RETURN выбирает верхний адрес возврата из GO SUB СТЕКА и про-
должает выполнение программы с оператора следующего после оператора с
этим номером.
Приведём пример использования подпрограммы:
100 LET х-10
110 GO SUB 500
120 PRINTS
130 LFT x«x+4
140 GO SUB 500
150 PRINT s
160 LET x«x+2
170 GO SUB 500
180 PRINTS
190 STOP
500 LET s-0
5lOFORy-l TOx
520 LET s-s+y
530 NEXT у
540 RETURN
В общем случае, подпрограмма может вызывать другие подпрограммы
и даже саму себя (такая подпрограмма называется рекурсивной).