УКНЦ Бейсик Руководство оператора
Данный материал защищён авторскими правами!
Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей. |
УТВЕРЖДЕН У1.00031-01 34 02-ЛУ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЛЕКСА ВЫЧИСЛИТЕЛЬНОГО УЧЕБНОГО "ЭЛЕКТРОНИКА МС 0202" БЕЙСИК РУКОВОДСТВО ОПЕРАТОРА У1.00031-01 34 02 ЛИСТОВ 22 1987 ЛИТЕРА 0 - 2 - У1.00031-01 34 02 АННОТАЦИЯ Настоящий документ представляет собой руководство оператора микро-ЭВМ "Электроника МС 0511" для работы с БЕЙСИК-системой. В данной системе пользовательские программы перед выполнением компилируются. Это позволяет лучше использовать быстродействие микро-ЭВМ, чем в БЕЙСИК-системах, основанных на интерпретаторах. Система обладает большим количеством удобных средств по вводу и редактированию текстов программ, широким набором команд для загрузки и запуска программ. В документе описаны все эти средства, даны указания по пользованию клавиатурой микро-ЭВМ. В приложении приведен полный список сообщений об ошибках. - 3 - У1.00031-01 34 02 СОДЕРЖАНИЕ 1. НАЗНАЧЕНИЕ ПРОГРАММЫ И УСЛОВИЯ ЕЕ ВЫПОЛНЕНИЯ.............. 4 2. ВЫПОЛНЕНИЕ ПРОГРАММЫ...................................... 4 2.1. Пуск БЕЙСИК-системы.................................... 4 2.2. Назначение клавиш микро-ЭВМ............................ 5 2.2.1. Алфавитно-цифровые и регистровые клавиши............. 5 2.2.2. Редактирующие и управляющие клавиши.................. 6 2.3. Ввод программ. Основные инструкции..................... 7 2.4. Редактирование......................................... 8 2.4.1. Исправление ошибок в вводимой строке................. 9 2.4.2. Управляющие и редактирующие коды..................... 9 2.4.3. Редактирование строк программы....................... 12 2.4.4. Команды редактирования............................... 13 2.4.5. Пример редактирования программы...................... 14 3. ХРАНЕНИЕ ПРОГРАММ НА МАГНИТНОЙ ЛЕНТЕ ИЛИ ДИСКЕ ЦЕНТРАЛЬНОЙ ЭВМ........................................... 15 3.1. Форматы файлов......................................... 15 3.2. Основные команды системы............................... 15 4. СООБЩЕНИЯ ОПЕРАТОРУ....................................... 17 4.1. Формат сообщений....................................... 17 4.2. Ошибки................................................. 17 ПРИЛОЖЕНИЕ. СООБЩЕНИЯ ОБ ОШИБКАХ.............................. 18 - 4 - У1.00031-01 34 02 1. НАЗНАЧЕНИЕ ПРОГРАММЫ И УСЛОВИЯ ЕЕ ВЫПОЛНЕНИЯ БЕЙСИК-система для микро-ЭВМ "Электроника МС 0511" представляет собой единый комплекс программ, позволяющий с помощью ЭВМ создавать и выполнять программы на языке программирования БЕЙСИК в режиме диалога человека с ЭВМ. Она предназначена как для непосредственного выполнения команд и операторов языка, так и для выполнения БЕЙСИК-программы с предыдущей ее компиляцией. Система обладает широкими возможностями по редактированию и отладке программ. Для работы с БЕЙСИК-системой необходима микро-ЭВМ "Электроника МС 0511", подключенная к локальной сети. К самой микро-ЭВМ подключается бытовой телевизионный приемник. Основным способом хранения текстов пользовательских программ и данных является передача их по сети в центральную ЭВМ, где они записываются на диск. Кроме этого возможно подключение непосредственно к самой микро-ЭВМ бытового кассетного магнитофона для записи программ и данных на магнитную ленту. Предусмотрено также подключение печатающего устройства для распечатки текстов и/или результатов работы программ. 2. ВЫПОЛНЕНИЕ ПРОГРАММ 2.1. Пуск БЕЙСИК-системы Загрузка БЕЙСИК-системы на микро-ЭВМ "Электроника МС 0511", подключенной к локальной сети, выполняется согласно документа У1.00031-01 34 03 Локальная сеть. Руководство оператора. Признаком нормальной работы системы служит выполнение следующих действий: очистка экрана телевизора, формирование на телевизионном экране служебной строки и вывод начального сообщения: ЛАТ БЕЙСИК УК-НЦ (ВГУ, 1987.07.08) Ok Вывод "Ok" означает готовность системы к работе и ожидание ввода команд оператора. Служебная строка является подсказкой пользователю о действующем режиме работы клавиатуры и экрана. - 5 - У1.00031-01 34 02 2.2. Назначение клавиш микро-ЭВМ Клавиатура микро-ЭВМ используется для ввода строк программы, команд и другой управляющей информации, в соответствии с которой БЕЙСИК-система выполняет определенные действия. Все клавиши по функциональному назначению подразделяются на четыре группы: 1) алфавитно-цифровые; 2) регистровые; 3) редактирующие; 4) управляющие. 2.2.1. Алфавитно-цифровые и регистровые клавиши Алфавитно-цифровые клавиши предназначены для набора текстов команд и операторов языка, а также данных для БЕЙСИК-программ. В эту группу также входят некоторые редактирующие и управляющие экраном клавиши. Переход из режима ввода латинского шрифта в режим ввода русского шрифта или наоборот осуществляется при одновременном нажатии клавиш <АЛФ> и <ФИКС>. При нажатии только клавиши <АЛФ> переход из одного режима в другой будет осуществляться только до отпускания этой клавиши. Переход от ввода заглавных букв к вводу строчных букв при работе с обоими шрифтами происходит при нажатии клавиши < НР > до ее отпускания. Для фиксации одного из этих режимов, необходимо нажать одновременно две клавиши < НР > и < ФИКС >. О включении режимов ввода русского и латинского шрифтов свидетельствует соответствующая надпись "РУС" или "ЛАТ" в служебной строке. Для получения символов "[", "]", "\", "@" и знака логического отрицания необходим режим ЛАТ-ЗАГЛ. При режиме ЛАТ-СТР эти клавиши выдают соответственно правые и левые фигурные скобки, вертикальную черту, знаки слабого ударения и надчеркивания. Клавиша < ЗАБОЙ > при русском регистре выдает заглавный или строчный "ТВЕРДЫЙ ЗНАК" русского алфавита, в режиме ЛАТ-ЗАГЛ и ЛАТ-СТР - редактирующий код "ЗАБОЙ". Нижняя широкая клавиша означает пробел. При нажатии на клавиши с цифрами и остальными служебными символами при всех фиксированных режимах выдается всегда только верхний символ. Для получения нижнего символа необходимо нажать на регистровую клавишу < НР > и, не отпуская ее, нажать на желаемую клавишу со спецсимволом. Чтобы перейти в режим ввода символов полуграфики, необходимо нажать клавишу <ГРАФ>. Для фиксации этого режима нужно одновременно нажать клавиши <ГРАФ> и <ФИКС>. Для выхода из режима полуграфики необходимо повторное нажатие клавиш <ГРАФ>,<ФИКС>. Получаемые при этом символы полуграфики используются в основном для построения различных таблиц. - 6 - У1.00031-01 34 02 2.2.2. Редактирующие и управляющие клавиши Ниже приведена таблица всех редактирующих и управляющих клавиш с краткой характеристикой предпринимаемых по ним действий редактора текста БЕЙСИК-системы. Для некоторых клавиш указаны присвоенные им логические имена. ТАБЛИЦА 1 +----------------+------------------+-----------------------+ ! КЛАВИША ! ЛОГИЧЕСКОЕ ИМЯ ! НАЗНАЧЕНИЕ ! +----------------+------------------+-----------------------+ ! /!_____ ! ! Удаление символа слева! ! < _____! ! Забой ! от курсора со сдвижкой! ! \! ! ! остальной части строки! ! ! ! ! ! ! ! ! ! /!_____ ! ! ! ! < _____! ! ! Курсор влево ! ! \! ! ! ! ! ! ! ! ! . ! ! ! ! / \ ! ! ! ! /_ _\ ! ! Курсор вверх ! ! ! ! ! ! ! ! !_! ! ! ! ! ! ! ! ! ! ! ! ! _____!\ ! ! ! ! !_____ > ! ! Курсор вправо ! ! !/ ! ! ! ! ! ! ! ! _ ! ! ! ! ! ! ! ! ! ! _! !_ ! ! Курсор вниз ! ! \ / ! ! ! ! \ / ! ! ! ! . ! ! ! ! ! ! ! ! ! ! ! ! . ! ! ! ! / \ ! Нижний регистр ! Переход на нижний ! ! / \ ! < Н.Р.> ! регистр ! ! - - ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! - - ! ! ! ! \ / ! ! ! ! \ / ! ! ! ! . ! ! ! ! ! ! ! ------------------------------------------------------------- - 7 - У1.00031-01 34 02 ПРОДОЛЖЕНИЕ ТАБЛ. 1 +----------------+------------------+-----------------------+ ! КЛАВИША ! ЛОГИЧЕСКОЕ ИМЯ ! НАЗНАЧЕНИЕ ! +----------------+------------------+-----------------------+ ! ! ! ! ! ! ! ! ! -- ! ! ! ! ! ! ! ВВОД ! Закрыть текущую ! ! /!___! ! ! ! строку, перейти на ! ! < ______! ! ! следующую ! ! \! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! < СУ > ! ! Используется в ком- ! ! ! ! бинации с другими ! ! ! ! клавишами (см. ниже) ! ! ! ! ! ! ! ! ! ! ! ! ! ! < СБРОС > ! ! Сброс экрана ! ! ! ! ! ! ! ! ! ------------------------------------------------------------- 2.3. Ввод программ. Основные инструкции. Текст программы можно начать вводить сразу же после появления на экране приглашения "Ok", которое означает, что ЭВМ ждет вода инструкции оператора. В таком режиме система находится с появления на экране букв "Ok" до ввода команды RUN. Каждая программная строка начинается с номера строки. минимальный номер строки - 0, максимальный - 65535. За номером строки следуют ключевое слово оператора и его параметры. Ввод строки осуществляется нажатием на клавишу < ВВОД >. Вводится вся логическая строка, независимо от того, что она может занимать несколько физических строк. Максимальная длина вводимой логической строки - 255 символов, включая номер строки. Номер строки является единственным признаком отличия программных строк от строк, предназначенных для непосредственного выполнения. Это означает, что, если номер строки в вводимой оператором инструкции не указан, то она выполняется сразу же после ее ввода. Если номер строки указан, строка запоминается как одна из программных строк. При вводе строк программы возможны следующие ситуации: - к программе добавляется новая строка каждый раз, когда вводится непустая строка с допустимым номером и в программе пока нет строки с номером, идентичным вводимому; - уже существующая программная строка заменяется новой, если номер непустой вводимой строки совпадает с номером существующей в программе строки; - 8 - У1.00031-01 34 02 - существующая строка удаляется из программы, если введен лишь номер этой строки без единого отличного от пробела символа за ним; - никакие действия системой не предпринимаются, когда вводится пустая строка без номера или с номером, не совпадающим ни с одним номером раньше введенных программных строк; - выдается сообщение об ошибке 2, если указан номер строки, превышающий допустимый предел, сообщение об ошибке 25, если введено больше 255 символов, или сообщение об ошибке 7, когда не достает места в памяти ЭВМ для запоминания вводимой строки. В последнем случае введенная строка к программе не добавляется, а если это была попытка заменить какую-нибудь строку, то теряется и ее старый текст. Программные строки можно вводить в любой последовательности, но выполняются они всегда в порядке возрастания номеров строк. Рекомендуется нумеровать строки с некоторым шагом, например, 10, 20, 30 и т.д.. Это позволит в случае необходимости добавить внутрь программы новые строки. Если, не выключая питания ЭВМ, вводятся тексты нескольких программ, перед вводом каждой новой программы необходимо ввести команду NEW для стирания старой. Сразу после включения питания команду давать не обязательно. 2.4. Редактирование Работа с ЭВМ в диалоговом режиме часто сопровождается многочисленными ошибками при вводе с клавиатуры. Каждый программист также редко избегает синтаксических ошибок при записи операторов и, тем более, логических ошибок в алгоритмах, реализованных в программах. Поэтому во всех системах программирования предусмотрены средства редактирования программ. В БЕЙСИК-системе существует встроенный редактор текстов, который по сути дела организует весь диалог человека с ЭВМ: ввод и редактирование программ, организацию выполнения команд и операторов в непосредственном режиме, загрузку и запуск программ. Условно можно выделить следующие случаи редактирования: - исправление ошибок в вводимой строке; - редактирование строк программы; - редактирование при помощи команд. - 9 - У1.00031-01 34 02 2.4.1. Исправление ошибок в вводимой строке Редактор БЕЙСИК-системы обеспечивает полное экранное редактирование любой логической строки, но не выходя за ее пределы. При обнаружении опечатки в вводимой строке можно клавишами управления курсором навести его на нужный символ строки, а потом применять любую из следующих мер: - напечатать новый символ на месте введенного раньше; - удалить символ, находящийся слева от курсора; - удалить символ, находящийся на позиции курсора; - удалить все символы, начиная от позиции курсора и до конца логической строки; - раздвинуть строку для вставки новых символов. Кроме того можно вообще отказаться от вводимой строки, нажав комбинацию клавиш <СУ> и <C>, либо <СУ> и <U> (см.п.2.4.2). Все указанные действия можно выполнять клавишами редактирования, но лишь до ввода строки (нажатия на клавишу <ВВОД>). Положение курсора в вводимой строке при вводе не имеет значения. 2.4.2. Управляющие и редактирующие коды Ниже представлена таблица всех управляющих и редактирующих кодов, получаемых при одновременном нажатии на клавишу < СУ > и на какую-либо алфавитно-цифровую клавишу, с указанием действий, производимых этими кодами. - 10 - У1.00031-01 34 02 ТАБЛИЦА 2 ------------------------------------------------------------------- ВОСЬМ. КЛАВИША НАЗНАЧЕНИЕ КОД <СУ>+ ------------------------------------------------------------------- 000 @ ЗАДЕРЖКА ВЫВОДА НА ЭКРАН 001 A ШАГ 002 B ИГНОРИРУЕТСЯ 003 C ОТКАЗ ОТ ВВОДИМОЙ СТРОКИ 004 D ИГНОРИРУЕТСЯ 005 E ИГНОРИРУЕТСЯ 006 F ИГНОРИРУЕТСЯ 007 G ЗВОНОК 010 H КУРСОР В ЛЕВЫЙ ВЕРХНИЙ УГОЛ ЭКРАНА 011 I ТАБУЛЯЦИЯ 012 J ПЕРЕВОД СТРОКИ 013 K СБРОС КОНЦА СТРОКИ 014 L ОЧИСТКА ЭКРАНА 015 M ВВОД 016 N РЕГИСТР РУССКОГО АЛФАВИТА 017 O РЕГИСТР ЛАТИНСКОГО АЛФАВИТА 020 P ИГНОРИРУЕТСЯ ------------------------------------------------------------------- - 11 - У1.00031-01 34 02 ПРОДОЛЖЕНИЕ ТАБЛ.2 ------------------------------------------------------------------- ВОСЬМ. КЛАВИША НАЗНАЧЕНИЕ КОД <СУ>+ ------------------------------------------------------------------- 021 Q ИГНОРИРУЕТСЯ 022 R ИГНОРИРУЕТСЯ 023 S РАЗДВИЖКА СТРОКИ 024 T СДВИЖКА СТРОКИ 025 U ОТКАЗ ОТ СТРОКИ 026 V ИГНОРИРУЕТСЯ 027 W ИГНОРИРУЕТСЯ 030 X ИГНОРИРУЕТСЯ 031 Y ИГНОРИРУЕТСЯ 032 Z ИГНОРИРУЕТСЯ 033 [ ИГНОРИРУЕТСЯ 034 \ ИГНОРИРУЕТСЯ 035 ] ИГНОРИРУЕТСЯ 036 ^ ИГНОРИРУЕТСЯ 037 _ ИГНОРИРУЕТСЯ ------------------------------------------------------------------- ЗАДЕРЖКА ВЫВОДА НА ЭКРАН - при нажатии на клавиши <СУ> и <@> организуется цикл ожидания ввода следующего символа. Это приводит к приостановлению любых других действий ЭВМ (вывода на экран, вычислений и т.д.). Продолжение работы - нажатие любой клавиши. Есть особые случаи, когда клавиатура блокируется (прерывания от нее не обрабатываются) и ввести СУ/@ невозможно. Так случается, например, при работе с магнитофоном. При выводе код игнорируется. ОТКАЗ ОТ ВВОДИМОЙ СТРОКИ - нажатие на клавиши < СУ > и < C > приводит к прерыванию ввода текущей строки, выводу приглашения "Ok" и переводу ЭВМ в режим ожидания ввода новой строки. Вводимая строка не запоминается и не выполняется (если это была команда). При выводе игнорируется. ЗВОНОК - 12 - У1.00031-01 34 02 - звуковой сигнал, аналогичный получаемому при нажатии на любую клавишу. СДВИЖКА СТРОК - осуществляется удаление символа на позиции курсора со сдвижкой всей оставшейся части логической строки на один символ влево. Символы с крайней левой позиции переходят в крайнюю правую позицию предыдущей строки. При выводе производится аналогичное смыкание в пределах физической строки. В конце строки появляется пробел. РАЗДВИЖКА СТРОКИ - сдвиг всех символов логической строки на одну позицию вправо, начиная от позиции курсора. Позиция курсора освобождается. Крайние правые символы переходят в крайнюю левую позицию следующей физической строки. При выводе сдвиг производится в пределах физической строки. Крайний правый символ теряется. СБРОС КОНЦА СТРОКИ - удаление всех символов, начиная от позиции курсора и до конца логической строки. При выводе действует в пределах физической строки. 2.4.3. Редактирование строк программы Для редактирования текста какой-либо программной строки необходимо с помощью редактирующих клавиш подвести курсор к исправляемой строке и дальше редактировать ее так же, как и вводимую строку (см.п.2.4.1). После исправления текста программной строки необходимо произвести ее повторный ввод, нажав клавишу <ВВОД>. Если строки с ошибкой нет на экране, можно вывести ее с помощью команды: LIST <НОМЕР СТРОКИ><ВВОД>. Для редактирования можно вывести на экран и группу строк командой: LIST N-M <ВВОД> где: N - номер начальной строки; M - номер конечной строки. Но необходимо иметь ввиду, что после окончания редактирования каждой строки нужно нажать клавишу < ВВОД >, производя повторный ввод этой строки. - 13 - У1.00031-01 34 02 2.4.4. Команды редактирования В БЕЙСИК-системе существует ряд специальных команд, облегчающих ввод и редактирование программ. Их список приведен в табл. 3. ТАБЛИЦА 3 ------------------------------------------------------------ КОМАНДА ДЕЙСТВИЕ ------------------------------------------------------------ LIST [N][-[M]] ВЫВОД СТРОК ПРОГРАММЫ НА ЭКРАН, НАЧИНАЯ С НОМЕРА N ДО НОМЕРА M DELETE [N][-[M]] УДАЛЕНИЕ СТРОКИ, СТРОК ИЛИ ВСЕЙ ПРОГРАММЫ NEW УДАЛЯЕТ ВСЮ ПРОГРАММУ НА ЯЗЫКЕ БЕЙСИК AUTO [N][,M] УСТАНОВКА РЕЖИМА АВТОНУМЕРАЦИИ, НАЧИНАЯ С N С ШАГОМ M RENUM [N[,M][,L]] ПЕРЕНУМЕРАЦИЯ СТРОК: НОМЕР M ЗАМЕНЯЕТСЯ НА N И ДАЛЕЕ С ШАГОМ L ------------------------------------------------------------ В командах LIST, DELETE, AUTO вместо номеров строк можно указывать текущую строку. Команду RENUM удобно использовать в случаях, когда строки плотно пронумерованы и невозможно вставить новые строки. Команда AUTO при вычислении очередного номера, совпадающего с номером существующей строки, показывает ее на экране и позволяет редактировать (включая номер строки). Поэтому команду удобно применять как для ввода, так и для редактирования программ. Выход из режима AUTO происходит при нажатии на клавиши <СУ> и <C>, либо при нажатии клавиши <СТОП>. Полное описание команд редактирования можно найти в документе У1.00031-01 35 01 БЕЙСИК. Описание языка. - 14 - У1.00031-01 34 02 2.4.5. Пример редактирования программы Для замены строки 40 PRINT A Можно ввести строку заново, например: 40 PRINT B Но удобнее воспользоваться командой: LIST 40 <ВВОД> При выполнении этой команды на экран выводится строка с указанным номером и теперь ее можно исправлять при помощи клавиш и команд редактирования: например таких, как клавиши: < <-- >, <ЗАБОЙ>, <B> и <ВВОД> Для удаления строки можно ввести директиву: 20 <ВВОД> Для этой же цели можно воспользоваться командой: DELETE 20 <ВВОД> Для удаления фрагмента программы вводится команда: DELETE 50-100 <ВВОД> Вся программа удаляется при вводе следующих команд: DELETE или NEW П_Р_И_М_Е_Ч_А_Н_И_Е. Перед тем, как приступить к созданию программ в БЕЙСИК-системе для микро-ЭВМ "Электроника МС 0511", необходимо изучить практические средства редактирования текста программы. Это существенно ускорит работу с текстом программы. - 15 - У1.00031-01 34 02 3. ХРАНЕНИЕ ПРОГРАММ НА МАГНИТНОЙ ЛЕНТЕ ИЛИ ДИСКЕ ЦЕНТРАЛЬНОЙ ЭВМ 3.1. Форматы файлов БЕЙСИК-система допускает работу с тремя типами файлов: - информация в кодах КОИ-7 строками не более 255 символов в строке; - БЕЙСИК-программы во внутреннем коде системы; - файлы с двоичной информацией. Файлы первого типа имеют по умолчанию тип ASC, если они созданы при помощи команды SAVE (см. п.3.2), или тип DAT, если они созданы пользователем средствами БЕЙСИК-системы. Файлы второго типа имеют по умолчанию тип COD, третьи - BIN. Для работы с файлами типа BIN и COD также имеются специальные команды (см.п.3.2). 3.2. Основные команды системы При обмене информацией используются стандартные команды БЕЙСИК-системы: - LOAD и SAVE - для приема и передачи программ БЕЙСИК-системы в текстовом формате; - CLOAD и CSAVE - для приема и передачи программ во внутреннем формате БЕЙСИК-системы; - BLOAD и BSAVE - для обмена двоичной информацией; - OPEN, PRINT#, INPUT# и CLOSE - для обмена данными. Этими командами можно осуществлять обмен информацией как между микро-ЭВМ и подключенным к ней магнитофоном, так и по локальной сети с центральной ЭВМ. Но при обращении к центральной микро-ЭВМ, а точнее к устройству последовательного ввода/вывода, в отличии от обращения к магнитной ленте, перед именем файла необходимо указать имя устройства "TT:". Также, в команде OPEN можно указывать тип файла, если он отличен от DAT (нельзя указывать типы COD или BIN, так как они используются особенно). - 16 - У1.00031-01 34 02 Примеры: SAVE "TT:PROG1" <ВВОД> Ok Текст программы БЕЙСИКА будет записан в файл PROG1.ASC на диске центральной ЭВМ. CLOAD "TT:PROG2" <ВВОД> PROG2 .COD Ok Файл PROG2.COD с диска центральной ЭВМ будет передан в микро-ЭВМ "Электроника МС 0511" как программа БЕЙСИКА во внутреннем формате. 10 OPEN "TT:CTLG.DIR" FOR INPUT 20 IF EOF THEN 60 30 INPUT # A¤ 40 PRINT A¤ 50 GOTO 20 60 CLOSE Эта программа производит распечатку на экране микро-ЭВМ "Электроника МС 0511" текстового файла CTLG.DIR. П_Р_И_М_Е_Ч_А_Н_И_Е. Между OPEN и CLOSE канал связи будет занят, поэтому необходимо стараться, чтобы этот интервал был бы как можно короче. Полное описание формата команд и вызываемых ими действий можно найти в документе У1.00031-01 35 01 БЕЙСИК. Описание языка. - 17 - У1.00031-01 34 02 4. СООБЩЕНИЯ ОПЕРАТОРУ 4.1. Форматы сообщений БЕЙСИК осуществляет проверку операторов программы и вводимых данных и о каждой обнаруженной ошибке выводит соответствующее сообщение. сообщения об ошибках имеют следующий формат: <ОШИБ> в строке YYYYY, где <ОШИБ> - сокращенное название ошибки; YYYYY - номер строки, в которой обнаружена ошибка. В случае синтаксических ошибок в командной строке, а также в случае ошибок во время ее выполнения, номер строки не выводится. При выполнении оператора STOP или при нажатии клавиши <СТОП> выдается сообщение: Стоп в строке YYYYY, где YYYYY - номер строки, выполняющейся в это время. 4.2. Ошибки Коды ошибок и пояснения к ним приводятся в приложении. Ошибки можно разделить на синтаксические и возникающие во время выполнения программы или команды. При обнаружении хотя бы одной синтаксической ошибки программа на выполнение не запускается. Если возникает ошибочная ситуация во время выполнения программы, процесс выполнения прерывается и БЕЙСИК-система переводится в режим непосредственного выполнения. В последнем случае есть возможность продолжить выполнение программы при помощи команд CONT или GOTO. При обнаружении любой ошибки в строке непосредственного выполнения ее обработка также немедленно прекращается и система переводится в режим ожидания ввода следующей инструкции. - 18 - У1.00031-01 34 02 ПРИЛОЖЕНИЕ СООБЩЕНИЯ ОБ ОШИБКАХ В приложении указаны коды ошибок , их сокращенные названия и описания. 1 NEXT без FOR NEXT не предшествовал FOR или переменная, исполь- зованная в FOR, не соответствует переменной, использованной в NEXT. 2 Синтаксическая ошибка Неверное использование символов, например, число открывающих скобок не соответствует числу закрывающих, неправильная запись операторов или их составных частей, неправильно использована запятая и т.п. 3 RETURN без GOSUB При выполнении RETURN обнаружено, что не было выполнено GOSUB. 4 Кончились DATA При выполнении оператора READ обнаружено, что список оператора DATA исчерпан. 5 Неправильный вызов функции Ошибка возникает в следующих случаях: - отрицательный индекс; - неправильный аргумент для LOG, SQR; - неправильные значения аргументов для графичес- ких и других операторов; - неопределенная с DEFUSR функция USR и др. 6 Переполнение Результат арифметической операции слишком велик по абсолютному значению и не может быть записан в формате, принятом для чисел в БЕЙСИК- системе. ( В случае слишком малых величин результат приравнивается нулю и ошибки не выдается). 7 Переполнение памяти Программа не помещается в памяти, либо использовано слишком много вложенных операторов FOR, GOSUB, слишком много переменных, слишком - 19 - У1.00031-01 34 02 много затребовано памяти для массива или области строк, слишком мала свободная область для гене- рирования кода непосредственно выполняемых опе- раторов. 8 Неопределен номер строки В GOTO, GOSUB, IF, RESTORE, RENUM, AUTO, ON или DELETE использован номер несуществующей строки. 9 Недопустимый индекс (за пределами) Ссылка на элемент массива с индексом, который выходит за пределы размерности массива, либо указано неправильное число индексов. 10 Повторное определение массива Массив определен двумя операторами DIM, или массив определен оператором DIM после того, как по умолчанию для этого массива была установлена размерность 10. 11 Деление на нуль В выражении встретилось деление на нуль, или нуль был возведен в отрицательную степень. 12 Невозможно выполнить Недопустимый оператор в режиме непосредственного выполнения. 13 Ошибка типов Попытка присвоить символьной переменной числовое значение или наоборот; функции, использующей числовой аргумент, передается символьный аргу- мент или наоборот. 14 Не хватает места символьным переменным Превышено количество оставшейся памяти, которая была отведена символьным переменным по умолчанию или оператором CLEAR. 15 Слишком длинная строка Была попытка создать строку длиной более чем 255 символов. 16 Не определена 17 Продолжение невозможно Была сделана попытка продолжить выполнение программы, которая: - 20 - У1.00031-01 34 02 1. Была прервана из-за возникновения ошибки; 2. Была изменена; 3. Не существует. 18 Не определена функция пользователя Попытка обратиться к функции FN до ее определе- ния оператором DEFFN. 19 Ошибка устройства ввода/вывода Встречается при работе устройства ввода/вывода. 20 Не определена 21 Не определена 22 Не определена 23 Не определена 24 Отсутствует операнд Выражение содержит оператор без операнда, или в операторе (команде) нет обязательных параметров. 25 Переполнение буфера ввода Была сделана попытка ввести строку длиной более чем 255 символов. 26-51 Не определены 52 Ошибочный номер файла Оператор или команда ссылается на файл, который не открыт или открыт с другой целью (не для записи или чтения). 53 Не определена 54 Файл уже открыт Применен оператор OPEN для файла, который уже открыт. 55 Конец файла Попытка прочитать запись окончания файла оператор INPUT# был выполнен после того, как все данные из файла были введены, или применен - 21 - У1.00031-01 34 02 Для пустого файла. Чтобы избежать этой ошибки, для обнаружения окончания файла применяйте функ- цию EOF. 56 Ошибочное имя файла В операторах LOAD, SAVE или OPEN использовано неправильное имя файла (имя файла состоит из слишком большого количества символов). 57 Строка без номера Команда непосредственного выполнения в программе во время загрузки КОИ-7 файла. Загрузка прерыва- ется. 58 Не определена 59 Файл не открыт Оператор ввода/вывода применен к файлу, который не был открыт. 60 Не определена 61 Не определена 62 Ошибочное имя устройства Было использовано ошибочное имя устройства (в данной версии языка отсутствует). - 22 - У1.00031-01 34 02 ------------------------------------------------------------------ ! ЛИСТ РЕГИСТРАЦИИ ИЗМЕНЕНИЙ ! !------------------------------------------------------------------! ! ! НОМЕРА ЛИСТОВ (СТРАНИЦ) ! ВСЕГО ! !ВХОДЯЩИЙ ! ! ! ! !-------------------------! ЛИСТОВ ! N !N СОПРОВО!ПОДП!ДА! ! !ИЗМЕ !ЗАМЕ !НОВЫХ!АННУЛИ-!(СТРАНИЦ)!ДОКУМЕН-!ДИТЕЛЬНО-! !ТА! !ИЗМ! НЕН ! НЕН ! !РОВАН- !В ДОКУМ. ! ТА. !ГО ДОКУМ ! ! ! ! ! НЫХ ! НЫХ ! ! НЫХ ! ! ! И ДАТА ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--! ! ! ! ! ! ! ! ! ! ! ! !---!-----!-----!-----!-------!---------!--------!---------!----!--!