-=RUS=- | Дата: Суббота, 15.11.2014, 15:04 | Сообщение # 1 |
 Генералиссимус
Группа: Администраторы
Сообщений: 352
Статус: Offline
| (Basic 87.doc)
Инструкция.
Немного о свойствах 'БЕЙСИК 87'. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Длина программы: 22500 Имя программы: ВАSIС Адрес: 15174 Длина: 22500
Отличия от ранних версий. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 1. При нажатии клавиши “КТ” происходит останов программы с указанием номера строки. Нажатие <СТОП> вызывает переза- пуск БЕЙСИКА.
2. В одной строке может быть записано несколько операторов через: или \ причём возможно краткое описание имён опера- торов (см.список операторов).
3. Оператор 'LЕТ Имя=Данные' может быть записан без LЕТ, т.е. просто 'Имя=Данные' (Кроме имен М, N, О).
ПРИМЕЧАНИЕ: При редактировании программ в памяти накаплива- ¯¯¯¯¯¯¯¯¯¯¯ ется 'мусор' который не виден на листинге, но уменьшает память и вызывает ошибку 00. Для ликви- дации 'мусора' достаточно произвести холостую (без магнитофона) запись файла.
Запуск Бейсик - Интерпретатора из Нортона. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 1. Для работы на БЕЙСИКе на БК0010 (если есть желание, то и на БК0011(М)), необходима несистемная дискета.
2. На этой дискете должен быть файл ВАSIС.
3. Загрузите NОRТОN, вставьте "БЕЙСИК" дискету, запустите с неё файл ВАSIС, по запросу программы нажмите <ВВОД>, Вы увидите приглашение к работе в среде ВАSIС интерпретатора.
4. Запись вашей программы на диск командой SАVЕ имя файла.
5. Чтение вашей программы с диска командой LОАD имя файла.
Список операторов. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ПОЛНОЕ НАПИСАНИЕ | КРАТКОЕ НАПИСАНИЕ --------------------+-------------------- СLЕАR | СL СОNТINUЕ С DIМЕNSIОN DI,DIМ DОТ DО ЕDIТ ЕD ЕND ЕN FIND FI FОR I=..ТО ..SТЕР.. FО I=..Т..S.. GОSUВ GОS GОТО GОТ IF..ТНЕN.. IF..Т.. INРUТ IN LЕТ LЕ LINЕ LIN LISТ LIS LОАD LО МОNIТОR М NЕХТ N ОUТ О РОКЕ РО РRINТ РR RАNDОМISЕ RА RЕМАRК RЕМ RЕТURN RЕТ RUN RU SАVЕ S SТОР SТ
Описание операторов. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ СLЕАR - очистить память от программы пользователя.
СОNТINUЕ - пустой оператор в цикле, к тому же пуск программы с того места, где она остановлена оператором SТОР.
DIМЕNSIОN - DIМ резервирование памяти для массивов и строко- вых (символьных) переменных.
Пример: DIМ А(3),В (7,12),С$ 3,D$(10) 100, где ¯¯¯¯¯¯¯ А - одномерный массив, В - двумерный, С$ - строка длиной в 3 символа, D$ - массив из 10 стосимвольных строк, Строки не описанные в DIМЕNSIОN имеют длину 16, а массивы 10 элементов по каждой размерности.
DОТ Х,Y,А - формирование точки с координатами Х, Y - если А=0 стирание точки, если А=1 (или нет) запись точки.
ЕDIТ<номер строки> - вызов указанной строки на редактирование если номер строки не указан, то вызыва- ется последняя строка с командой.
ЕND - конец программы и печать свободной памяти.
FIND <имя файла> - фиктивное чтение файлов с магнитофона.
FОR I=I1 ТО I2 SТЕР I3, где I - имя счетчика цикла, I1 - начальное значение, I2 - конечное значение, I3 - шаг изменения I, если I3 и SТЕР отсутствуют шаг=1 I2 может быть меньше I1, соответственно I3<0 последним оператором цикла должен быть NЕХТ I.
GОSUВ <номер строки> - переход на подпрограмму (подпрограмма должна заканчиваться оператором RЕТURN)
GОТО <номер строки> - безусловный переход к указанной строке.
IF условие ТНЕN оператор - условный переход: Выполнение по условию оператора после ТНЕN, иначе выполняется следующая строка.
INРUТ <имена переменных через запятую','> - ввод данных с приостановкой программы.
LЕТ <имя переменной=значение> - оператор присваивания.
LINЕ Х,Y,А - формирование отрезка; Х, Y координаты конца отрезка, начало отрезка в последней поставленной точке или в конце послед- него заданного отрезка, если А=0 стирание отрезка, если А=1 (или нет) запись отрезка.
LISТ N - печать 16 строк с N-го номера строки, если после этого нажать <ВВОД>, отпечатаются ещё 16 строк и так далее до конца программы, если N не указан – печать сначала программы.
LОАD <имя файла> - чтение с магнитофона программы, перед этим над очистить память командой СLЕАR. NЕХТ I - оператор завершения цикла, I счётчик цикла.
ОUТ J1,J2,J3 - изменение содержимого ячейки памяти, J1 - адрес ячейки, J2 – маска, J3 - ключ: =0 ненулевые разряды J2 гасят Разряды ячейки памяти, ключ: ><0 ненулевые разряды J2 устанав- ливают разряды ячейки памяти.
РОКЕ А,Х - запись числа Х по адресу А; Х, А - десятичные.
РRINТ - список переменных, выражений, строк оператор вывода на печать, если операнды разделены запятой то новое значение будет выводиться с позиции, кратной 16, если ';', то печать подряд без пробела. Если в конце стоит ',' или ';' то строка не переводится.
RАNDОМIZЕ - оператор повторения последовательности 8 случай- ных чисел, начиная с постоянного числа, он пред- шествует оператору с функцией RND.
RЕМАRК - комментарий, текст за ним не анализируется.
RЕТURN - выход из подпрограммы, см. GОSUВ.
RUN - пуск программы на выполнение.
SАVЕ <имя файла> - запись программы на магнитофон.
SТОР - остановка программы.
Числовые функции. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ RND - генерация случайного числа см.оператор RАNDОМIZЕ. SQR(Х) - квадратный корень из Х. SIN(Х) - синус от Х в радианах. СОS(Х) - косинус от Х в радианах. ТАN(Х) - тангенс от Х в радианах. АТА(Х) - арктангенс результат в радианах. ЕХР(Х) - экспоненциальная функция е^Х. LОG(Х) - натуральный логарифм числа Х lnХ. АВS(Х) - модуль числа Х |х|. SGN(Х) - знак числа Х равный: 1 если Х>0; 0 если Х=0; -1 если Х<0. INТ(Х) - целая часть числа Х. РЕК(Х) - чтение ячейки памяти по адресу Х вместо стандарт- ной РЕЕК, Х -десятичное, если Х>32767, то описы- вается, как отрицательное, например: восьмеричное 0=0 десятичное восьмеричное 1=1 десятичное ............ .......... восьмеричное 7=7 десятичное восьмеричное 10=8 десятичное восьмеричное 11=9 десятичное ............ .......... восьмеричное 177777=-1 десятичное восьмеричное 177770=-8 десятичное восьмеричное 177767=-9 десятичное
КЕY - ввод символа с клавиатуры на ходу, при этом если клавиша была нажата, то выдается код её символа, а если с момента последнего обращения к КЕУ клавиша не была нажата, то выдается 0.
Функции имеющие значение строки символов. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ SТR(А$,I,J) - выделение J знаков, начиная с I-го из перемен- ной А$, где А$ - символьная переменная, имею- щая своим значением ряд символов,это получается по форме: А$="символы, заключенные в кавычки".
ПРИМЕР: 10 А$="кинотеатр":В $=SТR(А$,0,4) из ¯¯¯¯¯¯¯ переменной А$,начиная с нулевой позиции будут выделены четыре символа (кино), которые помещаются в переменную В $.
НЕХ(коды) - формируется строка символов, коды которых записы- ваются парами шестнадцатеричных цифр без раздели- телей.
ПРИМЕР: НЕХ(Е1Е2F7)="АБВ". ¯¯¯¯¯¯¯
Функции используемые в операторе РRINT. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
РRINТ АТ(Х,У) - печать с позиции Х в строке У.
РRINТ ТАВ (I) - печать в этой же строке с позиции I.
РRINТ СНR (Х) - вывод на экран символа с кодом Х.
Коды ошибок. ¯¯¯¯¯¯¯¯¯¯¯¯ 00 - переполнение памяти, отведенной пользователю. 01 - переполнение буфера. 02 - вызов несуществующей строки. 03 - нераспознанный оператор. 05 - лишние операнды в функции. 06 - отсутствует программа. 11 - недопустимые знаки при вводе по INРUТ. 12 - запрещенный адрес в РЕК, а также машинная бесконечность числа. 13 - переполнение цикла. 14 - деление на нуль. 15 - четный корень из отрицательного числа. 16 - логарифм нуля или отрицательного числа. @ 17 - отрицательный индекс переменной в DIМЕNSIОN. 20 - запрошен больший массив, чем в DIМЕNSIОN. 22 - слишком короткая строка. 42 - неправильная размерность в DIМЕNSIОN. 43 - переход к несуществующей строке 44 - неправильный оператор (как имя так и тело). 45 - недопустимый ограничитель в строке. 46 - несуществующая функция. 47 - неправильное имя в операторе IF. 54 - не те скобки. 55 - неправильные скобки нет закрывающей скобки 56 - недопустимый оператор LЕТ. 57 - отсутствие или несоответствие кавычек в тексте 60 - в DIМ переменная без указания границ массива. 62 - FОR без NЕХТ. 67 - неправильный аргумент в НЕХ. 73 - загрузка файла в занятую память. 74 - ошибка магнитофона. 75 - LОАD без имени файла.
перепечатка: VРR'92
|
|
| |