[an error occurred while processing this directive]
─HM0
─TM0
─PL70
─LM6
|||/OPENIN/||| открывает файл для ввода информации в компьютер

/Назначение/

 Для  того, чтобы сказать компьютеру,  что  программа  собирается
читать данные  (слова  и  числа).  Чтение  данных  - это довольно
сложная  процедура  для  компьютера и Вы должны заранее поставить
его в известность о  своих  намерениях. Ключевое слово |||OPENIN||| как
раз и служит для того, чтобы  заранее  предупредить  компьютер  о
предстоящем чтении данных.
 Иллюстрацией  применения способности компьютера читать  с  диска
может служить  следующий пример. Вы можете создать на диске файл,
содержащий имена и адреса Ваших знакомых, и каждый раз, когда Вам
понадобиться эта информация  Вы можете прочитать ее с диска. Если
Вы захотите внести изменения  в  Ваш  файл,  то  необходимо будет
записать  исправленную  информацию  обратно  на  диск  (это можно
сделать с помощью |||OPENUP|||).
 Типичный пример использования |||OPENIN||| 

X=OPENIN("cinemas")

 Эта строка информирует компьютер о  том,  что  Вы  будете читать
информацию из файла, записанного на диск под именем "|||cinemas|||".
 После получения такой информации компьютер  выделяет  'канал' по
которому  Вы будете получать информацию из файла  "|||cinemas|||".  Эта
процедура напоминает  заказ  разговора  по  телефону.  Вы просите
соединить Вас с каким-либо городом, на что телефонистка отвечает,
например,  "пройдите  в  кабину  номер  6". В  нашем  случае  это
равносильно  тому, что X получила значение  6  (или  какое-нибудь
другое).  Во   всех   последующих   операциях,  касающихся  файла
"cinemas", Вы  должны  ссылаться на него используя номер канала X
(или 6, в нашем примере).
 После того, как Вам выделили  номер канала, Вы можете приступить
к вводу данных с диска. Для этого, обычно, используются операторы
|||BGET#||| или |||INPUT#|||.

/Пример/
230 file=OPENIN("census")

|||/Описание/|||

 Функция, которая пытается открыть файл для ввода. 
 Функция  возвращает номер канала, выделенный  компьютером.  Если
файл не существует, то возвращается ноль.

|||/Синтаксис/|||

<num-var>=OPENIN(<string>)

/Демонстрационная программа/
 10 REM " Чтение 10 названий кинотеатров"
 20 REM " с диска. (конечно при условии,"
 30 REM " что Вы предварительно записали"
 40 REM " их туда!)"
 50 REM " Создаем символьный массив из 10 элементов"
 60 DIM cine¤(10)
 90 REM " открываем файл"
100 channel=OPENIN ("CINEMA")
110 REM " и считываем названия десяти кинотеатров"
120 FOR X=1 TO 10
130 INPUT#channel, cine¤(X)
140 NEXT X
150 REM " Информация получена."
160 REM " Можете использовать ее по вашему желанию!"

-----------------------------------------------------------------

|||/OPENOUT/||| открывает файл для вывода в него информации

/Назначение/

 Эта  функция открывает файл на  диске  для  вывода.  Прежде, чем
записывать данные (не программу) на диск,Вы должны открыть файл.
 |||ОPENOUT||| информирует компьютер о том,  что  Вы  хотите произвести
запись  данных  на  диск.  Компьютер  выделяет для Ваших операций
'канал'. 
 Если  файл  с  указанным именем  уже  существует,  то  он  будет
уничтожен. Если такого файла  не  существовало,  то  будет создан
новый файл.

/Пример/
330 X=OPENOUT("cinemas")

|||/Описание/|||

 Функция,   которая   возвращает   номер   канала    для   файла,
используемого для вывода в него данных.
 Если файл с таким же именем уже существовал, то он сначала будет
удален. Если такого файла не было, то он будет создан заново.
─PE
|||/Синтаксис/|||

<num-var>=OPENOUT(<string>)

-----------------------------------------------------------------

|||/OPENUP/||| открывает файл для внесения изменений или дополнений

/Назначение/

 Этот оператор может быть использован для открытия файла на диске
с целью обновления хранящейся там  информации,  т.е. для чтения и
записи одновременно.
 Если файл уже существовал, то  он  будет  открыт, но при этом, в
отличие  от |||OPENOUT|||, содержимое файла останется не тронутым. Если
файла не существует, то |||OPENUP||| не сможет его открыть.

/Пример/
500 e%=OPENUP("DATA")

|||/Описание/|||

 Функция, которая возвращает номер канала  для  файла,  открытого
как для чтения, так и для записи. Вы сможете воспользоваться этой
функцией   только  при  условии,  что  файл  с  указанным  именем
существует.

|||/Синтаксис/|||

<num-var>=OPENUP(<string>)

-----------------------------------------------------------------

|||/OSCLI/||| передает команду для исполнения операционной системой

/Назначение/

 Из  программы на |||BASIC||| бывает  очень  полезно  посылать  команды
операционной системе.  Такие  команды могут включать команду |||*FX|||,
за которой следуют два числа. Пока Вы пишете программу, Вы можете
еще не знать, какие,  конкретно,  числа  надо будет указать после
|||*FX|||.  В  этом  случае  удобно  было  бы   вместо   чисел  указать
переменные,  например,  X и Y. Но использовать  имена  переменных
непосредственно  в команде  |||*FX|||  нельзя,  так  как  о  переменных
'знает' только  |||BASIC|||,  а  для  интерпретатора  командной  строки
операционной  системы  они  не  имеют  ни  еакого  смысла.  Таким
образом, оператор

X=5: Y=3: *FX X,Y

 с точки зрения операционной системы,  совершенно  бессмысленный.
Оператор  |||OSCLI||| предоставляет удобный способ предачи параметров в
командах  операционной  системы  через  переменные  |||BASIC|||.  После
оператора |||OSCLI||| необходимо указать символьную переменную, которая
содержит  строку,   предназначенную   для  передачи  операционной
системе.  Отметим,   что   числа   должны  быть  преобразованы  в
символьную форму,  например,  с  помощью функции||| STR¤|||. Предыдущий
пример будет работать правильно, если  переписать  все  следующим
образом:

10 X=5
20 Y=3
30 A¤="FX "+STR¤X+","+STR¤Y
40 OSCLI A¤

/Примеры/
 10 FN¤="XYZ"       : REM " имя файла "
 20 START%= &4000  : REM " начало кода "
 30 FINISH%= &6000 : REM " конец кода"
300 OSCLI "SAVE "+FN¤+" "+STR¤~(START%)+" "+STR¤~(FINISH%)

 Отметим, что звездочку '*', в этом случае, можно не указывать.

|||/Описание/|||

 Оператор,   который   передает  указанную  после   него   строку
интерпретатору командной строки операционной системы.

|||/Синтаксис/|||

OSCLI<string>

-----------------------------------------------------------------

|||/PAGE/|||

/Назначение/

 |||PAGE||| это переменная, в которой  |||BASIC|||  хранит адрес того места в
памяти,  начиная  с которого он разместил (или  будет  размещать)
программу пользователя. Эта  переменная  автоматически  принимает
значение,  равное  адресу  первой  свободной  ячейки  памяти,  но
пользователь имеет возможность изменить ее значение.
 |||PAGE||| можно использовать для того,  чтобы одновременно разместить
в  памяти  компьютера  две разные программы  в  различных  местах
памяти. При изменении значения |||PAGE||| надо быть очень внимательным.

/Примеры/
PRINT PAGE
10 PAGE=&5000
20 PRINT ~PAGE
235 PAGE=TOP+1000

|||/Описание/|||

 Псевдо     переменная,     содержащая     адрес,    используемый
интерпретатором   |||BASIC|||   как   указатель   на  начало  программы
пользователя. Младший байт переменной |||PAGE||| всегда устанавливается
равным   нулю.  Другими  словами  программа  пользователя  всегда
начинается  с  адреса,  кратного длине 'страницы', или 256 байтам
(100 в шестнадцатиричной системе).

|||/Синтаксис/|||

PAGE=<numeric>
или
<num-var>=PAGE

-----------------------------------------------------------------

|||/PI/|||

/Назначение/

 |||PI||| имеет значение 3.14159265 (число 'ПИ'). В приведенном примере
оно используется для вычисления площади круга.

/Примеры/
100 AREA=PI*R^2
PRINT PI

|||/Описание/|||

PI=3.14159265

|||/Синтаксис/|||

<num-var>=PI

-----------------------------------------------------------------

|||/POINT/|||

/Назначение/

 Определение цвета точки на экране.

/Примеры/

 1340 colour=POINT(X,Y)

  100 IF POINT(X,Y)=2 THEN PRINT "SKID!"

|||/Описание/|||

 Функция  возвращает  цвет  точки,  координаты  которой  являются
аргументами  функции.  Если  точка находится за пределами экрана,
функция возвращает значение -1.

|||/Синтаксис/|||

 <num-var>=POINT(<numeric>,<numeric>)

-----------------------------------------------------------------

|||/POS/||| позиция

/Назначение/

 Эта функция определяет в какой  позиции  экрана (по-горизонтали)
находится  мигающий курсор. Самая левая позиция на  экране  имеет
номер 0,  а  самая  правая, в зависимости от выбранного экранного
режима, может быть или 79 или 39.

/Примеры/
1005 X=POS
320 distance=POS

|||/Описание/|||

 Функция,   возвращающая   позицию  (горизонтальную),  занимаемую
курсором в текущем текстовом окне.

|||/Синтаксис/|||

<num-var>=POS

/Демонстрационная программа/
 Печатает пробелы на экран, вплоть  до  указаной  позиции.  Может
быть использовано, например, для выравнивания колонок.

100 column=12
110 REPEAT PRINT" ";
120 UNTIL POS=column

-----------------------------------------------------------------

|||/PRINT#/|||

/Назначение/

 Записывает числа и слова на  диск.  Другими  словами, записывает
данные в файл. Числа и строки символов записываются в специальном
внутреннем  формате.  Прежде чем пользоваться этим оператором, Вы
должны открыть файл с помощью оператора |||OPENOUT||| или |||OPENUP|||.

/Пример/
PRINT# FILE, X,Y,Z,A¤,"Понедельник",33

|||/Описание/|||

 Оператор, который записывает данные в  файл. Запись производится
в специальном внутреннем формате:

/Целые переменные/ : сначала  записывается  &40 за ним следуют четыре байта,
представляющие значение переменной в двоично дополнительном  коде,  причем
первым записывается самый старший байт.

/Вещественные  переменные/  :  сначала  записывается &FF за ним четыре байта
мантиссы и один байт экспоненты.  Мантисса  записывается  начиная с самого
младшего байта. 31 бит отводится для magnitude мантиссы и  один  бит  для
знака. Експонента записывается в двоично дополнительной форме excess 128.

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

|||/Синтаксис/|||

PRINT#<num-var>{,<numeric>?<string>}

-----------------------------------------------------------------

|||/PROC/||| процедура

/Назначение/
 
 Используется  как префикс к имени  для  указания,  что  это  имя
процедуры. Смотри  описание  ключевого  слова  |||DEF|||  для получения
дополнительной информации.

/Пример/
10 DEF PROChello(X)
20 LOCAL Z
30 FOR Z=0 TO X
40 PRINT "Привет! Не плохо для Бейсика, не правда ли!?"
50 NEXT Z
60 ENDPROC

|||/Описание/|||

 Зарезервированное    слово    для   начала   всех   определенных
пользователем  процедур.  Между |||PROC||| и именем процедуры не должно
быть пробелов.

|||/Синтаксис/|||

DEF PROC<variable-name>[(<string-var>|<num-var>{,<string-var>|<num-var>}]
PROC<variable-name>[(<string-var>|<num-var>{,<string-var>|<num-var>}]

/Демонстрационная программа/

10 REM " Задача о ханойских башнях "
20 INPUT " Число дисков ",F
30 PROChanoi(F,1,2,3)
40 END
50 DEF PROChanoi(A,B,C,D) IF A=0 ENDPROC
60 PROChanoi(A-1,B,D,C)
70 PRINT "Переносим диск ";A;" со спицы ";B;" на спицу ";C
80 PROChanoi (A-1,D,C,B)
90 ENDPROC

-----------------------------------------------------------------

|||/РТR#/||| указатель

/Назначение/

 Позволяет   выбрать   какой   следующий  элемент   файла   будет
считываться или записываться. Числа и строки символов храняться в
файле в виде последовательности байт одно за другим. Каждое целое
число занимает пять байт, вещественное  -  шесть  байт,  а каждая
строка  -  число  байт,  равное  количеству  символов  плюс  два.
Подробное описание формата можно найти в описании ключевого слова
|||PRINT#|||.  Файловый  указатель  можно передвинуть вверх или вниз по
файлу так, чтобы он  указывал на любое, выбранное Вами, число или
слово. Но для этого надо  сначала  расчитать,            те файла
это число или слово начинается. Число, которое указывается следом
за |||PTR#||| - это номер канала, выделенный файлу  при  его  открытии.
Файл должен быть открыт с помощью |||OPENIN||| или |||OPENOUT|||.

/Примеры/
PRINT PTR#X
560 PTR#file=PTR#file+80
85 PTR#channel=0

|||/Описание/|||

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

|||/Синтаксис/|||

<num-var>=PTR#<num-var>
или
PTR#<num-var>=<numeric>

-----------------------------------------------------------------

|||/RAD/||| радиан

/Назначение/

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

/Примеры/
1030 X=RAD(Y)
PRINT RAD(45)

|||/Описание/|||

 Функция,  переводящая  аргумент,  заданнущий  величину   угла  в
градусах, в радианное измерение.

|||/Синтаксис/|||

<num-var>=RAD(numeric>

-----------------------------------------------------------------

|||/REPEAT/|||

/Назначение/

 Для того, чтобы заставить компьютер  выполнять группу операторов
некоторое количество раз пока не выполнется определенное условие.
 Если Вы выйдете из цикла |||REPEAT...UNTIL||| с помощью оператора |||GOTO|||
(что  является  'плохим  стилем'),  то   Вы   должны  обязательно
вернуться назад.
 Один |||REPEAT||| может иметь несколько |||UNTIL|||.

/Пример/
10 REM " Печать звездочек в течении 1 секунды "
20 Now=TIME
30 REPEAT PRINT "*";
40 UNTIL TIME>Now+100

|||/Описание/|||

 Оператор,  являющийся  началом цикла |||REPEAT...UNTIL|||.  Эти  циклы
всегда выполняется по  крайней мере один раз и могут быть вложены
один в другой, но не более 20 раз.

|||/Синтаксис/|||

REPEAT

-----------------------------------------------------------------

|||/REPORT/|||

/Назначение/

 Заставляет  компьютер  выдать  текстовое сообщение  о  последней
ошибке.

/Пример/
100 REPORT

|||/Описание/|||

 |||REPORT||| печатает сообщение об ошибке,  соответствующее  последней
зафиксированной ошибке.

|||/Синтаксис/|||

REPORT

-----------------------------------------------------------------
─PE
|||/RND/||| случайное число

/Назначение/

 Генерирует случайное число.
 Конкретное   действие   этой  функции  определяется  аргументом,
указанным после слова |||RND|||.
 |||RND||| без параметров генерирует случайное  целое число в интервале
от -2147483648 до 2147483647.
 |||RND(-X)|||  возвращает  величину  -X  и   устанавливает   генератор
случайных чисел на число, зависящее от X.
 |||RND(0)||| повторяет последнее случайное число, выданное RND(1).
 |||RND(1)||| генерирует случайное число в интервале от 0 до 0.999999.
 |||RND(X)|||  генерирует  случайное  число  в  интервале  от  1  до  X
(возможно включая 1 и X).
 Скобки  после  слова |||RND||| обязательны  и  должны  непосредственно
следовать за |||RND||| без каких-либо пробелов.

/Примеры/
PRINT RND(6)
340 largenumber%=RND
950 PRINT RND(1)

|||/Описание/|||

 Функция,  генерирующая  случайное число. Интервал,  из  которого
выбирается число, определяется аргументом (если он присутствует).

|||/Синтаксис/|||

<num-var>=RND[(<numeric>)]

-----------------------------------------------------------------

|||/RUN/|||

/Назначение/

 Приказывает   компьютеру   приступить  к  выполнению  операторов
программы, находящейся в его памяти.
 Все переменные (за исключением резидентных целых переменных  % и
от A% до Z%) сначала уничтожаются и только после этого начинается
выполнение программы.
 |||RUN|||  это оператор и ,следовательно,  программа  может  выполнить
сама себя.
 Если  Вы  хотите  начать  выполнение   программы,  не  уничтожая
переменные, то можно использовать оператор 

GOTO 100

 или |||GOTO||| на ту строку,  с  которой  Вы  хотите начать выполнение
программы, вместо оператора |||RUN|||.

/Пример/
RUN
9000 RUN

|||/Описание/|||

 |||RUN||| это оператор, заставляющий компьютер приступить к выполнению
текущей программы.

|||/Синтаксис/|||

RUN

-----------------------------------------------------------------

|||/SAVE/|||

/Назначение/

 Для  того,  чтобы  сохранить  программу,  находящуюся  в  памяти
компьютера, на диск.

/Примеры/
SAVE "Fred"
SAVE A¤
SA."Games"

|||/Синтаксис/|||

SAVE <string>

-----------------------------------------------------------------

|||/TRACE/|||

/Назначение/

 Команда  TRACE  заставляет  компьютер   печатать   номер  каждой
выполняемой строки. Имеется три формы использования команды:

 TRACE ON   включение режима трассировки
 TRACE OFF  выключение режима трассировки
 TRACE 6780 компьютер будет печатать номера строк после 6780.

|||/Синтаксис/|||

 TRACE ON|OFF|<numeric>

-----------------------------------------------------------------

|||/TRUE/|||

/Назначение/

TRUE представляет значение -1 в компьютере.

/Примеры/

PRINT TRUE
 
  300 UNTIL result = TRUE

|||/Описание/|||

 Функция, возвращающая значение -1.

|||/Синтаксис/|||

<num-var> =TRUE

-----------------------------------------------------------------

|||/VPOS/||| вертикальная позиция курсора

/Назначение/

VPOS используется для определения вертикальной позиции текстового
курсора.

/Примеры/

  670 V=VPOS

  100 PRINT VPOS

|||/Синтаксис/|||

<num-var>=VPOS

-----------------------------------------------------------------

|||/WIDTH/|||

/Назначение/

Используется  для  определения  ширины  экранной   страницы.   По
умолчанию  WIDTH  имеет  значение  0,   что   означает  "страница
неограниченной ширины".

WIDTH  n заставляет интерпретатор ставить  перевод  строки  после
вывода n символов оператором PRINT.

/Примеры/

   670 WIDTH 60

 WIDTH 35

|||/Синтаксис/|||

WIDTH <numeric>

-----------------------------------------------------------------

─PE
|||/Минимальные сокращения/|||

 Ниже   приводится   таблица  ключевых  слов  Бейсика  BCC  и  их
допустимых сокращений:
│...........*......*...*..........*......*...*..........*..........<


ABS	ABS	|	GCOL	GC.	|	PRINT	P.
ACS	ACS	|	GET	GET	|	PROC	PRO.
ADVAL	AD.	|	GET¤	GE.	|	PTR	PT.
AND	A.	|	GOSUB	GOS.	|	RAD	RAD
ASC	ASC	|	GOTO	G.	|	READ	REA.
ASN	ASN	|	HIMEM	H.	|	REM	REM
ATN	ATN	|	IF	IF	|	RENUMBER	REN.
AUTO	AU.	|	INKEY	INKEY	|	REPEAT	REP.
BGET	B.	|	INKEY¤	INK.	|	REPORT	REPO.
BPUT	BP.	|	INPUT	I.	|	RESTORE	RES.
CALL	CA.	|	INSTR(	INS.	|	RETURN	R.
CHAIN	CH.	|	INT	INT	|	RIGHT¤(	RI.
CHR¤	CHR.	|	LEFT¤(	LE.	|	RND	RND
CLEAR	CL.	|	LEN	LEN	|	SAVE	SA.
CLG	CLG	|	LET	LET	|	SGN	SGN
CLOSE	CLO.	|	LINE	LIN.	|	SIN	SIN
CLS	CLS	|	LIST	L.	|	SPC	SPC
COLOUR	C.	|	LN	LN	|	SQR	SQR
COS	COS	|	LOAD	LO.	|	STEP	S.
COUNT	COU.	|	LOCAL	LOC.	|	STOP	STO.
DATA	D.	|	LOG	LOG	|	STR¤	STR.
DEF	DEF	|	LOMEM	LOM.	|	STRING¤(	STRI.
DEG	DEG	|	MID¤(	M.	|	TAB(	TAB(
DELETE	DEL.	|	MOD	MOD	|	TAN	T.
DIM	DIM	|	MODE	MO.	|	THEN	TH.
DIV	DIV	|	MOVE	MOV.	|	TO	TO
DRAW	DR.	|	NEW	NEW	|	TRACE	TR.
ELSE	EL.	|	NEXT	N.	|	TRUE	TRUE
END	END	|	NOT	NOT	|	UNTIL	U.
ENDPROC	E.	|	OFF	OFF	|	USR	USR
EOR	EOR	|	OLD	O.	|	VAL	VAL
EOF	EOF	|	ON	ON	|	VDU	V.
ERL	ERL	|	OPENIN	OP.	|	VPOS	VP.
ERR	ERR	|	OPENOUT	OPENO.	|	WIDTH	W.
ERROR	ERR.	|	OPT	OPT
EVAL	EV.	|	OR	OR
EXP	EXP	|	PAGE	PA.
EXT	EXT	|	PI	PI
FALSE	FA.	|	PLOT	PL.
FN	FN	|	POINT(	PO.
FOR	F.	|	POS	POS


[an error occurred while processing this directive]