13) оператор-вычисляемого-вызова-подпрограммы = ON арифме­тическое-выражение GO пробел * SUB номер-строки (запятая номер- строки)*

4Л.9.3. Примеры

2) IF А#< BttANDiX+5< 10 THEN 500 ELSE STOP

IF X OR Y THEN 200 ELSE 300

  1. Семантика

Если значение выражения в операторе-условного-перехода - ’’ис­тина” то выполнение программы будет продолжено с номера-строки, идущего после слова THEN. Если после ключевого слова THEN стоит последовательность операторов, то после их выполнения будет выпол­няться строка, идушдя после строки с оператором-условного-перехода. Если значение выражения — ’’ложь” и оператор содержит ключевое ело­вое ELSE, то управление будет передано строке с указанным номером- строки. Если после слова ELSE стоит последовательность операторов, то после их выполнения будет выполняться строка, идущая после опе- тратора-условного-перехода.

’’Ложь” должна иметь в качестве внутреннего представления нуль, а ’’истина” должна иметь в качестве внутреннего представления число, отличное от нуля.

При сравнении текстовых-переменных меньшей считается более короткая переменная. Если длина сравниваемых текстовых перемен­ных одинакова, то сравниваются числа, полученные из кодов символов этих переменных. Сравнение ведется посимвольно, начиная с самого ле­вого символа. Меньшее число соответствует меньшей переменной.

Выражение в операторе-вычисляемого-вызова-подпрограммы преоб­разуется в целое число, которое затем используется для выбора номера- строки из списка'в операторе-вычисляемого-вызова-подпрограммы (но- мера-строк в списке нумеруются слева направо, начиная с I). Потом вызывается подпрограмма с выбранным номером строки.

  1. Исключения

Целое, полученное при вычислении арифметического-вйражения в операторах-вычисляемого-безусловного-перехода и вычисляёмого- вызова-под-программы, меньше единицы ил» больше количества эле­ментов в списке номеров-строк. Ошибка не Является неустранимой. Должен выполняться переход к следующей по порядку строке.

4 Л.9.6. Примечания

Если оператор-условного-перехода используется для проверки на ра­венство двух арифметических-выражений, дающих вещественный ре­зультат, то следует учитывать, что вычисления проводятся с определен­ной точностью. Поэтому вместо проверки на равенство следует срав­нивать абсолютное значение разности этих выражений с машинным минимумом, т.е. вместо записи

IF COS (А) = 0.5 THEN 340- следует использовать запись

IF ABS (COS (А) - 0.5) < 0.00 ... 01 THEN 340

Оператор-условного-перехода должен быть последним оператором в строке.

  1. Оператор-форматированного-вы вода

  2. -1 г Общее описание

Оператор-форматированного-вывода предназначен для генерации форматированного вывода.

Общая синтаксическая форма оператора-форматированного-выво- да имеет вид:

PRINT USING стр; элемент р элемент р . . . элемент

где каждый элемент является либо выражением, либо пробелом, р — знак пунктуации (запятая или точка с запятой), а стр — это текс­товая-константа или текстовая-переменная, управляющая форматом вы­вода.

  1. Синтаксис

Оператор-форматированного-вывода = PRINT пробел USING текс- товая-константа I текстовая-переменная точка-с-запятой список-печати

  1. Примеры

PRINT USING,, # #1 # # # А, В

  1. Семантика

Оператор-форматированного-вывода используется для организа­ции форматированного вывода. Управление форматом-вывода осущест­вляется при помощи специальных символов управления форматирова­нием. Символы форматирования для вывода числовых значений приве­дены в табл. 4.

Таблица 4

Д

Символ

ействие

Номер задает обязательно заполняемую позицию каждой цифры. Если выводимое число имеет меньше цифр, то слева оно допол­няется пробелами

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

Минус в конце формата указывает, что для выводимых отрица­тельных чисел знак минус должен быть в конце числа

Точка отделяет дробную часть выврдимого числа от целой части Выводимые числа при необходимости округляются до точности, определяемой форматом вывода

При выводе текста используются два символа: восклицательный знак (!) указывает, что из данного текста выводится только первый символ; (я пробелов) указывает, что из текста выводятся только пер­вые п + 2 символа.

  1. Исключения

Выводимое число имеет больше цифр в целой части числа, чем за­дано в формате вывода. Ошибка не является неустранимой. Должен выполняться полный вывод числа; перед числом вывод символа про­цент (%)

  1. О пер атор-выво да-на-печатающее-устрой- с т в о

Синтаксис и семантика оператора-вывода-на-печатающее-устройство полностью совпадают с синтаксисом и семантикой оператора-вывода, за исключением того, что вместо ключевого слова PRiNT используется ключевое слово LPRINT и вывод осуществляется не на терминах, а на печатающее устройство.

  1. О п е р а т о р - в в о д а

    1. Общее описание

Оператор-ввода дает возможность вводить элементы данных в ре­жиме диалога, где элементом данных может быть как числовое, так и текстовое выражение. Общая синтаксическая форма оператора-ввода следующая:

INPUT подсказка; переменная,. .. .переменная

где подсказка — это текстовая-константа.

  1. Синтаксис

  1. оператор-ввода = INPUT (подсказка;) ? список-ввода

  2. подсказка = текстовая-константа

4.1 Л2.3. Примеры

1) INPUT ’’Введение значения для А и N”; А, N

  1. . Семантика

Подсказка позволяет выводить информацию об ожидаемых вводи­мых данных.

  1. О п е р а т о р - в в о д а . т е к с т а

    1. Общее описание

Оператор-ввода-текста позволяет вводить данные с терминала, иг­норируя все управляющие символы, кроме конца-строки.

Общая синтаксическая форма оператора-ввода-текста следующая:

LINE INPUT (подсказка;) ? тексте вая-перем енная

  1. Синтаксис

Оператор-ввода-текста = LINE пробел INPUT (подсказка;) ? тексто- вая-переменная

  1. Примеры

LINE INPUT ’’Введите ответ”; V&

  1. Семантика

Текстовой-переменной присваиваются все вводймые данные до тех пор, пока не будет превышена допустимая длина текста, определяемая реализацией, или пока не будет ^введен конец-строки.

  1. О б ъ я в л е н и е массивов

    1. Общее описание

Оператор-обьявления-массивов резервирует память под многомер­ные массивы.

Общая синтаксическая форма ч оператора-объявления-массива сле­дующая:

DIM объявление,. 1. , объявление где каждое объявление имеет вид: имя-переменной (целое, ..,, целое) 4.1.14.2. Синтаксис

  1. объявление-массива = имя-числовогр-массива | имя-текстового- массива круглая-скобка-левая-границы круглая-скобка-правая

  2. границы = целое (запятая целое) *

  3. Примеры

1) DIM А1% (10,3,2)

DIM ВД(5,II)

  1. Семантика

Массивы могут быть текстовыми (элементы массива — текстовые- переменные) и числовыми (элементы массива — числовые-переменные). Числовые массивы могут иметь спецификатор типа, т.е. быть целыми, с одинарной точностью и с удвоенной точностью.

Максимально возможное количество измерений (индексов) должно быть не менее четырех (см. п. 4.1.4.).

  1. Искл ючения

Вычисленное значение индекса превышает указанное в операторе- объявления-массивов (неустранимая ошибка).

  1. 3 ад ан и е типов переменных

    1. Общее описание

Оператор-задания-типов-переменных позволяет задать тип перемен­ных в зависимости от первой буквы имени.

Общая синтаксическая форма оператора следующая:

DEF тип 61-62,... ,бк-б1

где тип — это SNG, DBL, STR или INT, а бк—61 — диапазон букв.

  1. Синтаксис

  1. оператор-задания-типов-переменных = DEFnin буква-типа минус буква-типа (запятая буква-типа минус буква-типа) *

  2. тип = INT|SGNIDBLISTR

  3. буква-типа = прописная-буква-латинская

  1. Примеры

  1. DEFINT А-С, М-Р, X- Z

  1. Сем ан ти ка

Оператор-задания-типов-переменных указывает, что все переменные, идентификаторы которых начинаются с одной из букв заданного диапа­зона, являются переменными указанного типа.

При указании диапазона букв буква, стоящая слева Ьт знака минус, в алфавите, должна стоять раньше буквы, стоящей справа от знака ми­нус.

Спецификатор типа имеет более высокий приоритет, чем оператор- задания-типов-переменных.

  1. Оператор -за мены- текста

    1. Общее описание

Оператор-замены-текста используется для замены части текста на другой текст.

Общая синтаксическая форма оператора следующая:

М1Оф(хД^п, т) = уДГ

  1. Синтаксис

  1. оператор-замецы-текста = МПЭДкруглая-скобка-левая текстовая- переменная запятая начальная-позиция (запятая количество)? круглая скобка-правая знак-равенства текстовое-выражение

  2. начальная-позиция = целое

  3. количество = целое

  1. Примеры

1) МГОД(хП2,5) =у#

  1. Семантика

Символы текстовой-переменной, стоящей слева от знака равенства, начиная с н-й позиции, заменяются символами из текстовой-переменной, стоящей справа от знака равенства.

Если задано количество, то заменяется указанное количество симво­лов, иначе используется весь текст. Длина текстовой переменной, стоя­щей слева от знака равенства, не изменяется. Лишние символы тексто­вой-переменной, стоящей справа от знака равенства, опускаются.

4 Л Л6.5. Исключения

Начальная-позиция или количество, или их сумма превышает длину текста, определенную реализацией (неустранимая ошибка).

  1. Оператор-записи-в-оперативную-память

    1. Общее описание

Оператор-записи-в-оперативную-память предназначен для записи целого числа в оперативную память. Общая синтаксическая форма опе- ратора-записи-в-оперативную-память имеет вид:

POKE I, J

  1. Синтаксис

  1. оператор-записи-в-оперативную-дамять = РОКЕ адрес, данное

  2. адрес = целое

  3. данное - целое

  1. Примеры

  1. РОКЕ, А1%, В%

  1. Семантика

Значение данного записывается по указанному адресу.

  1. Исключения

Значение данного превышает максимальное число, допускаемое реа­лизацией (неустранимая ошибка).

Значение адреса находится вне диапазонов адресов, допускаемых реализацией (неустранимая ошибка).

  1. Примечания

Оператор-записи-в-оперативную-память является дополнением функ­ции-peek (см. п. 4.1.6). Он также может затруднять переносимость прог­рамм. '

  1. В с т р о е н н ы е средства ^отладки

    1. Общее описание

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

Переменная-ERR содержит код ошибки.

Переменная-ERL содержит Номер-строки, в которой произошла ошибка.

Оператор-обраббтки-ошибок

ON ERROR СОТОномер-строки

вызывает подпрограмму обработки ошибок.

Оператор-выхода-из-подпрограммы-обработки-ошибок

RESUME аргумент

осуществляет возврат из подпрограммы.

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

  1. Синтаксис

  1. оператор-обработки-ошибок = ON пробел ERROR пробел GO про­бел* ТОномер-строки

  2. оператор-выхода-из-подпрограммы-обработки-ошибок = RESUME нуль номер-строки NEXT

  3. оператор-включения-трассировки = TRON

  4. оператор-выключения-трассировки = TROFF

  5. переменная-ERR = ERR

  6. переменная-ERL = ERL

  1. Примеры

  1. ON ERROR GOTO 100

  2. IF ERL = 120 THEN STOP

  1. Семан тика

Переменная-ERR содержит код ошибки. Список кодов ошибок оп­ределяется реализацией.

Переменная-ERL содержит номер строки, в которой произошла ошибка.

Идентификаторы ERR и ERL являются зарезервированными и не мо­гут использоваться в качестве имен-переменных в левой части оператора- присваивания.

Если в программе используется оператор-обработки-ошибок, то при возникновении любой ошибочной ситуации должна вызываться подпрог­рамма с указанным номером строки.

f Возврат из подпрограммы обработки ошибок может осуществляться только при помощи оператора-возврата-из-подпрограммы-обработки- ошибок. При использовании формата RESUME 0 управление снова пере­дается оператору, выполнение которого привела к ошибке.При использовании формата RESUME NEXT управление переда­ется оператору, выполняемому вслед за ошибочным.

При использовании формата RESUME номер-строки управление пе­редается строке с заданным номером.

После выполнения оператора-включения-трассировки на терм ’ал должны поочередно выводиться номера всех выполняемых строк. Вы­вод строк прекращается после выполнения оператора-выключения трассировки.