[an error occurred while processing this directive]

.шп6;

DEG (DEG) .шп14;

радианы в градусы

.шп2

Описание

.шп0

DEG переводит углы из радианного измерения в градусное. 1 радиан составляет (180/PI) градусов (т.е. около 57.3 градуса).

.шп2

Ссылки

.шп0

Секция 33.1.

.шп2

Синтаксис

.шп0

 ┏════════════════╗    ╔════════════════╗
═╣       DEG      ╠════╣числовой элемент╠═
 ╚════════════════╝    ╚════════════════╝

.шп2

Примеры

.шп0

PRINT DEG 1
   100 ninety := DEG (PI/2)

.шп2

Ассоциируемые ключевые слова

.шп0

RAD

.шп6;

DEL (DEL) .шп14;

Уничтожить программные строки

.ов

.шп2

Описание

.шп0

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

DEL, за которым следует один параметр, уничтожает одну програмную строку. Печать номера строки с последующим нажатием клавиши ВВОД будет иметь такой же результат.

.шп2

Ссылки

.шп0

Секция 5.10.

.шп2

Синтаксис

.шп0

┏═══════╗ ╔═══════╗ ┏═┓ ╔═══════╗  ╔═══╗
|  DEL  ╠═╣ номер ╠╦╣,╠═╣ номер ╠╦═╣eol|
╚═══════╝ ╚═══════╝|┗═┛ ╚═══════╝↑ ╚═══╝
                   ╚═════════════╝

.шп2

Примеры

.шп0

DEL 10,30

DEL 25

.шп2

Ассоциируемые ключевые слова

.шп0

LIST OLD NEW

.шп6;

DELETE (DEL.) .шп14;

Уничтожить файл

.ов

.шп2

Описание

.шп0

Эта команда уничтожает указанный файл в текущей файловой системе. Попытка уничтожить несуществующий файл не производит ошибки.

Необходимо помнить, что попытка использовать ключевые слова для определения имен файлов без кавычек не произведет нормального результата, так как они не воспринимаются, как ключевые слова (напр. DELETE STR¤2 уничтожит файл str¤2).

Также следует помнить, что если для определения имени файла используется название строчной переменной, то оно должно быть в нижнем регистре.

.шп2

Ссылки

.шп0

Секция 14.7

.шп2

Синтаксис

.шп0

┏════════════════╗  ╔═════════════════╗  ┏══┓
|      DELETE    ╠══╣    имя файла    ╠══╣cr|
╚════════════════╝  ╚═════════════════╝  ┗══┛

.шп2

Примеры

.шп0

DELETE myprog
   10 DELETE fname¤

.шп2

Ассоциируемые ключевые слова

.шп0

SAVE LOAD RUN

.шп6;

DIM (DI.) .шп14;

размер .пв;

.ов

.шп2

Описание

.шп0

Перед первым присваиванием необходимо объявлять как числовые, так и строчные массивы. Кроме того, можно объявить максимальную длину строк, если заданная длина в 40 символов не удовлетворяет. DIM производит все эти операции.

Для массивов верхние и нижние границы можно установить для каждого индекса. Нижняя граница принимается равной 0, а верхнюю границу нужно всегда указывать. Если нижняя граница объявляется большей, чем нижняя, то при прогоне возникает ошибка Bad DIM.

Максимальное разрешенное число индексов в массиве - восемь. Максимальная разрешенная длина строк - 253 символа.

.шп2

Ссылки

.шп0

Секции 4.5, 19.2.

.шп2

Синтаксис

.шп0

                       ╔═════════════╗
                    ┏═┓|╔═══════════╗↓ ┏══╗╔═══════════╗
                  ╔═╣¤╠╩╣числ.список╠╩╦╣OF╠╣лог.выраж═е╠╗
┏═══╗ ╔══════════╗| ┗═┛ ╚═══════════╝ |╚══╝╚═══════════╝↓
|DIM╠╦╣индентиф-р╠╣╔═══╗              ╚═════════════════╬╦╗
╚═══╝|╚══════════╝||┏═┓↓╔═══════════╗                   ↑||
     |            ╚╩╣#╠╩╣числ.список╠═══════════════════╝||
     |              ┗═┛ ╚═══════════╝                    |↓
     |                       ┏═┓                         ||
     ╚═══════════════════════╣,╠════════════←════════════╝|
                             ┗═┛                    ╔═════╝
                                                    | ╔═══╗
                                                    ╚═╣eol|
                                                      ╚═══╝

.шп2

Примеры

.шп0

DIM name¤ OF 12
   25 DIM image(-3:4,3:8,-3:-2)
   35 DIM output¤(1:5) OF 20
   45 DIM a¤ OF 5 , b¤ OF 10
   55 DIM c¤(a,b#) OF c
   65 DIM d#(6p)

.шп2

Ассоциируемое ключевое слово

.шп0

OF

.шп6;

DIV (DIV) .шп14;

целочисленное деление .пв;

.ов

.шп2

Описание

.шп0

DIV - это бинарный оператор, который усекает два операнда до целых перед делением первого на второй. Результат тоже усекается до целого числа.

.шп2

Ссылки

.шп0

Секция 18.8

.шп2

Синтаксис

.шп0

 ╔══════════════════╗ ┏═══════╗ ╔══════════════════╗
═╣числовое выражение╠═╣  DIV  ╠═╣числовое выражение╠═
 ╚══════════════════╝ ╚═══════╝ ╚══════════════════╝

.шп2

Примеры

.шп0

PRINT 17 DIV 3
   55 eleven# := 44.1 DIV 4.9

.шп2

Ассоциируемое ключевое слово

.шп0

MOD

.шп6;

DO (DO)

.шп2

Описание

.шп0

DO используется для структур FOR и WHILE, при вводе оно необязательно, за исключением некоторых случаев:

FOR loc = &7C00 TO &8000 DO ?loc = 0

потому что &8000 ? loc=0 является полноценным логическим выражением.

.шп2

Ссылки

.шп0

FOR и WHILE

.шп2

Синтаксис

.шп0

Смотри FOR и WHILE.

.шп2

Примеры .шп0;

(смотри также FOR и WHILE)

WHILE GET <> 32 DO exsampler_screen
   55 FOR i := 1 TO 10 DO PRINT i
   75 WHILN waiting DO NULL

.шп2

Ассоциируемые ключевые слова

.шп0

FOR WHILE

.шп6;

DRAW (DR.)

.шп2

Описание

.шп0

Это средство позволяет чертить на экране линии в любом из графических режимов. Линия чертится в текушем графическом цвете переднего плана из текушей позиции графического курсора до точки, указанной координатами х- и y-, которые следуют за оператором DRAW.

Координаты х- и y- относительны к текущей исходной графической позиции (0,0). Исходная принимаемая по умолчанию позиция находится в нижней левой части графической области, но ее можно изменить с помощью VDU 29. Экран имеет ширину 1280 единиц (по оси х) и высоту 1024 единиц (по оси y) независимо от используемого графического режима.

DRAW x,y фактически идентичен PLOT 5,x,y.

.шп2

Ссылки

.шп0

Секции 11.3 и PLOT

.шп2

Синтаксис

.шп0

            ╔════════════════════╗
┏══════════╗↓  ╔══════════════╗ ┏╩┓    ╔═══╗
|   DRAW   ╠╩X2╣лог. выражение╠╦╣,|  ╔═╣eol|
╚══════════╝   ╚══════════════╝↓┗═┛  | ╚═══╝
                               ╚═════╝

.шп2

Примеры .шп0;

(смотри также PLOT)

DRAW  350,250
  635 DRAW x,y

.шп2

Ассоциируемые ключевые слова

.шп0

MODE PLOT MOVE GCOL VDU

.шп6;

EDIT (Е.) .шп14;

Вывод программы на экран без отступа

.шп2

Описание

.шп0

EDIT выводит на экран указанный ряд программных строк без какого либо выделения структур. Параметры принимаются по умолчанию для начала и конца программы. Если параметры не заданы, то на экран выводится вся программа. В отличии от LIST, EDIT выводит EXEC перед всеми процедурными вызовами, где ни один параметр уже не присутствует.

.шп2

Ссылки

.шп0

Секция 13.5.

.шп2

Синтаксис

.шп0

┏══════════╗ ╔═══════════════╗ ╔═══╗
|   EDIT   ╠═╣числовой список╠═╣eol|
╚══════════╝ ╚═══════════════╝ ╚═══╝

.шп2

Примеры

.шп0

EDIT

EDIT 100,200

EDIT ,150

EDIT 300,

.шп2

Ассоцируемое ключевое слово

.шп0

LIST

.шп6;

ELIF (EL.) .шп14;

Еще если

.шп2

Описание

.шп0

ELIF это оператор, который можно использовать в длинной форме структуры IF. Он объявляет другое условие, которое нужно проверить, если условие после исходного IF или любого предыдущего ELIF не удовлетворяется.

.шп2

Ссылки

.шп0

Глава 28 и IF.

.шп2

Синтаксис

.шп0

┏════════╗╔══════════════╗  ┏════════╗  ╔═══╗
|  ELIF  ╠╣лог. выражение╠═╦╣  THEN  ╠╦═╣eol|
╚════════╝╚══════════════╝ |╚════════╝↑ ╚═══╝
                           ╚═════*════╝

.шп2

Примеры .шп0;

(смотри также IF)

    20 IF boss_free
    30   route_call(boss_phone)
    40 ELIF secretari_free
    60 ELSE
    70   return_engage_tone
    80 end if

.шп2

Ассоциируемые ключевые слова

.шп0

IF THEN ELSE END IF

.шп6;

ELSE (ELS.)

.ов

.шп2

Описание

.шп0

Этот оператор используется в длинной форме структуры IF. Блок программных строк, следующий за ним выполняется, если ни одно из предыдущих условий IF или ELIF в блоке не было удовлетворено.

.шп2

Ссылки

.шп0

Секция 15.6 и IF

.шп2

Синтаксис

.шп0

┏══════════╗   ╔═══╗
|   ELSE   ╠═══╣eol|
╚══════════╝   ╚═══╝

.шп2

Примеры .шп0;

(смотри также IF)

   30 IF hours < 12 THEN
   40   greet("Good Morning!")
   50 ELSE
   60   greet("'Good Afternoon!")
   70 END IF

.шп2

Ассоциируемые ключевые слова

.шп0

IF THEN ELIF END IF

.шп6;

END (EN.)

.шп2

Описание

.шп0

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

В Комале операторы конца структуры (END IF, END PROC и т.д.) хранятся как два отдельных ключевых слова, и поэтому после END необходимо оставлять пробел.

Необходимо помнить, что внутри структуры END не разрешен; там, где требуется остановка выполнения, необходимо использовать STOP.

.шп2

Ссылки

.шп0

Секция 5.13.

.шп2

Синтаксис

.шп0

┏═══════════╗   ╔═══╗
|     END   ╠═══╣eol|
╚═══════════╝   ╚═══╝

.шп2

Пример

.шп0

1000 END

.шп2

Ассоциируемое ключевое слово

.шп0

STOP

.шп6;

END CASE (END CA.)

.шп2

Описание

.шп0

Это указывает конец структуры CASE. Пробел между END и CASE обязателен.

.шп2

Ссылки

.шп0

Глава 25 и CASE.

.шп2

Синтаксис

.шп0

┏═══════════╗  ┏═══════════╗  ╔═══╗
|    END    ╠══╣    CASE   ╠══╣eol|
╚═══════════╝  ╚═══════════╝  ╚═══╝

.шп2

Примеры .шп0;

(смотри также CASE)

   825 CASE number OF
   830 WHEN <0
   835   PRINT "Negative"
   840 WHEN 0
   850   PRINT "Zero"
   860 OTHERWISE
   870   PRINT "Positive"
   880 END CASE

.шп2

Ассоциируемые ключевые слова

.шп0

CASE WHEN OTHERWISE

.шп6;

END FUNC (END FU.)

.шп2

Описание

.шп0

Это указывает конец объявления функции. Пробел между END и FUNC обязателен.

Название функции при вводе необязательно и, если оно опущено, то будет введено автоматически.

.шп2

Ссылки

.шп0

Глава 30 и FUNC.

.шп2

Синтаксис

.шп0

                                            ┏═┓
                                           ╔╣#╠╗
┏══════════╗ ┏══════════╗   ╔═════════════╗|┗═┛↓ ╔═══╗
|    END   ╠═╣   FUNC   ╠═╦═╣идентификатор╠╬═══╬╦╣eol|
╚══════════╝ ╚══════════╝ | ╚═════════════╝|┏═┓↑↑╚═══╝
                          |                ╚╣¤╠╝|
                          |                 ┗═┛ |
                          ╚════════*════════════╝

.шп2

Примеры .шп0;

(смотри также FUNC)

  355 FUNC fib(n)
  360   IF n < 3 THEN
  365     RETURN 1
  370   ELSE
  375     RETURN fib(n-1)+fib(n-2)
  380   END IF
  385 END FUNC fib

.шп2

Ассоциируемые ключевые слова

.шп0

FUNC SLOSED REF IMPORT RETURN

.шп6;

END IF (END I.)

.шп2

Описание

.шп0

Это указывает конец длинной формы структуры IF. Пробел между END и IF обязателен.

.шп2

Ссылки

.шп0

Секция 15.5

.шп2

Синтаксис

.шп0

┏═══════════╗   ┏═══════════╗   ╔═══╗
|    END    ╠═══╣     IF    ╠═══╣eol|
╚═══════════╝   ╚═══════════╝   ╚═══╝

.шп2

Примеры .шп0;

(смотри также IF)

  635 IF temp > max_temp THEN
  640    PRINT "*OVERHEATING*"
  650    turn_off_heater
  660 END IF

.шп2

Ассоциируемые ключевые слова

.шп0

IF THEN ELSE ELIF

.шп6;

END PROC (END PRO.)

.шп2

Описание

.шп0

Это указывает конец объявления процедуры. Пробел между END и PROC обязателен.

Название процедуры необязательно при вводе, и если оно опущено, то будет введено автоматически.

.шп2

Ссылки

.шп0

Секция 13.1 и PROC.

.шп2

Синтаксис

.шп0

┏═══════════╗ ┏═══════════╗  ╔═══════════╗  ╔═══╗
|    END    ╠═╣    PROC   ╠═╦╣ идентиф-р ╠╦═╣eol|
╚═══════════╝ ╚═══════════╝ |╚═══════════╝↑ ╚═══╝
                            ╚══════*══════╝

.шп2

Примеры .шп0;

(также смотри PROC)

   425 PROC laim(message¤)
   430   enable_voice_synthesiser
   440   say(message¤)
   450   disable_voice_synthesier
   460 END PROC laim

.шп2

Ассоциируемые ключевые слова

.шп0

PROC CLOSED REF IMPORT

.шп6;

END WHILE (END W.)

.шп2

Описание

.шп0

Это указывает конец длинной формы структуры WHILE. Пробел между END и WHILE обязателен.

.шп2

Ссылки

.шп0

Глава 24 и WHILE.

.шп2

Синтаксис

.шп0

┏═══════════╗   ┏═══════════╗   ╔═══╗
|    END    ╠═══╣   WHILE   ╠═══╣eol|
╚═══════════╝   ╚═══════════╝   ╚═══╝

.шп2

Примеры .шп0;

(смотри также WHILE)

   30 WHILE results < excellent DO
   40   suggest_more_work
   50   reset_test
   60 END WHILE

.шп2

Ассоциируемые ключевые слова

.шп0

WHILE DO

.шп6;

ENVELOPE (ENV.)

.шп2

Описание

.шп0

ЕNVELOPE используется с SOUND, чтобы обеспечить больший контроль над производимым звуком. Как команда, она очень мощная, и лучше ознакомиться с ней в руководстве "Программирование на Бейсике в среде ОС ОНИКС". За ENVELOPE следует 14 параметров:

ENVELOPE N,T,PI1,PI2,PI3,PN1,PN2,PN3,AA,AD,AS,AR,ALA,ALD

Параметр   Пределы  Функция
N          1 до 4   Номер
Т биты 0-6 0 до 127 Длина каждого шага в сотых секунды
  бит 7    0 или 1  0=автоматический повтор высоты
                    1=нет автоматического повтора
RI1     -128 до 127 Изменение высоты на шаг в секции 1
PI2     -128 до 127 Изменение высоты на шаг в секции 2
PI3     -128 до 127 Изменение высоты на шег в секции 3
PN1        0 до 255 Число шагов в секции 1
PN2        0 до 255 Число шагов в секции 2
PN3        0 до 255 число шагов в секции 3
АА      -127 до 127 Изменение амплитуды на шаг во время
                    Фазы атаки
AD      -127 до 127 Изменение амплитуды на шаг во время
                    фазы затухания
AS      -127 до 0   Изменение амплитуды на шаг во время
                    длительной фазы
AR      -127 до 0   Изменение амплитуды на шаг во время
                    фазы выпуска
ALA        0 до 126 Цель уровня в конце фазы атаки
ALD        0 до 126 Цель уровня в конце фазы затухания

Следует заметить, что если RS232 буфер не используется, то разрешаются номера в пределах от 1 до 16.

.шп2

Синтаксис

.шп0

               ╔══════════════════════╗
┏════════════╗ ↓    ╔══════════════╗ ┏╩┓   ╔═══╗
|  ENVELOPE  ╠═╩═Х14╣лог. выражение╠╦╣,| ╔═╣eol|
╚════════════╝      ╚══════════════╝↓┗═┛ | ╚═══╝
                                    ╚════╝

.шп2

Примеры

.шп0

ENVELOPE 2,,10,5,0,-10,5,5,15,50,0,-10,-15,125,125
   100 ENVELOPE 4,133,0,0,0,35,0,0,125,-5,0,-10,100,60

.шп2

Ассоциируемые слова

.шп0

SOUND ADVAL

.шп6;

EOD (EOD) .шп14;

конец данных

.шп2

Описание

.шп0

EOD - это системная функция, которая указывает, был ли достигнут последний элемент данных. Пока в программе все еще имеются данные, которые можно считывать, она возвращает FALSE (0). После считывания последних имеющихся данных она возвращает TRUE (-1).

.шп2

Ссылки

.шп0

Секция 17.3

.шп2

Синтаксис

.шп0

 ┏═══════════╗
═╣    EOD    ╠═
 ╚═══════════╝

.шп2

Примеры

.шп0

   10 a:=0
   20 WHILE NOT EOD
   30   READ array(a)
   50 END WHILE

.шп2

Ассоциируемые ключевые слова

.шп0

DATA READ

.шп6;

EOF (EO.) .шп14;

Конец файла

.шп2

Описание

.шп0

EOF - это функция, которая показывает, был ли достигнут конец файла. За ней следует одиночный аргумент, указывающий номер файла, который необходимо проверить. EOF возвращает TRUE (-1), если данные из файла больше не считываются, в противном случае возвращается FALSE (0). Если никакой файл с указанным номером не открывается, то производится ошибка Not open.

.шп2

Ссылки

.шп0

Секция 32.9.

.шп2

Синтаксис

.шп0

 ┏═══════════╗   ╔════════════════╗
═╣    EOF    ╠═══╣числовой элемент╠═
 ╚═══════════╝   ╚════════════════╝

.шп2

Примеры

.шп0

   80 OPEN FILE 1,"Test",READ
   90 i:=0
  100 REPEAT
  110   READ FILE 1:=a(i)
  120   i:=+1
  130 UNTIL EOF 1
  140 CLOSE FILE 1

.шп2

Ассоциируемые ключевые слова

.шп0

OPEN FILE READ RANDOM READ ONLY CLOSE

.шп6;

EOR (EOR) .шп14;

Исключающее ИЛИ

.шп2

Описание

.шп0

EOR - это логический оператор, который выполняет над двумя операндами операцию "Исключающее ИЛИ" в двоичном исполнении, т.е. рассматривает поочередно каждый бит двоичного представления данных операндов и, для каждого из них, устанавливает соответствующий результирующий бит на 1, если установлен один или другой, и на 0, если каждый из них имеет одинаковую величину (дающую 32-битное число).

.шп2

Ссылки

.шп0

Секция 21.3.

.шп2

Синтаксис

.шп0

 ╔══════════════╗ ┏═══════════╗ ╔══════════════╗
═╣лог. выражение╠═╣    EOR    ╠═╣лог. выражение╠═
 ╚══════════════╝ ╚═══════════╝ ╚══════════════╝

.шп2

Примеры

.шп0

  310 IF a <> FALSE EOR b <> FALSE THEN
  320   PRINT "Either a or b, but not both"
  330 ELSE
  340   PRINT "Either both a and b, or neither"
  350 END IF

.шп2

Ассоциируемые ключевые слова

.шп0

AND OR NOT

.шп6;

EXEC (EX.) .шп14;

Выполнить процедуру

.шп2

Описание

.шп0

EXEC используется для вызова процедуры. При вводе он необязателен и, если он опущен, то вставляется "невидимый" EXEC. Оператор EDIT показывает невидимые EXEC, а LIST нет.

Процедуры могут быть вызваны из прямого режима, но только если были использованы LIST, EDIT, DEBUG или RUN.

.шп2

Ссылки

.шп0

Секция 13.6.

.шп2

Синтаксис

.шп0

  ┏══════════╗  ╔═════════╗  ╔═════════════════╗  ╔═══╗
═╦╣   EXEC   ╠╦═╣идентиф-р╠═╦╣список параметров╠╦═╣eol|
 |╚══════════╝↑ ╚═════════╝ |╚═════════════════╝↑ ╚═══╝
 ╚══════*═════╝             ╚═══════════════════╝

.шп2

Пример

.шп0

EXEC myproc

.шп2

Ассоциируемое ключевое слово

.шп0

PROC

.шп6;

EXP (EXP) .шп14;

Экспонента

.шп2

Описание

.шп0

EXP - это математическая функция, которая возвращает е (2.718281828) в степени аргумента.

.шп2

Ссылки

.шп0

Секция 33.1.

.шп2

Синтаксис

.шп0

 ┏═══════════╗   ╔════════════════╗
═╣    EXP    ╠═══╣числовой элемент╠═
 ╚═══════════╝   ╚════════════════╝

.шп2

Примеры

.шп0

PRINT EXP (3.5)
   175 y := EXP (x)

.шп2

Ассоциируемые ключевые слова

.шп0

LN LOG

.шп6;

EXT (еьт) .шп14;

Длина

.шп2

Описание

.шп0

EXT - это функция, которая возвращает длину файла в байтах номер которого, указан в аргументе. Если открытого файла с указанным номером нет, то производится ошибка Not open.

.шп2

Ссылки

.шп0

Секция 32.17.

.шп2

Синтаксис

.шп0

 ┏═══════════╗    ╔════════════════╗
═╣    EXT    ╠════╣числовой элемент╠═
 ╚═══════════╝    ╚════════════════╝

.шп2

Примеры

.шп0

PRINT EXT 2
   35 size_of_file := EXT 1

.шп2

Ассоциируемые ключевые слова

.шп0

OPEN FILE CLOSE

.шп6;

FALSE (FA.)

.шп2

Описание

.шп0

FALSE - это системная функция, которая возвращает величину 0

.шп2

Ссылка

.шп0

Секция 16.3.

.шп2

Синтаксис

.шп0

 ┏═══════════════╗
═╣     FALSE     ╠═
 ╚═══════════════╝

.шп2

Пример

.шп0

  65 UNTIL FALSE // infinite loop

Ассоциируемое ключевое слово

TRUE

.шп6;

FILE (FI.)

.шп2

Описание

.шп0

FILE используется как определяющее ключевое слово, чтобы указывать, что следующее за ним выражение является номером файла, к которому относится определенное ключевое слово. Когда файл открыт, он присваивается числу, введенному выражением, следующим за оператором FILE. Все операции в этом файле, пока он не закрыт, относятся к нему этим числом. Для дополнителной информации смотрите описание комманд по работе с файлом (OPEN, CLOSE, WRITE, READ).

.шп2

Справки

.шп0

Глава 32.

.шп2

Синтаксис

.шп0

Смотрите OPEN и CLOSE.

.шп2

Примеры

.шп0

Смотрите описание обсуждаемого ключевого слова.

.шп2

Ассоциируемые ключевые слова

.шп0

OPEN CLOSE WRITE READ PRINT INPUT

.шп6;

FOR (F.)

.шп2

Описание

.шп0

FOR используется для инициализации структуры безусловного цикла.Существует две формы: короткая форма (одна строка), и длинная форма (многострочня). В обоих случаях за FOR следует переменная цикла, которая имеет нижнюю и верхнюю границы, разделенные оператором ТО. Кроме того, для указания инкремента пременной цикла там может быть оператор STEP. Величина по умолчанию - 1.

В короткой форме за FOR следует простой оператор, который необходимо повторить.

Если в цикле необходимо выполнить более одной команды, то каждую необходимо вводить на строках, следующих за оператором FOR; конец цикла указывается оператором NEXT.

В обоих случаях, если при вводе опущен оператор DO, то он вставляется автоматически.

Следует отметить, что если величины, принимаемые переменной цикла, всегда будут целыми числами, то использование целой переменной сделает выполнение более быстрым.

Еще следует отметить, что если начальная и конечная величины переменной цикла и инкремент несовместимы (напр. FOR i := 1 TO 10 STEP -1), то цикл не производится вообще, а выполнение продолжается со строки, следующей за концом структуры FOR.

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

.шп2

Справки

.шп0

Глава 6.

.шп2

Синтаксис

.шп0

                ╔═══╗╔═*═╗
┏═══╗╔═════════╗|┏═┓↓|┏═┓↓┏═┓╔═══════════╗┏══╗╔═══════════╗
|FOR╠╣идентиф-р╠╩╣#╠╩╩╣:╠╩╣=╠╣лог.выраж═е╠╣ТО╠╣лог.выраж═е╠╗
╚═══╝╚═════════╝ ┗═┛  ┗═┛ ┗═┛╚═══════════╝╚══╝╚═══════════╝|
      ╔═════════════════════╦══════════════════════════════╝
      ↓ ┏════╗ ╔═══════════╗↓ ┏══╗  ╔════════════════╗ ╔═══╗
      ╚═╣STEP╠═╣лог.выраж═е╠╩╦╣DO╠╦╦╣простой оператор╠╦╣eol|
        ╚════╝ ╚═══════════╝ |╚══╝↑|╚════════════════╝↑╚═══╝
                             ╚══*═╝╚══════════════════╝

.шп2

Примеры

.шп0

Короткая форма:

FOR i# := 1 TO 10 DO PRINT i#
   10 FOR i# := 5 TO 11 STEP 2 READ a(i#)

Длинная форма:

   10 FOR j := 2 TO 10 DO
   20   PRINT j
   30   myproc(j2)
   40 NEXT j

.шп2

Ассоциируемые ключевые слова

.шп0

TO STEP DO NEXT

.шп6;

FREE (FR.) .шп14;

Свободная память

.шп2

Описание

.шп0

FREE - это системная функция, которая возвращает число байтов имеющейся свободной памяти.

.шп2

Ссылки

.шп0

Секция 34.1 и карта памяти в секции 34.3.

.шп2

Синтаксис

.шп0

 ┏══════════════╗
═╣     FREE     ╠═
 ╚══════════════╝

.шп2

Примеры

.шп0

PRINT FREE
   100 FUNC legal_change(new_mode)
   110   RESTORE mode_size_list
   120   FOR m := 0 TO new_mode DO READ new_mode_size
   130   RESTORE mode_size_list
   140   FOR m := 0 TO MODE DO READ old_mode_size
   150   IF (new_mode_size - old_mode_size) >= FREE THEN
   160     RETURN FALSE
   170   ELSE
   180     RETURNE TRUE
   190   END IF
   200 END FUNC legal_change
   210 mode_size_list:
   220 DATA 20480,20480,20480,16384,10240,10240,8192,1024

.шп2

Ассоциируемые ключевые слова

.шп0

SIZE PAGE

.шп6;

FUNC (FU.) .шп14;

Функция

.шп2

Описание

.шп0

FUNC - это первое слово, используемое на строке объявления функции. За ним следует название, которое определяет функцию, список формальных параметров (если есть) и, возможно, CLOSED для обозначения закрытой (местной) функции. Тело функции находится между этой строкой и следующим оператором END FUNC, и должно содержать оператор RETURN, который указывает возвращаемую функцией величину.

FUNC может появляться только в начале программной строки, а не внутри каких-либо других структур.

.шп2

Ссылки

.шп0

Глава 30

.шп2

Синтаксис

.шп0

                     ┏═┓
                    ╔╣#╠╗
┏══════╗ ╔═════════╗|┗═┛↓╔═════════════════════╗ ╔═══╗
| FUNC ╠═╣идентиф-р╠╬═══╬╣продолжение заголовка╠═╣eol|
╚══════╝ ╚═════════╝|┏═┓↑╚═════════════════════╝ ╚═══╝
                    ╚╣¤╠╝
                     ┗═┛

.шп2

Примеры (смотри также главу 30)

  235 FUNC factorial(number#)
  240   IF number# > 1 THEN
  245     RETURN number# * factorial(number#=1)
  250   ELIF number# >= 0
  255     RETURN 1
  260   ELSE
  265     RETURN 0
  270   END IF
  275 END FUNC faktorial

.шп2

Ассоциируемые ключевые слова

.шп0

CLOSED REF IMPORT END FUNC RETURN PROC

.шп6;

GCOL (G.) .шп14;

Графический цвет

.шп2

Описание

.шп0

GCOL устанавливает логические цвета, которые используются для фона и переднего плана графической области во всех следующих операциях.

За командой GCOL следуют два аргумента. Первый определяет метод вывода цвета на экран следующим образом:

0 построить указанный цвет

1 OR указанный цвет с цветом, который уже присутствует

2 AND указанный цвет с цветом, который уже присутствует

3 EOR указанный цвет с цветом, который уже присутствует

4 переворачивает цвет, который уже присутствует

Второй аргумент определяет логический цвет, котоый будет использоваться. Числа меньше 128 определяют цвет переднего плана, а больше 128 - цвет фона. Следует заметить, что хотя второй аргумент в GCOL 4,х и не оказывает влияния на результат, число вводить необходимо.

.шп2

Ссылки

.шп0

Секция 11.5 и COLOUR.

.шп2

Синтаксис

.шп0

          ╔═════════════════════╗
┏════════╗↓   ╔══════════════╗ ┏╩┓    ╔═══╗
|  GCOL  ╠╩═X2╣лог. выражение╠╦╣,|  ╔═╣eol|
╚════════╝    ╚══════════════╝↓┗═┛  |
                              ╚═════╝

.шп2

Примеры (смотри также главу 11)

GCOL 1,131

   95 GCOL 0,4

.шп2

Ассоциируемые ключевые слова

.шп0

COLOUR CLG MODE PLOT DRAW MOVE VDU

.шп6;

GET (GET)

.шп2

Описание

.шп0

GET используется, чтобы выполнение было приостановлено, пока не будет нажата клавиша. Она возвращает код ASCII нажатой клавиши, но напечатанный символ на экране не появляется. Подробное описание кодов ASCII смотрите в секции 40.1.

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

Если входной поток меняется (команда *FX 2 или *EXEC), то GET можно использовать для получения симвлов из других источников, а не с клавиатуры.

.шп2

Ссылки

.шп0

Секция 9.5

.шп2

Синтаксис

.шп0

 ┏═════════╗
═╣   GET   ╠═
 ╚═════════╝

.шп2

Примеры

.шп0

PRINT CHR¤ GET
   35 WHILE GET <> 32 DO NULL

.шп2

Ассоциируемые ключевые слова

.шп0

GET¤ INKEY INKEY¤ INPUT

.шп6;

GET¤ (GE.)

.шп2

Описание

.шп0

GET¤ производит в выполнении паузу, которая продолжается до нажатия клавиши. Он возвращает строку, содержащую нажатую клавишу, но символ на экран не выводится.

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

Если входной поток меняется (команда *FX2 или *EXEC), то GET¤ можно использовать для получения символов из других источников, а не с клавиатуры.

.шп2

Ссылки

.шп0

Секция 9.6.

.шп2

Синтаксис

.шп0

 ┏════════════╗
═╣    GET¤    ╠═
 ╚════════════╝

.шп2

Примеры

.шп0

q1¤ := GET¤

  25 q2¤ := GET¤
  30 PRINT q2¤

.шп2

Ассоциируемые ключевые слова

.шп0

GET INKEY INKEY¤ INPUT

.шп6;

GOTO (GO.)

.шп2

Описание

.шп0

GOTO вызывает безусловный переход выполнения программы на названную метку (не на номер строки). Подробное определение меток смотрите в описании RESTORE. Следует заметить, что частое использование GOTO разрушает структуру программы и поэтому не рекомендуется.

.шп2

Синтаксис

.шп0

┏══════════╗   ╔═════════╗   ╔═══╗
|   GOTO   ╠═══╣идентиф-р╠═══╣eol|
╚══════════╝   ╚═════════╝   ╚═══╝

.шп2

Примеры

  10 i := 0
  20 again: // label
  30 i:=+1
  40 PRINT "This is appalling style"
  50 GOTO again

.шп2

Ассоциируемые ключевые слова

.шп0

Нет.

.шп6;

IF (I.)

.шп2

Описание

.шп0

Структура IF используется для того, чтобы сделать выполнение некоторых строк программы зависимым от того, является ли какое-либо выражение истинным или нет. Ее можно использовать в двух формах: короткой форме и длинной.

Короткая форма - это структура на одной строке, разрешающая выполнять только простой оператор (или многократное присваивание), если условие истинное.

Длинная форма разрешает блоку строк, следующему за оператором IF, зависеть от него, а также разрешает использование команд ELIF и ELSE. Последние вводят для выполнения другие блоки операторов, если исходное условие в операторе IF не было удовлетворено. Динная форма IF заканчивается оператором END IF.

Следует заметить, что THEN необязателен при вводе, за исключением таких случаев, как:

IF x = 10 THEN ? y=x

где 10 ? y = х действительное выражение.

.шп2

Ссылки

.шп0

Секции 15.3, 15.5

.шп2

Синтаксис

.шп0

                                  ╔══════════════════╗
┏══════╗╔══════════════╗ ┏══════╗ |╔════════════════╗↓╔═══╗
|  IF  ╠╣лог. выражение╠╦╣ THEN ╠╦╩╣простой оператор╠╩╣eol|
╚══════╝╚══════════════╝|╚══════╝↑ ╚════════════════╝ ╚═══╝
                        ╚═══*════╝

.шп2

Примеры .шп0;

(смотри также главу 15)

IF x < 0 THEN PRINT "Negative"
    30 IF x - 1 THEN
    40   MOVE x,y
    50 ELSE
    60   DRAW x,y
    70 END IF

.шп2

Ассоциируемые ключевые слова

.шп0

END IF ELSE THEN

.шп6;

IMPORT (IM.)

.шп2

Описание

.шп0

IMPORT используется для объявления того, к каким глобальным переменным имеется доступ из закрытой процедуры или функции. Это эквивалентно передаче этих переменных отношением к процедуре или функции, в этих присваиваниях им внутри структуры изменит их беличины глобально.

Следует заметить, что IMPORT может использоваться в любом месте структуры при условии, что в структуре уже не существует переменная с таким же названием, как и у вносимой.

.шп2

Ссылки

.шп0

Секция 31.6.

.шп2

Синтаксис

.шп0

                        ┏═┓ ╔═════════════╗
                       ╔╣#╠╗|   ╔═════╗   |
┏════════╗  ╔═════════╗|┗═┛↓|┏═┓| ┏═┓ ↓┏═┓↓ ╔═══╗
| IMPORT ╠═╦╣идентиф-р╠╬═══╬╩╣(╠╩╦╣,╠╦╩╣)╠╩╦╣eol|
╚════════╝ ↑╚═════════╝|┏═┓↑ ┗═┛ ↑┗═┛| ┗═┛ |╚═══╝
           |           ╚╣¤╠╝     ╚═══╝     |
           |            ┗═┛  ┏═┓           |
           ╚═════════════════╣,╠═══════════╝
                             ┗═┛

.шп2

Примеры .шп0;

(смотри также PROC и главу 31)

  35 IMPORT a,b#,name¤,array(,,)

.шп2

Ассоциируемые ключевые слова

.шп0

PROC FUNC CLOSED REF

.шп6;

IN (IN)

.шп2

Описание

.шп0

IN - это бинарный оператор, который возвращает позицию первой строки во второй.

Если соответсвия не найдено, то IN возвращает 0. Если первый аргумент является нулевой строкой, то он возвращает 1.

.шп2

Ссылки

.шп0

Секция 4.3

.шп2

Синтаксис

.шп0

 ╔══════════════════╗ ┏════════╗ ╔══════════════════╗
═╣строчное выражение╠═╣   IN   ╠═╣строчное выражение╠═
 ╚══════════════════╝ ╚════════╝ ╚══════════════════╝

.шп2

Примеры

.шп0

PRINT "345" IN "12345"

   145 DIM a¤ OF 10
   150 REPEAT
   155   PRINT "Answer Yes or No >>"
   160   a¤ := GET¤
   165 UNTIL a¤ IN "YNyn"

.шп2

Ассоциируемые ключевые слова

.шп0

Нет.

.ст комал17

[an error occurred while processing this directive]