не теряла своего значения при
ременной,используемой в процедуре.
Для заявления переменных ,которые являются глобальными для осталь-
ной программы,используется оператор SHARED.
Если важно,чтобы переменная не теряла своего значения при каждом
возбуждении ,она заявляется с использованием оператора STATIC.
Лпределение процедуры должно завершаться END SUB,которое возвращает
управление оператору ,стоящему после возбуждающего оператора CALL.Для воз-
врата из определения процедуры в каком-либо ином месте,чем ее конец,ис-
пользуется оператор EXIT SUB.
см.также $INLINE
CALL
EXIT SUB
LOCAL
SHARED
STATIC
Пример
DIM массив(1)
SUB тестпроцедура(I%,L&,S!,D#,E,A(1))
PRINT I%,L&,S!,D#,E,A(0)
END SUB
целое%=1
длинноецелое&=2
единичнойточности!=3
двойнойточности #=4
массив(0)=5
CALL тестпроцедура (целое%,длинноецелое&,единичнойточности!,двой-
нойточности#,целое%,массив())
END
Оператор SWAP
-------------
функция SWAP обменивает значения двух переменных
-------
синтаксис SWAP пер1,пер2
-----------
замечания пер1 и пер2 -это две переменные одного и того же типа.Если вы по-
пытаетесь обменять переменные разных типов(например,строчную и целую или
единичной точности и двойной точности),то возникает ошибка 475,"Несовпаде-
ние типов".
SWAP удобно роскольку простой обмен переменных в двух последова-
-190 -
тельных операторах назначения не обеспечивает выполнения этой работы:
а=в:в=а
В то время,когда вы делаете второй оператор,переменная а не содер-
жит значения,для которого она используется.Чтобы выполнить эту работу без
SWAP,требуется временная переменная и третий оператор: