Оглавление




НазваниеОглавление
страница8/40
Дата публикации23.02.2013
Размер5.97 Mb.
ТипСправочник
shkolnie.ru > Информатика > Справочник
1   ...   4   5   6   7   8   9   10   11   ...   40

32

Таблица 2.9 (продолжение)

Оператор

Описание

Примеры

LOC

Определить текущий номер записи в фай-

LOC (#Х)




ле прямого доступа X или количество







прочитанных или записанных секторов







в последовательном файле X




LOF

Вычислить число записей в файле прямо-

LOF(X)




го доступа или число секторов с данными







в последовательном файле X




LOG

Вычислить натуральный логарифм от X

LOG(X)

MIDD

Указать J литер, начиная с 1-й,

MIDD (АП, I, J)




в строке АП




МК1П

Преобразовать 2-байтную строку в целое

МК1П (AD)




значение




MKSCS

Преобразовать 4-байтную строку в зна-

MKsa (Ad)




чение с плавающей точкой с обычной







точностью




MKDCS

Преобразовать 8-байтную строку AQ

MKDQ (Ad)




в значение с плавающей точкой с двой-







ной точностью




оста

Преобразовать систему восьмеричных

ОСТП (X)




цифр в эквивалент десятичного аргу-







мента




РЕЕК

Указать отдельный байт памяти по

PEEK(X)




адресу X




POS

Указать позицию курсора после послед-

POS (DUMMY ARGUMENT)




него PRINT




RIGHT

Вывести I % правых литер в строке

RIGHT (ХП, I %)

RND

Выдать случайное число обычной точно-

RND




сти со значением между 0 и I




SGN

Указать знак X

SGN(X)

SIN

Вычислить синус

SIN(X)

SPACED

Вывести 1% пробелов

SPACED (X)

SPC

Указать строку Х% пробелов

SPC(X%)

SQR

Вычислить корень квадратный из X

SQR(X)

STRD

Преобразовать строку десятичных цифр

stru (X)




в десятичный аргумент X




STRINGU

Вывести первую литеру строки AQ ,

STRINQO (Y%, AD)




повторенную Y% раз




TAB

Начать вывод с позиции X дисплея или

TAB(X)




принтера




TAN

Вычислить тангенс X

TAN(X)

USR

Обратиться к подпрограмме пользова-

AX = USR 12(A1, A2)




теля от 0 до 24




VAL

Преобразовать числовое значение ХП

VAL (XU)




аргумента




VARPTR

Указать адрес памяти X

VARPTR(X)

Таблица 2.10

Функции

языка бейсик-80




Функция




Описание

Примеры

ABS




Выдать абсолютное значение X

ABS(X)

ASC




Выдать код КОИ8 для первой литеры указанной строки

ASC(AD)

ATN




Вычислить арктангенс (в радианах) X

ATN(X)

CDBL




Вывести значение X с удвоенной точностью с плавающей

CDBL(X)







запятой




chrd




Вывести литеру, соответствующую коду КОИ8

CHRD (X)

CINT




Округлить X до целого числа

CINT-(X)

COS




Вычислить косинус (в радианах) X

COS(X)

2 В. П. Дьяконов

33

Т а

Ф у н к i и CSNG CVD

CVI CVS

DSKF EOF-

F-RI.

KRR




EXP




FIX




FRU




HHXU




INP




INSTRL

j

INT




U-l-TD




При

MrjJh

ло 1,

-114)

Кок <

/,.;// \

ТОЧНО11

1,10 i

буквой

D.

Диапа зо

, Описание Нывссш значение X с обычной точностью с плавающей

ЮЧКОЙ

Преобразовать 8-символьную i-гроку в число с двойной

ТОЧНОС1 ЬК)

i !реобразовагь 2 спмиольнч ю строку в целое числи Преобразовать (символьную строку в число с обычной ючноетью

Указать число свободных 128-байтных блоков на ука­занном диске

Выдать указание (да - I, нет 0) о том, достигну! ли конец файла при чтении последовательного файла дан­ных

Указать номер строки, в которой произошла послед­няя ошибка

Указать код последней ошибки Вычислить значение tjV Вычислить усеченное целое значение X Определить число байт, оставшихся в памяти, при за-.ьиши фиктивного аргумента \ плп XI} Представить целочисленный аргумент Х% (от —32768 до 32767) в 16-ричном виде

Вывести значение байта из устройства ввода вывода указанного выражением в скобках Указать позицию, заданную XL1, в строке YQ Вычислить наибольшее целое значение, меньшее или равное значению (X) BuBeci;i\ литер с i роки АС начиная е ее левого конца

блица 2. И) (продолжение) Примеры

CSNG(X) CVD(X#)

cvi(X%) <:vs(X!)

DSKF(I I

L-RI.

HRR EXP(X) FlX(Xj FRE(X)

lll-XU (\ %) INP(X)

INSTRLi (XU. Vu ) lYI(X)

J l--f-"I I \O, \,

isiiDta констант: - 1,414! (чнг Гу2Ш- 12 (чио;ю 5,26 it» l?).

; V iLltiBtlOiiuH! ТОЧКОЙ С iliiOilHOU !|KVU. 1ЯЮТСЯ С)фф|1КСОМ -# ИЛИ

значений чисел при лом расши­ряется от 4 2.2Е--308 до +I.7E-J-308.

Примеры ввода констант с двойной точностью: --1.23456789121) 15 (число

—1,2345678912-105): -12,3# (число -12,3).

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

До присвоения переменным численного значения оно задается равным нулю. Дирек­тивы NEW, RUN, CLEAR, LOAD и MERGE обнуляют все переменные.

С помощью операторов DEEINT, DL^FSNG или DEEDBI. можно определить ряд имен для обозначения арифметических переменных ука­занных типов. Группы переменных, которые начинаются с определенных букв, могут быть заданы с помощью этих операторов в

34

ч.лед) юшем виде: DEEX.X.X М |N|,

где N любая буква or А до /., V\ иобаи буква от N до Z. При этом все они задаются как переменные одного типа.

По умолчанию все переменные имеют представление с обычной точностью. Если какие-то переменные должны быть иного типа, их следует определить в начале про­граммы. Определи гели имеют вид знаков: % для целочисленных переменных, ! для пере­менных с обычной точностью и -# для пере­менных с двойной точностью.

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

"NEWTON METHOD" или "Р1=3.14Г59".

Внутри этих переменных нельзя использовать кавычки. Число знаков (длина строки) может доходить до 255.

^ Строчные переменные переменные, при­нимающие но ходу выполнения программы символьные значения. Имя строчной пере­менной задается одним или двумя знаками: первый обязательно буква, второй любой. После них следует chmbo.ivj, определяю­щий символьную переменную.

Например, переменная А 1 О NEWTON .METHOD имеет имя. А1П и значение символа NEWTON METHOD.

^ Преобразование данных из одного типа в другой в бейсике 80 обеспечивается с по-

мощью ряда специальных функций (см. табл. 2.10).

Массивы (одномерные и двумерные) в бейсике-80 задаются, как и в других версиях языка бейсик, именем переменной и номе­рами строк и столбцов в скобках: напри­мер, А2(3,4) задает переменную массива А2 с индексами 3 и 4. Задание памяти под массив обеспечивается оператором DIM. В строчных переменных массивов необходимо резервировать и число знаков в строке. Например, оператор DIM А )с(( 10,20,25) ре­зервирует память под строчную переменную из массива АН.

Приоритет выполнения операций в бейси­ке-80.

Функция CSNCj(X) вычисляет выраже­ние X с обычной точностью (до 7 десятичных позиций).

При м е р.

10-А# — 1.DO/3.DO

20 PRINT CSNG(A#)/2, A#/2

RUN

.1666667 .166666666666667

Функции CV1, CVS, CVD преобразуют строки в числа: CVI - 2-еимвольную строку в целое число, CVS 4-символьиую строку в число с обычной точностью и CVD— 8-символьную строку в число с двойной точностью. Они используются для восстанов­ления числовых значений из поля буфера

Операция

1. Выражение и скобках

2. Возведение в степень

3. Отрицание (обозначается знаком —)

4. Умножение (*) и деление (/)

5. Целочисленное деление (знак \J с преобразованием делимого, делителя и результата в целые числа

6. Модуль числа

7. Сложение и вычитание

8. Операции отношения

I! р и м ер

(А-Ь В)

А,-. В



А*В или А/В А\В

A MOD Af В или А.—В

А> В и др.

Самый низкий приоритет у логических операций. Они выполняются в порядке их наименования: НЕ, И, ИЛИ, исключающее ИЛИ, логическая импликация и логическая эквивалентность.

^ Арифметические и логические выраже­ния в бейсике-80 строятся по правилам, ти­пичным для других версий (они описаны выше).

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

Арифметическая функция CDBL(X) изме­няет тип выражения X на представление с двойной точностью с плавающей точкой. В этом формате результат выдается с точ­ностью до 16 десятичных цифр.

Пример.

10 А# = 1/3

20 B#=CDBL(l/3)

30 PRINT A#, B#

40 END

.333333 .333333333333333

Строчная функция CHRCi (Выражение) приводит выражение к целому числу в интер­вале от 0 до 255. Арифметическая функция CINT(X) округляет выражение (X) до целого значения.

Пример.

10 INPUT А, В, С 20 PRINT (CINT(A + B + C)/3) 30 END RUN

? 45, 24, 77 49

файла прямого доступа и являются обрат­ными функциями. MK.1G, MK..SQ и MKDG

Функция 1NP (Выражение) вводит значение байта со входного порта, номер которого ука­зан целочисленным выражением (от 0 До 255).

Функция INPUIQ (Выражение; Номер файла) читает заданное количество символов из указанного номером файла.

Пример. В программе

10 OPEN "1" #2, ":С1" 20 PRINT INPUTH (10,2) 30 CLOSE #2 40 END RUN

123456789 (ВК) 123456789

строка 20 печатает первые 10 символов файла #2, а оператор CLOSE закрывает файл.

Функция INSTR ищет первое вложение второй строки ВП в первой строке АП и определяет порядковый номер второй строки. Она формирует 0 при трех условиях: если [больше длины АП, если ВП не может быть найдена и если АП не содержит символа. Вид записи функции:

INSTR ([1,] Строчное выражение АП, Строчное выражение ВП).

Пример.

10 AG="RAM)ON NUMBER

SUBROUTINE" 20 BG="R"

30 PRINT INSTR (АП, ВП) 40 PRINT INSTR (2, АП, ВП) 50 END

RUN 1 13

35

Функция INT(X) отыскивает наибольшее целое значение, меньшее или равное ука­занному выражению или числу X. Например, если B = INT(15,021), то распечатка В дает значение 15.

Строчная функция LEFTD (Строчная переменная. Выражение) находит значение строки ХП и определяет I левых символов.

Пример.

10 XG="WHITE, SMITH, JONES,

BLACK, GREEN" 20 YD = I.F.FTa (ХП, 11) 30 PRINT YD

RUN

WHITE, SMITH

Строчная функция LEN(Xd) подсчи­тывает количество символов строки XQ, включая непечатаемые символы и пробелы.

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

LOC (Номер файла) Пример.

10 OPEN "R", #3,:F1:RANDON

20 GET =#=3, 44

30 PRINT LOC(3)

40 END RUN 44

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

Функция MIDCS (XQ, I [, J]) проверяет строку ХН и выделяет ее правые символы, начиная с позиции, заданной значением I. Здесь I и J — целые числа от 0 до 255. Если указан аргумент J, определяется J символов, начиная с позиции I. Если I больше, чем LEN(Xd), то МШП формирует пустую строку. Если J больше числа символов в ХП справа от 1-й позиции или J не ука­зано, функция МШП формирует остаток строки.

Пример.

10Xn="JOHN J. JONES" 20 PRINT MIDD (ХП, 10, 3) 30 END

RUN

ONE

Функция МК1П, MKSH и MKDH пре­образовывают данные как числовые значения в 2-, 4- или 8-байтные строки соответственно. MKI П используется для преобразования целого значения, MK.SQ — для преобразо­вания значения с плавающей запятой с обыч­ной точностью и MKDH — для преобразо­вания значения с плавающей запятой с двой­ной точностью.

Функция ОСТ П (Выражение) определяет строку восьмеричных цифр, представляющую значение целого аргумента (выражения).

Функция РЕЕК (Выражение) читает один байт памяти в указанном месте, а функция РОКЕ (см. далее) записывает один байт в указанное место памяти. Например:

PRINT PEEK (0FABH) 200

где 200 — прочитанный байт из места 0FABH памяти.

Функция POS (Целое число или Выра­жение) указывает позицию курсора после последнего оператора PRINT: В записи POS(I) аргумент I является фиктивным, самая левая позиция курсора соответствует 1 = 1.

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

RANDOMIZE (Выражение)

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

Функция RIGHTD (Строка, Целое I) определяет I правых символов строки ХП. Если 1 = 0, выдается пустая строка, а если I превышает длину строки ХП, то выдается вся строка.

Пример.

10 AH="JOHN J. JONES" 20 ХП= RIGHTS (АП, 8) 30. PRINT ХП 40 RUN J. JONES

Функция SPACEH (Целочисленное вы­ражение) формирует в строке пустой интер­вал, состоящий из пробелов, число которых задается значением целочисленного выра­жения. Функция SPS (Целое число) совместно с оператором PRINT также формирует пустой интервал из N пробелов (N — целое число).

Функция STRINGn (Целое, Целое) определяет строку, в которой заданный символ повторяется указанное число раз. В записи STRINGD (Целое, Строчное вы­ражение) заданное число раз повторяется первый символ строчного выражения. Функ­ция STRH (Выражение) формирует строку десятичных знаков, которая представляет значение целочисленного выражения.

Пример.

10 FOR 1=0 ТО 9

20 АП =АП +MIDH (STRH (I), 2)

30 NEXT I

40 PRINT АП

RUN

0123456789

36

Функция USRN задает обращения к опре­деленным пользователем подпрограммам, записанным на языке ассемблера, фортран-80 или ПЛ/М-80. Оператор DEF USRN опре­деляет начальный адрес соответствующей подпрограммы USRN. Аргумент N может быть любым целым от 0 до 24; если он не указан, полагается N = 0. Символ типа обозна­чает тип результата. Если обозначение типа отсутствует, результат определяется как целое число в регистрах Н и L микропро­цессора.

Функция VAL (Строка) определяет числен­ное значение строки.

Пример.

10 INPUT AD

20 A1 = VAL (АП)*52

30 PRINT Al RUN

? 4 (т. е. АР =4) 208 (т. е. имеем 4*52)

^ Специальные директивы и операторы.

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

Директива ATTR1B изменяет атрибуты файлов на дисках или защищает любой файл от записи, стирания или изменения имени. Защита файла выполняется директи­вой в виде

ATTRIB:F Номер дисковода, "Имя фай­ла", "W1"

Запись, стирание и изменение ранее защи­щенного файла обеспечивается директивой

ATTRIB:F Номер дисковода, "Имя фай­ла", "W0"

Директива AUTO обеспечивает автомати­ческое присвоение номера каждой строке программы. Она вводится в виде

AUTO Приращение номера [.Номер первой строки]

Так, директива AUTO 50, 300 задает номе­ра строк с приращением 50, начиная со стро­ки 300, т. е. строки будут иметь номера 300, 350, 400, 450 и т. д. По умолчанию, т. е. при вводе только директивы AUTO, приращению и номеру первой строки присваи­ваются значения 10. Если задаваемый дирек­тивой AUTO номер строки имеется в про­грамме, он отмечается знаком *.

Директива CLEAR обнуляет все пере­менные и массивы, определения функций и закрывает файлы. Символьные перемен­ные при этом становятся пустыми строками. Эта директива может записываться в виде

CLEAR [Выражение [Адрес]]

Численное значение выражения указывает пространство для строк в байтах. Например, директива CLEAR 2000, 0D000H резерви­рует (высвобождает) 2000 байт для строк и не позволяет использовать адреса памяти выше 0D000H.

Директива CLOSE [Номер] закрывает файл с заданным номером. Если аргумент (номер) не указан, директива CLOSE за-

крывает все файлы. Все файлы закрывают также директивы END, NEW, MERGE, LOAD, RUN (без F).

Директива DEF FN(X) задает функцию пользователя. Здесь FN — имя функции, X — аргумент (функция может быть с любым числом аргументов).

Директива DELETE НС, где НС — номер строки, уничтожает одну строку с заданным номером, директива DELETE —НС уничто­жает строку с номером НС и все предшест­вующие ей строки. Директива DELETE HC1, НС2 уничтожает строки с номерами от НС1 до НС2.

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

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

BREAK IN НС

(т. е. останов в строке НС). Оператор END рекомендуется ставить в конце программы, хотя это не обязательно.

Оператор ERROR "Выражение" имитирует происхождение ошибки. Если ERROR выпол­няется с номером, который не соответствует сообщению об ошибке, будет напечатано сообщение

UNPRINTABLE ERROR

Оператор FIELD # «Номер файла» ис­пользуется для назначения памяти в одном из шести 128-байтных буферов файлов прямого доступа.

Для чтения определенной записи из дис­кового файла в 128-байтный буфер служит оператор

GET[#] Номер файла [, Номер записи]

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

IF Выражение THEN Инструкция ELSE Инструкция

Например, оператор

50 IF X = 0 THEN A = 5 ELSE A = 20

означает, что если Х = 0, то А = 5, иначе А = 20.

Оператор

KILL Строчное выражение

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

Оператор INPUT помимо обычного приме­нения (задания численных значений пере­менной или переменным списка) используется в составном операторе LINE INPUT. Послед­ний читает целую строку данных и присваи­вает ее указанной строчной переменной в качестве значения. Данные могут быть прочитаны из файла на диске или введены

37

с пульта. В последнем случае оператор LINE INPUT задается в форме

LINE INPUT [Строчное выражение;) Строчная переменная;

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

LINE INPUT Ф Номер файла, Строчная переменная

Директива MERGE читает программу с диска и соединяет ее с текущей программой без изменения строк каждой из программ. Если программы имеют строки с одинаковыми номерами, то введенные с диска строки за­мещают строки текущей программы. Дирек­тива MERGE стирает все переменные. Она записывается в виде

MERGE Строчное выражение

Директива NEW стирает всю текущую программу и обнуляет все переменные.

Оператор ON ERROR GOTO НС пере­дает управление на строку с номером НС, если возникает ошибка. Оператор

ON Выражение GOTO HC1, НС2, ...

передает управление строкам НС1, НС2 и т. д. по результатам вычисления выражения (либо значения переменной). Оператор

ON Выражение GOSUB HC1, НС2, ...

обеспечивает обращение к подпрограммам, начинающимся со строк НС1, НС2 и т. д., по результатам вычисления выражения. Таким образом, операторы ON GOTO и ON GOSUB осуществляют косвенную адре­сацию.

Оператор

OPEN Тип, \Ф\ Номер файла, Имя файла

делает файл операционной системы доступ­ным для программы. Тип файла указывается знаками: R - для файла с прямым доступом, 1 — для последовательного вводного файла и 0 — для последовательного выводного файла. Номер файла — целое число от О до 6, перед которым ставится знак ф. Одно­временно можно открыть только 6 файлов.

Директива OPTION BASE N (где N = 0 или 1) задает индексирование массивов с еди­ницы (N=1) или с 0 (N = 0).

Оператор

OUT Номер порта, Выражение записывает" значение выражения в виде це­лого числа от 0 до 255 в указанный номер порта.

Оператор

РОКЕ Ячейка, Выражение помещает значение выражения (округленное до целого числа) в указанную ячейку памяти. До использования этого оператора нужно использовать директиву CLEAR, чтобы за­резервировать свободную память.

Оператор PRINT выводит на печать зна­чения выражений или текст. Литерные строки

38

текста заключаются в кавычки. Оператор PRINT USING Номер файла,) Строка формата; Выражение, ...

обеспечивает вывод при специальных форма­тах. Строка формата определяет пробелы и дополнительные символы (*П ) при печата­нии числовых полей или определяет части дан­ной строки при печатании строчных полей. Необязательный номер файла определяет последовательный дисковый файл.

Для оператора PRINT USING со строч­ными полями существуют два формата: «!» определяет, что печатается первый символ каждой указанной строки; N пробелов опреде­ляют, что печатаются первые 2 + N символов (если используется обратная косая черта без пробелов, то печатаются 2 символа). Если поле содержит больше символов, чем принимаемая подстрока, лишние символы отбрасываются; если символов меньше — вставляются пробелы, чтобы заполнить поле.

Пример.

10 ХП =«ONE»

20 YQ=«TVVO»

30 PRINT USING «!»: ХП- VQ

40 PRINT USING 5: ХП: YQ

RUN

ОТ

ONE TWO

Число цифр, выводимых на печать опе­ратором PRINT USING, указывается сим­волами ф, между которыми может стоять знак «,» или «.». Число знаков Ф до знака «,» или «.» задает вывод целой части, а после этих знаков — дробной части.

При необходимости числа округляются, например:

PRINT USING «##,##»; 41.287

41.29

PRINT USING «##.##»; 71/100

0.71

Если число, которое выводится на печать, мало, чтобы заполнить все указанны* цифры слева от десятичной точки, вставляются про­белы, заполняющие все поле. До 5 цифр можно напечатать для целого числа, до 7 — для числа с плавающей точкой с обычной точностью и до 15 — для числа с плавающей точкой с двойной точностью.

Знак + может использоваться в начале или в конце ноля символов формата. Он печатается в соответствующем месте. Знак — используется справа поля символов формата, чтобы вызвать печать замыкающего знака «минус», если число отрицательное (если число положительное, печатается про­бел). Если ни +, ни — не включены в формат, отрицательное число печатается со знаком —.

Пример ы.

PRINT USING «+#.##»

4.89; —2.6689

+ 4.89; -2.67

PRINT USING «##.#»; -5.8; 96.2;

-5.8

96.2

. С помощью символов ** предшествующие пробелы заполняются звездочками:

PRINT USING «**##.#»; 4.8; 243,3; ***4.8 *243.3

Символы П П добавляют один знак D слева от формируемого числа:

PRINT USING «П ПфФф.ФФ»; —48.28; 364.90; — D 48.28 U 364.90

Знаки П И определяют пространство для двух дополнительных символом, но добавлен­ный символ Q использует одну позицию.

Символы f f f | задают формат числа в экспоненциальной форме. Стрелки поме­щаются после цифровых символов формата. Символ % выдается перед числом, если оно не входит в формат:

PRINT USING «фф.фф»; 40.48;

99 997

40^48 %99997

Директива PRUN Адрес

обеспечивает выполнение программы, хра­нящейся в ППЗУ. Адрес программы — целое число.

Оператор

PUT Номер файла, [Номер записи]

передает данные из определенного файла в указанную запись диска.

Оператор REM используется для ввода в программу программных комментариев, которые выводятся на печать только при выводе листинга программы. Комментарии записываются непосредственно после опера­тора REM, например:

10 REM ЧИСЛЕННОЕ

ИНТЕГРИРОВАНИЕ МЕТОДОМ СИМПСОНА

Директива

RENAME "Старое "Новое имя файла"

имя файла" ТО

изменяет имя указанного файла на новое с изменением ссылки в оглавлении. Директива

RENUM [Новый номер] [, Старый номер] [, Приращение]

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

20 INPUT A

40 PRINT «NEW»; A

15 RANDOMIZE 5 PRINT CHRD (12) 52 A1=A*RND 58 A2 = INT(A)

RENUM

LIST

10 PRINT CHRQ (12) 20 RANDOMIZE 30 INPUT A 40 PRINT «NEW»; A 50 A1=A*RND 60 A2 = INT(A1)

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

RESUME [Номер строки] NEXT

обеспечивает выполнение оператора, следую­щего за оператором с ошибкой.

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

Ввод символа fC, в том числе вместо данных по оператору INPUT, останавливает выполнение программы и вызывает печать сообщения. BREAK IN НС (где НС — номер строки, на которой прервано выполнение программы).

Директива

SAVE Строчное выражение [А]

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

SWAP Переменная Г," Переменная 2

обеспечивает обмен значениями двух перемен­ных: переменной 1 и переменной 2.

Директивы TRON и TROF соответственно включают и выключают трассировку програм­мы, т. е. обеспечивает пооператорное выпол­нение программы.

Директива

WAIT Номер порта, Байт маски, Байт сравнения

предписывает принять поступившие с указан­ного порта байты. Эти байты проверяются по байту маски, который является целым выражением (от 0 до 255). Если байт срав­нения не указан, он задается равным 0. Директива WAIT выполняет операцию исклю­чающее ИЛИ над состоянием порта и байтом сравнения, а результат и байт маски подтверж­даются операцией И. Выполнение продол-/касчся до тех пор, пока не будет получена ненулевая величина.

39

Директива

WIDTH Выражение

задает ширину печатаемых на консоли строк к заданной выражением величине (от 15 до 255). Если выражение не указано, ширина строк задается с 72 знаками.

Особенности ввода и редактирования про­грамм на бейсике-80. Бейсик-80 имеет ряд дополнительных возможностей для ввода и редактирования программ. Так, используя директиву AUTO, можно автоматически ну­меровать строки, начиная с заданного номера с заданным приращением. После ввода дирек­тивы AUTO бейсик-80 формирует номер стро­ки и ждет ввода операторов. Если ввод их закончен символом возврата каретки ВК, интерпретатор бейсик-80 формирует номер следующей строки и т. д. Ширина поля печати равна 72 символам, но может изме­няться директивой WIDHT:

Бейсик-80 обеспечивает редактирование программ: стирание и замену текстов, отдель­ных строк и предложений, коррекцию сим­волов и предложений, коррекцию символов в операторах, объединение строк и др. Он имеет также возможности для работы с дис­ковым накопителем. Бейсик-80 включает в себя два типа операций ввода-вывода файлов на диске: последовательный и с прямым доступом. Последовательный позволяет читать и писать файл от начала до конца; а с пря­мым доступом — указывать, где в файле вы­полняется чтение и запись. Операторы работы с файлами были описаны выше. Более по­дробные сведения о редактировании программ и работе с периферийным оборудованием можно получить из [26] и технической документации на вычислительные средства, использующие версию бейсик-80.

Данные о некоторых других версиях бей-сика. В некоторых версиях бейсика, например, бейсике-плюс для серии отечественных мини-ЭВМ (включая ЭВМ СМ-4) и бейсик-ЗА-TDM для ЭВМ Электроника-ДЗ-28 имеется ряд дополнительных операторов. Прежде всего, к ним относятся операторы выполнения матричных операций.

Оператор чтения элементов матриц МАТ READ А, В, С, ... обеспечивает чтение элементов матриц А, В, С, ... последователь­но по строкам. Массивы элементов матриц предварительно задаются операторами DIM и DATA:

10 DIM й<3>3>

20 ВАТА Ь 2, 3> 4/5> 6> 7> 8, 9

38 MAT READ A

Оператор ввода элемента матрицы с пульта MAT INPUT А обеспечивает ввод элемен­тов матрицы А построчно с клавишного пульта.

Оператор вывода матрицы MAT PRINT А, В, С, ... обеспечивает вывод массива элементов матриц А, В, С, ... построчно и последовательно, т. е. вначале выводятся элементы матрицы А, затем В и т. д.

Оператор задания нулевой матрицы MAT A = ZER формирует матрицу А, у кото­рой все элементы нулевые.

40

Оператор задания матрицы с единичными элементами MAT A = CON создает матрицу А, у которой все элементы имеют значения 1.

Оператор задания единичных элементов akk MAT A=IDM создает матрицу А, у кото­рой элементы а** = 1, а остальные 0. Если матрица А квадратная, то этот оператор создает единичную матрицу.

Оператор транспонирования МАТ В = = TRN(A) обеспечивает транспонирование матрицы А, т. е. получение матрицы В, у ко­торой элементы 6,7 = 0,,. Матрицы А и В не должны совпадать, а их размерности должны соответствовать возможности транспониро­вания. В противном случае ПЭВМ выдает указание об ошибке.

Оператор обращения матриц МАТ С = = INV (А, В) или MAT B = INV(A). Форма записи зависит от версии бейсика. В первом виде исходной является квадратная матри­ца С и должны быть зарезервированы два служебных массива А и В. После выполнения оператора MAT C = INV(A, В) обращенная матрица помещается на место исходной, а элементу А(0) присваивается значение определителя D исходной матрицы С. Во вто­ром виде оператора исходной является матри­ца А и формируется матрица В = А~. Определитель при этом получается как зна­чение специальной переменной DET, которое может присваиваться обычной переменной (например, D=DET).

Оператор умножения матриц МАТ С = = А*В формирует матрицу С, получаемую умножением матриц А и В. Матрицы А, В и С не должны совпадать. Особенности выбора размерности матриц при умножении описаны в § 3.4.

Операторы арифметических действий с вы­ражениями (а) используются в виде

= А+(а) МАТВ=А+(а) МАТ В = А/(а) МАТ В = А* (а)

В результате их выполнения получается матрица В, все элементы которой — преобра­зованные элементы матрицы А. Арифмети­ческое выражение (а) должно обязательно заключаться в скобки, матрицы А и В должны быть одинаковой размерности, допустимо совпадение имен матриц. Например, возможна запись МАТ С = С+(а) и т. д. Матричный оператор присваивания МАТ В = А создает матрицу В, элементы которой Ьц = ац. Размер­ности массивов для матриц А и В должны быть одинаковыми.

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

МАТ С = А + В (сложение матриц)

МАТ С = А — В (вычитание матриц)

МАТ С = А/В (деление матриц)

МАТ С = А**В (элементы а,, возводятся

в степень 1>и)

Массивы матриц А, В и С должны иметь одинаковые размерности. Допускается совпа­дение имен массивов.

Оператор умножения матрицы на кон­станту (для версии бейсик-плюс) имеет вид МАТ В = А*К, где К — константа. Его выполнение создает матрицу В, все элементы которой Ьц — ац К.

^ Особенности применения матричных опе­раторов. Применение матричных операторов существенно упрощает решение задач, связан­ных с использованием матриц (например, решение систем линейных уравнений). По­скольку при этом необходимые арифмети­ческие операции проводятся на машинном языке, существенно сокращается время вычис­лений. Перед использованием матричных операторов должны быть заданы и опреде­лены (с помощью оператора DIM) массивы под исходную вычисляемую и служебные матрицы. Массивы могут иметь любые имена (а не только А, В, С, как в приведенных условных формах записи операторов). Усло­вия совпадения имен оговорены выше.

^ Операторы обращения по меткам. В неко­торые версии бейсика для ускорения вычис­лений вводятся операторы ON ф Метка и GOSUB# Метка. Метка может быть числом (0-i-9) или любой латинской буквой (от А до Z). При выполнении этих операторов происходит безусловный переход (опера­тор ON) или обращение к подпрограмме (оператор GOSUB), которые следуют за строкой с меткой в виде REM# Метка.

Оператор-переключатель строк имеет вид

ON (a) HC1, НС2, НСЗ, ...

где а — арифметическое выражение, указы­вающее порядок безусловных переходов к строкам с номерами НС1, НС2, НСЗ и т. д. Если а принимает значение 1, происходит переход к строке с номером НС1, если а принимает значение 2, переход идет к строке НС2, и т. д. (номера строк не совпадают со значениями а).

^ Операторы ввода символьных последова­тельностей RED. Оператор присваивания

REDL А = Символы

присваивает переменной А символьное зна­чение. Для такого присвоения при вводе символов с пульта используется оператор REDI А. Здесь А — любая переменная.

Вывод символьной переменной, введенной операторами REDL и REDI, выполняется с помощью оператора

PRINT DA, ПВ, ...

Перед каждой символьной переменной из списка оператора PRINT должен стоять знакП.

Вывод символьных переменных выпол­няется также операторами

REDP . , или пробел REDP ; или / REDP Ф М [...] REDP А [(1[,К])]

При пустом списке оператор REDP игнориру­ется, точка, запятая и пробел используются в качестве разделителей, знак ; обеспечивает пропуск одной позиции, знак / — перевод строки с возвратом каретки, #М—пропуск М позиций (где М — число), А — вывод строки, введенной операторами REDL и REDI. Широко распространенные операторы обработки символьных переменных L.EN и MID описаны в версии бейсика ПЭВМ FX-702P.

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

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

1   ...   4   5   6   7   8   9   10   11   ...   40

Похожие:

Оглавление iconАб «Таатта» зао в г. Якутске Тарифы Оглавление Тарифы 1 Оглавление 2
Настоящий документ устанавливает ставки комиссионного вознаграждения на услуги, предоставляемые аб «Таатта» зао физическим лицам
Оглавление iconДоклад Совету при Президенте Российской Федерации по науке и образованию...
«Наука, образование и инновации в России: взгляд молодых ученых на проблемы и перспективы»
Оглавление iconОглавление

Оглавление iconОглавление

Оглавление iconОглавление: Стр

Оглавление iconМоя биография оглавление

Оглавление iconГромов Сергей, реферат по химии
Оглавление
Оглавление iconОглавление
Общая характеристика строения и функций соединительной ткани
Оглавление iconПрактическая работа по текстовому редактору word «Структура документа. Оглавление»

Оглавление iconФедеральный государственный образовательный стандарт дошкольного образования оглавление
Общие положения
Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2014
shkolnie.ru
Главная страница