Текст
                    
КОМПЛЕКС ВЫЧИСЛИТЕЛЬНЫЙ «КОРВЕТ»
№
ИНТЕРПРЕТАТОР ЯЗЫКА БЕЙСИК
ПРОГРАММНОЕ ИЗДЕЛИЕ.ФОРМУЛЯР
ПТ ЗЭоО 162 ФО
ИНТЕРПРЕТАТОР ЯЗЫКА БЕЙСИК
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
ПТ 00552-01.90.01
КНИГА 6



I

о . 4* & 9 nn F€BV -з- 1 У/ >
-4- 1.1. Перед эксплуатацией необходимо внимательно;'ознакомиться с документом "Базовые программные средства ПК8020. Интерпретатор языка ___________________________________________ ________. >Э5Г°С); атмосферное давление от 86 до 107 кПа (630-800 мм рт. ст.) за эксплуатац ,я II'.

Обозначение ПТЗ.060.162 ПТ.00552-0л 90 01 ПТЗ. 06О; 162 ФО , 1 1 i , . . . . . ) - 4. компактность Наименование ’ • . ’ " -Л Базовые пр,овражные средства ПК8020. Интерпретатор языка Бейсик. Программное изделие, Базовые программные средства ГКВ020 Интерпретатор языка Бейсик Руководство пользователя : Базовые программные средства Ш®020*. Интерпретатор языка Бейсик. < : Программное изделие Формуляр Упаковка - > . X А. h > х мм* учетный номер Коли- чество г I
~7~ 5 М'Л’, in ПК8020• Системное программное обеспечение, Руководство ос^з^тор^ kHI 19 г. Факта вели- Заме- вость, под-. 19 г. вели— ность, год- 19 Факта вели- ность, под- пись) Подсчет контроль-
Проверяемая характеристика Наименование измерения ’ .. Дата проведения измерения Йактиче-1 Замерил |Фактиче- Замерил | Фактиче- подпись)| подпись) ^sss®s»swaiaie®aeeB®s§RK.’twrzr“ ~и Л-*-** иг'я - шлааз- 4 г. . I Подсчет контрольной суммы 1 1 J Т; С* П i ft 4 Л I ntfBtHf ♦ скан величина (долж- ность в ская величина а Замерил, (долж- ность, подпись) ъл-дачлимьяп! S 1
-9- 6. СВИДЕТЕШЬСВО О ПРИЕМКЕ 6.1. Базовые хфогратп^ средства ПК8О2О. Интерпретатор Бейсик. Программное изделие ПТЗ.060.162 заводской ноаер соответствует техническим условиям ГК3.060.3В2ЖУ
- Ж-^Т ;.-""1и1'1ГП~"'ж‘ '"Т |№ ***** Дата упаковки & /
II - срок экс та вйьж в экеаяуатацаю, но ав более 18 месяцев с дата постввив. срок хранения изделия устанавливается 18 8.2. 8.3. Гарантии сохраняются, если чател&м) в период гарантийного срока определяются в соответствие от 10.02.81 $ 161.
12 9. свдашн о ршшцинх 9.1. При обнаружении недостачи или несоответствия по качест- ву и комплектности программного изделия потребитель обязан в тече ни® 24 ч вызвать представителя предприятия-изготовителя для учас- тия э составлении двустороннего акта» 9.2. Предприятие-изготов^ель обязано обеспечить прибытие своего представителя ©иногороднего в течение 24 ч9 а иногороднего в трэхдневнкй срок после получения вызова, не считая времени, не- обходимого для проездас 9в3„ Акт-рекламацмя о серьезных недостатках, обнаруженных в программном изделии в пределах гарантийного срока, должен быть составлен в течение 5 дней после обнаружения нецостятковэ а при составлении длусторотзго акта к пятидневному сроку добавляется время, необходимое для прибытия представителя-изготовителя прог- раммного изделия. 9.4. Содержание рекламации и меры, принятые по рекламации, записываются в таблице учета предъявленных рекламаций»
LX
-и- ♦ и лее 4000 Л/м* Не допускается хранение изделий вблизи сильных электромагнитных Изделие должно храниться в конверте : в вер- HI Изделие должно быть защищено от воздействия солнечных луче*'
•Долкность от- ветственного лица -15-
12. сведения об изменениях tea чевммму» ______ Содержания! Порядковый изменения | номер из- менения Основание (вхо- дящий номер со- проводительного документа и да- та) Должность, фамилия и подпись ответст- веннотю лица за проведение измене- ния нения дата прозе пения изме- Подпись лица ответ ственного за эксп- луатацию програда- кого изделия " .4*1 ЛаМЗОДлПМИИК** л^Лт.-..ЛМИ1.,И I J J 1
-IT- 13. ОСОНЕ 'ОТМЕРЯЙ



->,Л. <Н V 6951
•“ 2 — 0T.00552-0I 90 01 АННОТАЦИЯ В ндотеяцем документе приведено описание языка Бейсик ксшяекеа вышслительного ЮРВШГ ШТ .320.167. Ваш Бейсик предназначен для решения широкого круга задач, ® том числе ттшатичаекюе, иженерных» игровых и других» в р«- >5® джяога человея-ызетт. Программы» написанные на языке Ве$~ ои, могут сохраняться на накопителях на гибких магнитных дис« как -ЖД) и на накопителе на кассетной жгжтной ленте (ВДЛ). Использование языка Вейсик дает возможность ©пастельно сскратеть ^фудоешгость я сроки разработки программ на МикроЭВМ. В настошее время язык Бейсик является -самым распростри- Hwo* явыжш окрвЗВй.
о

f' f-i a *>•
X.4.58. Команда LOAD X.4.58.1. Команда tOAJ) для НЛШ X .4.58.2, Команда LOAD для НКИА 1.4.59. функция LOC 1.4.60. Оператор LOCATE I.4.6I. Функция LOP 1.4.62. функция ДО- 1.4.63. функция LPOS • 1.4.64. Операторы LPRINT к LPRINT USING 1.4.65. Оператор LVT 1.4.66. Комзда МЖВ 1.4.67. Оператор и функция Ы1Р X 1.4.68. Оператор WTOE X .4.69. Комш^да NAME 1.4.70. КомедаО М
- 7 - ПТ.00552-01 90 01 I Л.Ш. Оператор PSET 1.4.96, Оператор PRESЕГ 1.4.87. Оператор RANDOMISE 1.4.88. Оператор READ I Л .89. Оператор REt-OC I.4.9Q . Оператор IЛ .91. Команда EEiVUM 1,4.92. Операто р RESTORE 1.4.93. Оператор RESUME I Л. 94. Оператор RETURN 1.4.95. BIGHT X 1.4.96. Функция ЕЮ 1.4.97» Команда RVN 1.4.98. Команда SAVE 1.4.98.1. Команда $А№ для НГЦД 1.4.98.2. Команда SAVE для НКМЛ 1.4.99. О ператор SCREEN X.4.100. Функция $&№ 1.4.101. Функция SIN 1,4.102. Оператор ЯХТ ND 1.4. ЮЗ. Функция SPACE К 1.4.104. функция SPC 1.4.105. Команда SPEED 1Л.лО5. Секция . SQR. I.4.107. Функция STICK 1.4.108. С ператор STOP 1Л. 109. фикция STR М 1.4.НО. Фуихшш STRIC 1.4.Ш. 100 101 101 102 ХОЗ 104 106 106 106 ж 107 Х08 109 109 НО ? г т II4 115 115 115 П6 XI7 1X8 118 XI9

9 Ж0Ж2-01 90 Ш 2А. Отладка прогреааа: 136 2 А . I. Вы£;рд еосйй?ания об ошибках . 138 2 .4.2. Средства отладки программ 139 2.5. Встроенный редактор 142 2.5.1. Камвады нерас^лкз. курсора 143 2.5.2. Команды ввода текста 143 2.5.3. Комаеды стирания текста 144 2.5,4. Комщ<пы нахождйьнл текста 144 2.5.5. Вэмведы замены текста 145 2«5.6. Команды конца и возоРкояляния режима редактирования J.45 2.5.7. Переход в режим редактирования 145 о «8« Иснолвзсвание доля ^до пил нителклавиш [ для ввода кэмаед редактирование 146 2.5.9. Методика переписи программ с КУВТ ЯМАХА на ЮТ ЮРВЕТ . 147 3. Основы программирования на яз!.ке Бейсик 148 3.1. Ввод данных в программу 148 3.2. Встроенные фушеди ' 160 3.2.1. Математические функции 160 3.2.2. Перевод переменных одного типа в другой 164 3.3. Операторы цикла 165 3.4с Условный оператор и оператор безусловного перехода 168 3.5. Работа со строковыми данными 171 3.6. Вывод на экран и печатающее устройство 3.7. Работа е подпрограммами, написанными на языке Бейсик '• S0 3.8. Файлы- данных
ПТ.С0552--01 90 01 3.9. Работа с графическим операторами 3.10. Работа со звуковыми операторами 3.II. Сообщения Приложение I. Коды КОИ-8 Приложение 2. Программа PEMCN Приложение 3. Демонстрационная программа ДШ АТА. В АД Приложение 4. Демонстрационная программа TEST. BAS Приложение 5. Программа Ь'Д Приложение 6. Программа ЕЕКДА1 188 191 201 207 ggT 224
111.00552-01 90 01 I. ОСЮВЖЕ ДАИШЕ ЯЗЫКА 1.1. Обвдас звдач4 себе простоту и легкость для изучения и програм- мирозаиия, терпретируются и результаты выводятся на экран дисплея или печати ащеэ устройство. В языке Бейсик есть сервисные средства, облегчающие ввод и Основными достоинствами языка Бейсик являются следующие: - простота изучения языка и отладки программ; - диалоговый характер Еейсйк-систеа®?, что позволяет прово- дить все операции во разработке, отладке и выполнению программы за клавиатурой дисплея; машин и применений; - шрота распространения языка Бейсик, что обеспечивает пе- реносимость разработанных программ. Применение языка Бейсик облегчает разработку программного обеспечения для пользователя, не имеющего опыта программирования. I.I.2. В тексте этого документа используются следующие обоз- указывает на альтернативу;
1.2. Элемента языка I.2.I. Основные конструкции язька Программа на языке Бейсик записывается в виде пос ледова- Программные строки имеют следующий формат: П П П пг) оператор f: оператор. . J <возврат, каретки/ где ппппп - номер строки (от одной до пяти цифр) O...655 § Таким образом строка начинается с номера, заканчивается возвратом каретки и может содержать один или несколько операто- ров. сообщает интерпретатору, что делать при. выполнении программы (на- пример, GOTO, PRI$T). • I - Неисполнительный оператор - оператор, который не вызывает никаких программных действий, например, REM, DATA. ’В одной строке может быта несколько операторов, они должны разделяться двоеточием (:), и общее число символов в строке не В командах LIST, AUТО, I-ЕЬЕТЕ и EDIT может быть использо- вана точка для обращения к текущей строке. Программа на языке Бейсик записывается с использованием сле- дующих символов: - прописные и строчные буквы латинского алфавита от А до И и буквы русского алфавита от А до Я; - арабские цифра от 0 до 9; - специальные символы + -хж /л О ! # % X : * Р П£7 с > ; . ’ * * ‘ *
13 ПТ.С05&2-01 90 01 - символы пропусков: пробел, горизонтальная табуляция, рат каретки, перевод строка. Синтаксическими элементами программы являются: - имена переменных; - ключевые (резервирование) слова; - константы; - ограничители (простые и составные). Имена переменных могут содержать любое количество символов, распознавание происходит по первым двум символам, причем пер- из них должен быть латинской буквой, а другие- латинскими вами или цифрами. Специальный символ, идентифицирувщий тип еменной, должен быть последним символом в имени. 30 PRLMT АВС ; ABD RM ОК еменной. Имя переменней определяет тип переменной (стрпновая ли числовая, определенной точности). Специальный символ, идея ифицирующий тип переменной, -указан в табл. I. Символ Тиц переменной ; I .... |rwi„ , , , -„ „ Строковая
14 Й—ШШЦ. 1'Т^>Л Символ Тип пег-^енной ШЙ»мЯМайМКМ4>ьтММММйМ| . !ности ! Вещественная двойной точ- ! jНОСТИ А ьсли имя переменной не содержит специального символа U то п. кроме знаков К %! и # циальных символов не или равно), 7 • (больше или раьно). Из имен переменных, констант к знаков операций образует- ся более сложные элемента языка - :ения, используемые для выполнения необходимых вычислений. Знаки операций обозная < ся либо ограничителями, либо с помощь» специальных юючевых слов, например AND, 1НТ9 МОР и т.д.
иг» one1 "СТРОКА торах осуще встаит языка» МТ) В га
Константы - действительные значения, не изменяемые во вре- мя выполнения программы. Сугистцует два типа констант: числом и строковые (символьные), Строковые константы - последовательность до 255 символов, заключенная в кавычки. Например: "ОТЖ СТРОКА 1,4.5 fXATj”. Числовые константы могут быть целыми и вещественным!, т.е. иметь дробную часть. Целое число * число в диапазоне от минус 32768 до 3273 ' включительно. Целая числовая константа может быть записана в де античной,шестнадцатиричной, восьмеричной или двоичной формах представления. Шестнадцатиричная хжсловая константа состоит Lie более чем из четырех шестнадцатиричных цифр (цифры от 0 до 9 и буквы от А до Р включительно), которым предшествует префикс <Н, например .JJ-H9A, Восьмеричная числовая константа состоит не более чем шести восьмеричных цифр (Цифры от О до 7 включительно), которш предшествует префикс ^0, например -^01235. Двоичная числовая константа. состоит не белее чем из шестнадцати двоичных цифр (цифры 0 или I), которым предшествует префикс <*В, например дано. Вещественная константа в записи с фиксированной точкой имеет вид: {целая часть? . {дробная часть? (j/#? Например: .55,1234.56? Константа букет представлена с одинарной точностью, если
- 17 - m\00552~GI 90 01 e s-апись e фиксированной точкой содержи* не более семи цифр или канчиваетея специальным символам ?. Константа Судет представлена двойной точностью, если ее запись с фиксированной точкой со- Конетанта одинарной точности в записи с плавающей точкой Е /f+AJ порядок] 3&-I2, -34.56E-I0 Простая числовая переменная обозначается буквой, за кото- Иодексированные числовые переменив© состоят из одной букж, ва которой следуют арифметические выражения, заключенные в круг- же скобки Строковая переменная идентифицируется именем, которое сос- тоит из буквы, за которой может следовать <^гк^ или цифр®. В конце даени стржсвой перевеошй обязательно должен находиться
специальный символ у: Пример: А - простая числовая переменная В(3) - индексированная переменная 5$ - строковая переменная Особенность® работы со строковыми переменными является то, что размер строкового пространства при загрузке Бейсика по умол- чанию определен в 100 байт. При работе с длинными строковыми пе- ременными необходимо в начале программы выполнить команду CLEAR. Пример: CLEAR,1000 (размер строкового пространства установлен.1000 байт) 1.2.3. Определение и преобразование типов данных Тип констант и переменных указывается одним из двух спосо- бов: способ. помощью специального символа, который стоит после констан* последним в имени переменной, если это символ<, %, ! или « целое число # - вещественное число двойной точности ^- строка \ 2 способ. " Явное указание ( с гюмощь® специальных символов !., X» имеет больший приоритет» чем определение с помощь® операторов
ная одинарной точности. Имеют место следующие правила преобразования типов: . - числовое значение, ирисваемое переменной, преобразуется к тиру этой переменной. Присваивание числовой переменно? строкового значения или строковой переменной числового значения не допускается; - при вычислении арифметических выражений все операнды преобразуются к типу операнда, имеющего наибольшую точность; -» преобразование из представления с большей точностью выпол- няется с округлением. Например: ..W 2.04 2.03999996Id53027 - Переменная А - вещественная, одинарной точное Переменная В - вещественная, двойной точности 8 д&мъжкг Рдеслыг^ы. Одмагжм фм (е**-\ cpcpMi rcvwatrK ^ccju $5) -X
ч 1.2.4* В|факез»ш, типы опетШйй Выражения представляют собой компактную запись., указываю- щую, какие операции надо производить над дате®, чтобы получить трИуейюе значение. Порядок вычисления выражения определяется приоритетом-тльзушш операций. В языке Бейсин выражение состоит из операндов, соединенных знаком логи- ческих операций иля операций отношения и круглыми скобками. One- рандами выражений являются любые переменные, числовые и отроков константы. Также з выражении могут присутствовать встроешше функций. о
- жтрзескзе одержат; Операции приведены в порядке убывания приоритета. Операция целочисленного деления обозначается символом \ . округляется до целых чисел, которые должны лежать в диапазоне от минус 32766 до 32767. Частное от деления скопляется до цзлого отбрасыванием дробной части. Если значение операнда лежит вне указанного диапазона, то выдается ссобд«5ше об ошибка.
Операция арифметического модуля обоз тачается ЮР. Она вы» числяет целое значение, которое является остатком от целочислен ного деления. Например: 13.4 МОР 3,8 » I, т.е. 13\4»3 с остатком I. 6.99 « 5, т.е. 26\7 *3 с остатком 5. 5ии отношения ' \ 1.2.4.2. Опер Операции отташения указаны в табл.З Равенства ~-Г . Неравенство Х< ?У > Х<У . Больше Меньше или больше или равно равно Операции отношения прив^ета в порядке приоритета. , Результат ерайнешш ИСТТгША. (не но^) или ЛОйЬ (ноль). Логические операции выполняется над числовыми церемеиными ютантами. Раджчшт следующие логические операции: т • ш .« логическое отрицание; --коныон^щя;.. ?: -•': \. XOR< - ' исклюй ее или $
W - ©хвивалектность; О .0. О О О « I О сяк преобразовывает операцны в шестнадцатибатовые, знаковые це- ,. ' ' . ’ • й строка Вели после такой‘операции значение отрока неравно нулю, ^уль^т - waoTBHawi В противном случае - результат *лоаь г 3 ’...результата, зависят от значения соответствующих
24 552-01 90 01 битов операндов. Анализ результиру Ж ей строки битов после вышлнешя логичес- кой операции &ожет производиться двумя способами: - анализ всей строки на.значении ноль - не ноль ("истина” - *лоаь ";; ~ побитный анализ. Первый способ был рассмотрен вше. способ применяется для проверки машинных слов, д-1я выявления набора битов. В отличии от первого способа аистиной" считается значение двоичного разряда, равное I. Если зшченме соответствугщего бита равно 0» то она считается "ложею". Этет способ применяется для получения нужного сс«стояжя машинного слова 16 Рассмогшм порядок выполнения этой логической 4а •» Десятичное число 63 представляется дшзвшм «шелом 0011X1x1. Десятичное число 16 представляется двоичным числом 00010000. Производится оне&едия А (си.ше») оошш А 00010000 Результат соответствует десятично^ числу Х6« Целью етой логической аперацж бнло вселение того бита, в котором икается совпадение знавшей Иистишст з абзж операции Эта sm- заваетда "маскирований.

и В х -"9/IC/86" гве В X ="а/10/85” Вее строковые константы, используемые в выражениях, должны быть заключена» в кавыч 1.3. Система команд Программа, написанная на языке Бейсик, состоит из инструк- ций, которые сообщают интерпретатору, что делать, и дает информг- га.? необходимую для этого Инструкции делятся на три категории: I.3.I. Команды Команды выполняется сразу после введения. Большинство ко-• манд может быть использовано в программных строках. 1.3.1Л. Номандн общего назначения ТАБЛИЦА 4 ада сом COWT EDIT
;т .00552-01 ©О 01 Обозначение ! е R1 «& ёкран дисплея строки I ройетве строки загруженной в па- ; НЕН Обозначение ! KILL {Стирает файл с диска Нет LOAF Нет
Продолжение га аг й б ш .a -<¥Т:..Х1гГгС1± гг 1 2 тг^ jw iAti------------- -----------------------------------ж _______._ ______ _
i 1.3.2. Оператора Операторы ваполн^хтс-т в течение работы программам ркторы могут быть исоолнительнша и неиспслните£ьны1а?. Боль- ierso операторов жэдзв использовать в прямом режете Операторы общего пвэыамшвя представлена в т&блЛ., Т А Б Л И 1Ц Л Г
Продолжение табл.7 I3t! GOTO LOCATE Вылолняемое дейст вне {Наличие в РИУ {Определяет переменную двойной !точности {Определяет строковую переменную {Определяет начальный адрес про- » г*сть £<СТЬ {Резервирует память для массивов | Осуществляет переход на первую !

о 1.3«2в2в Операторы ввода (^аожа) файлов Операторы ввода (вывода) дзя файлов даншх д^я ЯГУД пред- став лены в табл*8е ТАБЛИЦА 3
ПТ.00552-0I 90 01 I.3.2.4. Графические операторы Графические операторы представлены в табл.10. ТАБЛИЦА I.3.2.5. Операторы звука Операторы звука указаны в табл.II. ТАБЛИЦА II * Обозначение < Выполняемоесействие '• 1*1»в । мм«авч*мшммввывм>*мшш5*а«4а«^йт*мцм«мм*ммк ? ВЕЕР | Воспроизводит короткий звуковой t
ПТ.00552-01 90 01 Продолжение табл.II Обозначение ^>»лВШ«ЭД •* IW »'.!>I||I*'»UW,’|IWW » rn«|^ I rtlnlBI! iur«wd»M>ir»lf «*—I ; Выполняемое действие • !Наличие в Рв£г ^1 -г _ _—I |.гэ_ • _.: 11.1 -Hilf 11 - — ~«Tj. it ~. • 'ill -*-’j ~ ^*wnr 1Д TWW К* ar,V'i4l.—' "-"r—n ПЖЯ^ГТ—•*—-.'*‘-1?'*— I—» т I мм м» _ f 1 | Воспроизводит музыкальную фразу j Нет 1 Воспроизводит звук, шум ? 4 ? * 1.3.3. Функции Функции. - встроенные программу, которые возвращают значе- ние, вычисленное при заданном аргументе. Они могут быть использо- ваны для формирования выражений командами или операторами. 1.3.3,1. Математические -фикции Математические функции представлены ь табл.1^. ТАБЛИЦА 12 IIW1TI —I -~-unrjniiiiin ,.п—тид.ит^'лчм»—«w—ч**—rtl—lini Г- чггТт1Т1ИГ--1Г. i— — Обозначение ! Результат ’ Наличие в РМУ АБ5 ATN СЛВЬ СМ СОЗ1 GSNG FIX Ш !Абсолютное значение числа ГАрктангене числв ! vПеревод числа в двойную точность (Перевод числа з целое округлением ГКосинус угла i Перевод Чхела з одинарэ^ую точность ‘Экспонента числа Ь/сечение числа до целого ‘Самое большое целое число меньше 'или равное з^данно.^ i * f i ♦ т А * ! « f < I V » 1 ? 4 I ж Есть Есть Есть Есть Есть Есть Есть Есть Есть ^Применяются при наличии синтезатора звука и расширенной версии интерпретатора языка Бейсик.
ПТ.00552-01 90 01 Продолжение табл.12 i:эзначение ? Результат С 'Натуральный логарийм числа I RHD {Случайное число рнак числа £2.“. • Синус угла НЕ^ *| Квадратный корень числа « TAN • Тангенс угла ! ! Наличие в РШГ j Есть * • Есть ! ! Есть ! ! Есть ! i Есть ? ! Есть Т.3.3.2, Строковые функции Строковые функции представлены в табл.13. ТАБЛИЦА 13 I______ Результат__________________! Налиме в Р1АУ {Код НОИ-8 первоI’o символа строки. | Есть !Строковое двоичное представление } Iчисла t Есть {Символ с кодом ЮИ-8 i Есть j_ ! • {Строковое .шестнадцатеричное пред- 1 i ставление числа ; Есть ! !Символ ? считанный с клавиатуры ; Есть !_ j !Позиция подстроки в строке, начиная; I i _ !с заданной позиции 1 Есть !а !Самые левые символы заданной строки! Есть ! Длина заданной строки ; Есть !Определенная часть заданной строки ; Есть ?Строкевое восьмеричное представле- : t ! р |ние числа | Ес?ь. !Самые правые символы заданной стро-i . •..*! Есть
HT.0G552-0I 90 01 Продолжение табл.13 Обозначение ?• Результат __________ .. 'I^irir „ * ---- — — - г - — - -*п,- I — «ы—а—шм 5РАСЕ х f Строка пробелов * 5TR X ^Строковое представление числа 5TRI/VG X Символ, повторенный определенное |число раз I VAL iЧисловое значение строки V 1.3.3.3 . Функция общего назначения ! Налиме в РМУ ! ; деть i > _ ; Деть » t л ! > 9 r~t -ЬСТЪ « с f Есть табл. 14. t ТАБЛИЦА 14 wlwcjhh' .<m «л in bi ни aw»—> । । ;ш »«i m и Пи- w м * »!> rit« Обозначение ! Р^ультат ! Наличие в Р££Г *Ч* WI. I II № tfrw -гтгт^Г-[-—ff— г—п-т- - --J _—f—W-ШТГ—ШТОГТ тЖг-> Ilf Т~ 1—I—-|~»|~>|>М<Ю»»ИМ» U — - J |ГВм Г1 Ги~К|--- —1 - ГТ т — *ГЩ IJlWlTlJ- .Itir-1Щ ьЖ 1 -т у Ьозицая каретки печатающего уот~ t I ройства ; Содерййшое байта памяти | Горизонтальная позиция текстового я ’ курсора тт j Последовательность пробелов ’ ГН ; хабуляция в згуханщт позиций
I.3.3.4 » Графические функции Графические функции представлены в табл. 15. I ТАБЛИЦАМ Обозначение ! Результат!Наличие в РМУ POINT ' Цвет определенней точки на окра- ; Специальные функции представлены в табл.16. ТАБЛИЦА 16 Обозначение ! «ммЬрда li I Hl 30F- 3 » I ? । < пет Число записей в файле INPUT X. э I 1 с • V 1 I *, г 1 STICK* d,указы 9 I т I V стике
ПТ.00552-01 90 01 1.4. Описание инструкций языка Бейсик I.4.I. Функция АВ$ Возвращает абсолютное значение числа X. Абсолютное значение всегда положительно или равно нулю. Например: PRINT АВ5(7«(-5)) Ок 1.4.2. Функция ASC У=А£С(ХЮ Возвращает код КОИ-8 первого символа строки X.#. Результат функции - числовое значение. Если строка XXпустая, то выдается сообщение об ошибке Р Например: 10 XX="TEST" 20 РВТЛ/Т А5С(Х ) RVA/ 84 Ок 1.4.3. Функция АТА У=АТ/1/(Х) Возвращает арктангенс значения X. Результат функции возв- ращается в радианах в диапазоне от минус PI/2 до PI/2, где г1=3.14159Выражение X может быть задано в любом числовом фор- мате, но вычисления функции АТА всегда выполняются с одинарной точностью. Для перевода радиан в градусы результат вычисления умножается на I80/PI.
ПТ.00552-01 90 01 10 №t/T X 20 PRINT ATV(X) RVN ?3 I.24905 Ok 10 PI=3.I4I593 20 RADIANS =ATN (I) 30 ЖЕШ^АТШб sISO/PI 40 PRINT RA JUANS, Ж2Ш ZVN .785398 Ok 1.4.4. Команда AVTO AUTO [номер! С,шаг] "2e номер -номер, который будет использован как начальный при нумерации строк; шаг -значение, которое будет прибавляться к каждому но- меру строки для получения следующего номера строки. Автоматически генерирует номер строки после каждого нажатая •лавиши возврата каретки. Команда AUTO обычно используется при zведении программ. Нумерация начинается с НОМЕРА, для получения следующего номера строки к предыдущему номеру будет добавляться таг. Если оба параметра опущены, то по умолчанию принимается AUTO И, 10. Если за НОМЕРОМ следует запятая, а шаг не определен, то -ринимается шаг, определенный в предыдущей команде AUTO. Если ШЕР опущен, а шаг определен, то нумерация начинается с 0.Точна
ПТ.00552-01 90 01 ’ { . ) может быть использована на месте ЮЕРА строки, чтобы ука- зать текущую строку - Если А-ЛХ- генерирует номер строки, который уже существует в программе, то после сгенерированного номера по- явится чюбы предупредить о том, что любая введенная строка туда" замещать уже существующую строку. /й/Т-"* останавливается на- жатием клавиши СТОП. Строка, в которой нажимается клавиша СТОП, не сохраняется. После нажатия клавиши CTCI1 интерпретатор возвра- ща?: управление на уровень команд. например: AVTC команда генерирует номера строк: 10 , 20 , 30 , 40 AUTO 100, 50 эта комацпа генерирует номера строк:100, 150, 200, 250 ...; AUTO 500, 50 эта комацца генерирует номера строк: 500, 550, 600, 650 ...; AUTO, 20 э а команда генерирует номера строк: 0, 20, 40, 60 ... 1.4.5. Оператор ВЕЕР ВЕЕР Заставляет звучать динамик на частоте 300 Гц в течение ../4 с. Операторы ВЕЕР и PRINT СНВ#(7) имеют одинаковый эффект. Например: 10 КЕМ если X вне диапазона 20 IF X ^20 THEN ВЕЕР 1.4.6. Функция BIN VC У^=В1МХ(п) Возвращает строкуs которая представляет собой двоичное значение десятичного аргумента. Значение аргумента может изме-
- 41 - ПТ. 00552-01 90 01 няться от минус 32768 eg 65535. Если n - отрицательное число,то справедливо равенство: BIN К (-/7) = BIN #(65535 -л) Аргумент/? не должен был- строковым или в ествешым числом иначе будет выдаваться сообщение СШИБОЧШй ТИП. Если значение аргумента лежит вне диапазона, то ведается сообщение об ошибке ПЕРЕПОЛНЕНИЕ. хйягоимер: 10 PRINT В1Л # (-255) 20 FEW ВЭД К(9999) E4TN 1ШШ100000001 ' 100Ш00001Ш 1.4.7. Функция ОШ, адвп а). Переводит X а вещественное число двойной точности. 10 А®454.67 20 РЕМ A,C1BL (А) EW 454.67 454.6700I34277S44 1.4.0. функция С Ж X У^СНЕХ(я) ' Л- числовое значение в диапазоне 0...255. 9 Переводит код КОИ-8 в его символьный эквивалент. Функция СЖ X возвращает стро^ из одного символа с кодом КОК-8 п . С Ж, К. используется для получеиия.специального символа на экране или
ПТ.00552-01 90 01 на печатающем устройстве. Если п больше 255, то выдается сооб- ta РВОТ СНВ X (65); СЙВХ(32); СНВХ(70) А Р Ок 1.4.9. Функция СОТ У-СОТ (X) Переводит выражение X в целое число округлением дробной час- ти. Если X не лежит в диапазоне от минус 32768 до 32767, то появ- ляется сообщение об ошибке ПЕРЕПОЛНЕНИЕ. РЕЮТ СОТ(45.67) 46 Ок РВОТ СОТ(-2.89) Ок . • • 1.4.10. Оператор CIECLE CIECLE fSTEPJ (Х,У), радиус Г,f цвет f,f начало7 , — г ЙТР вконец [9 аспект]| где Х,У - координаты центра эллипса; радиус - числовое выражение, определяющее радиус эллипса; цвет - значение цвета в диапазоне от 0 до 7; t начало, конец - угловые параметры дуги, заданные в радианах; аспект - числовое выражение.
ПТ.00552-01 90 01 Рисует эллипс» дугу или сектор на экране дисплея с центром (Х,У) и заданным радиусом. Координаты центра могут быть заданы в абсолютной или отно- сительной форме. Точки, заданные вне экрана, не рисуются. Если цвет '.тсутствует, то используется цвет переднего фона, заданный оператором COLOR. Аспект - это отношение длины отрезка, заданного на оси X в эллипсе, к длине отрезка, заданного на оси У. L растровом дисплее стандартное отношение горизонтальных и вертикальных точек равно 3/2, т.е. 3 горизонтальные точки равны 2 вертикальным. Поэтому для получения окружности необходимо за- дать аспект, равный 3/2. По умолчанию аспект равен I. Если аспект иеныпе I, то заданный радиус является У-радиусом .(эллипсвытяну- тый по оси У) .Если аспект больше I, то заданный радиус является Х-радиусом эллипса (эллипс, вытянутый по оси X). Начало и конец задаются в диапазоне от 0 до 2^1, где Р1=3.141593. Они позволяют определить начало и.конец дуги эллип- са. Если перед началом или концом указан минус, то рисуется пря- мая, соединяющая центр с началом или концом дуги. По умолчанию начало равно нулю, а конец - 2мР1. Например: 5Р1=З.Ш593 10 CIBCLF (250,100), 100,3, -1.4^1, -1.6^1,1.0 где выражение - счетчик байтов, который устанавливает размер стро- кового пространства. Устанавливает все числовые переменные в ноль и очищает стро- ковые переменные, устанавливает размер строкового пространства.
ПТ.Ж62-01 90 01 CLEAR освобождает вс® память, используемую для данных, не стирая текущей программы. После CLEAR массивы не определена,чис- ловые переменные принимает нулевые значения, строковые первмен- определенная операторам CLEAR, теряется. Например: CLEAR CLEAR 2000 IЛ ,12. Оператор CLOSE CLOSE {.номер файла • I , номер файла7 •.. ] где номер файла - номер файла, используемый в операторе OP&V. Завершает ввод-вывод в файл. Оператор CLOSE без операндов и его номером. Этот ge файл. может быть открыт опять с тем же иля другим номером файла. Этот же номер гложет быть исполъзовящ заново, чтобы открыть любое устройство или файл. Оператор ЕЩ ройстяа.. tt • закрывает файлы и устройства под номерами I, 200 CLOSE закрывает все открыта® файлы и устройства CLS
Т.00552-01 90 01 Очищает алфавитно-цифровое запоминающее устройство (АНЗУ) в цвет заднего фона. Стирает текстовую информацию. Оператор QLS возвращает текс- товый курсор в верхнюю левую позицию (подраздел I. I). 1.4.14. Оператор COLOR COLOR ^передний фон) задний фон} где передний фон - значение целочисленного выражения в диапазоне w а •» « i задний фон - значение целочисленного выражения в диапазо- 0...7. Устанавливает цвета, используемые в графических операторах. Гарздний фон - цвет, используемый операторами в качестве неяв- ного параметра при выводе графических соображений на экран дисп- лея. Задний фон - цвет, используемш! в качестве неявного парамет- ра в операторах PCL5 , РЕЕ5ЕТ для стирался изображения или точки с экрана дисплея. Если значения параметров выходят за пределы определенных диапазонов, то печатается сообщение HScEFEH ВЫЗОВ ФУНКЦИИ. Задаваемые оператором COLOR цвета переднего и заднего фона с помощью таблицы LVT преобразуются в физические цвета. Например: 10 COLOR 7,0 При начальной инициализации устанавливаются следующие цзе- Т.П • О - черный; I - синий; 2 - за^еный; 3 - гояубой; 4 - красный; Ь — фиолетовый, 4# красный;
ПТ.00552-01 90 01 6 - коричневый; 7 - белый. 1 .4.15. Комацпа СОМ СОМ "текст" Устанавливает признак заполнения почтового j «ка локально а г сети и заносит содержимое, находящееся внутри кавычек, в почто- вый ящик. Максимальное количество символов текста, заключенного в кавычках, равно 240. Если не указана какая-либо пара кавычек .или превышено число символов текста, то выдается сообщение ОШИБ- КА СИНТАКСИСА. Команде СОМ используется только в РМУ. Например: СОМ "Иванов задание выполнил" 1 .4.16. Команда CONT СОЛТ Продолжает выполнение программы после прерывания (нажатие клавиши СТОП). Команда СОЛТ может быть использована для возоб- ле выполнения оператора ^‘ГОР. Выполнение продолжается с той точ- ки, где осуществилось прерывание. Если прерывание встречается после напоминания в операторе ХЛНГГ, то выполнение продолжается с перепечатки напоминания. Команда СОЛТ обычно используется сов- местно с оператором STOP для устранения ошибок. Когда выполне- ние останавливается, можно проверить и изменить значения пере- менных, используя операторы в прямом режиме. Затем м то исполь- зовать СОЛТ для продолжения выполнения или можно использовать прямой режим СОТО, который восстанавливает выполнение с опреде- ленного номера строки. Если программа редактируется во время прерывания, то команда СОТ не правомочна. В сгедующеы примере создается длинный цикл;
ПТ.00552-01 90 CI 10 W A=I TO 50 20 PRINT A; 30 A/ECT A RW I 2 3 4 5 6 7 3 9 10 II 12 13 14 15 16 17 18 19 2C 21 22 I 23 24 25 26 27 28 29 < нажатие клавиши СТОП ? СТОП В 20 Ок CONT [ 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 Ок | 1.4.17. Функция COS У=С05 (X) Возвращает зк^чеше косинуса угла X. | X должен быть задан в радианам. Чтобы перевести градусы в радиан.»!, результат вычисления надо умножить на PI/I80, где г-3.141593. Вычисление косинуса выполняется с одинарной точностью. .10 X = 2ййС0§(.4) 2П РЕШТ X 1.84212 Ок 10 Р1=»3.141593 20 PRINT COS (PI) 30 D0GSEES-I8O 40 ROWS ^Ш^SfШДao 50 PRINT CQS(RAPIMS)
ПТ .00552-01 90 01 1.4.18, функция CMC У=СЖ(Х) Переводит выражение X в вещественное число одинарной точ- ности. Подобна функциям CINT и CDBL для перевода чисел в целое к двойной точности. Например: 10 A# «975.34221222 20 Р№Т A# ;CS^G(A#) RVtf 975.3421222 975.342 Ок I.4.I9. Переменная CSRbl/V У«С5БШ Возвращает значение текущей вертикальной координаты текс- тового курсора. Возвращаемое значение лежит в диапазоне от I до 16. Например: 100 IP С5ВШ > 10 W GOTO 300 1.4.20. Оператор DATA . DATA скдак констант Запоминает числовые и строковые константы, которые будут считаны оператором BEAD. Константы разделяются запятыми (,). Оператор DATA неисполняемый оператор и может быть расположен в любом месте программы. Оператор DATA может содержать столько констант, сколько их поместится на строке экрана дисплея. В про- грамме может быть использовано любое количество операторов DATA. Данные, которые содержатся в операторах DATA, могут считываться как один продолжающийся список данных, невзирая на количество элементов в строке и на место, где расположены строки. Оператор:

-50- ПТ.00552-01 90 01 точностью, описанной именем, перед возвратом в вызывающий опера- тор. Оператор DEF ГМ должен быть выполнен для определения фун- кции перед ее вызовом,иначе появится сообщение б ошибке КЕТ оп- ределения FN. Функция может быть определена более одного раза. Действительным является самое последнее определение. Можно иметь рекурсивные функции, т.е. функции, которые вызывают сами себя.Од- нако, если не обеспечивается способ остановки рекурсии, появляется сообщение об ошибке НЕТ ПАМЯТИ. Нельзя использовать оператор DEF FN в прямом режиме, Например: 10 PI =3.141593 20 ГЕР F^AREA (R)=PIsRA2 ' 30 INPC/T "РАДО'С*; НАШ05 40 FRIMT "ПЛОЩАДЬ КРУГА”; FVAREAf RШО' ) радиус ?2 ПЛОЩАДЬ' КРУГА 12.5664 Ок которая вычисляет Строка 20 определяет функцию FN АЕЕА, пл в строке 40. •г Пример функции с двумя аргументами: 10 ЗЖР PWMKD (Х,У)^Х-(1МТ(ХДЫ) 20 A=FN ЖЛХ7.4,4) 30 PBIWT А BVN 3.4 Ок 1.4.22. Операторы- Г, буква] ГЕР тип буква £-буква] и ГЕЮТ- Г-буква7 где тип - INT или JWG или ТВЬ, или STR. Описывает типы переменных: цел-эчисле:1ная. одинарной точности.
- 51 - ПТ.00552-01 90 01 двойной точности, строковая переменная. Оператор БЕРтип опре- деляет, что переменные, имена которых начинаются с заданных букв, -,-nvT пеоех!енными -того типа. По умолчанию все переменные без сим- Колов списания тите являются переменными одинарной точности. Опе- раторы описания типа, если они используются, должны быть заданы к начале ппограммы пепел использованием какой-либо переменной,опи- * * » санной в операторе БЕРтип. Например: X SEFINT X, Ь-Н : БЕРЖ L-F : ХЕРЖ к : 0 = 1#/3 40 PRLV? 0 50 AhlMAb К = "CAT" : PRM ANIMAL X: Х=Ю/3 : PRWT X RVN .3333333333333333 CAT 3 Ок 1.4.23. Оператор БЕР t3E БЕР ГЗЙ, /.цифра} « адрес где цифра - любая цифра 0...9; адрес - целочисленное выражение в диапазоне 0...65535. Определяет начальный адрес программы на машинном языке,ко- торая позднее вызывается функцией 1/6 R. Цифра соответствует но- меру программы Ъг5к, чей адрес определяется. Если цифра опущена, по умолчанию принимается Ю l^R 0. Значение адреса может за- даваться в десятичном и шестнадцатеричном формате и является действительным начальным адресом подпрограммы KSR. Для пере- определения начального адреса подпрограммы в программе может появляться любое число операторов БЕР ГУН, так как разрешает- ся доступ к подпрограммам столько раз, сколько шобходимо.
ПТ.00552-01 9) 01 <S 500 X = W (Хч-2) 1.4.24. Команда ЖЕТЕ ШЬЕТЕ [.номер строки? [- номер строки] Стирает программные строки. Команда ЕЕиЕТЕ убирает опредо- > ленную область строк из программы. После выполнения команды LELETE интерпретатор возвращается на уровень команд. Точка (.) мо®ет быть использована на месте номера строки для указания текущей строки. дели одна из двух строи s программе не существует, то появляется сообщение об ошибке таоь ©УЩЕМИ. Например: жиж о > стереть строку О; Ж1ЕТЕ 40-100 стереть все строки с 4G по 100 взшттельш; стереть все строки с начала прог- раимы дс 40 значительно DIM переменная (индексы) Г9 переменная (индексы) ...7 Определяет максимальное значеше .для и^щексов переменных ’ ь массива и соответственно резервирует память. Оператор DIM уста- навливает все элементы заданного числового массива в начальное 4 значение, равное куля, а все элементы заданного строкового мас- сива становятся цустьаш. Если имя переменной массива использу- ется без предварительного описания оператором 0IM, гс мак or саль- ное значение ее индекса равно 10. Если используется индекс.ко-
больше заданного мнкси^ма, то появляется сообщение об о ши ЖМУ’ "строка” строка - команды графического макроязыка, описывающие изоб- ражение» Оператор D RA.V позволяет изображать сложные фигуры О л* *,.>£5 IB л £&•*** прямых линий. Кждая команда представлена одним символом. Ко- ды в строке пишутся подряд, между собой ничем не разделяется, виды для рисования отрезков прямых по вертикали и горизонтали: Un~ вверх; вниз; Кь - Еп-paso; Ь^»= влево. Команды для рисования отрезков прямых по диагонали:
ПТ .00552-01 90 01 Ринатами X и У. Координата» X и У могут быть абсолютными и относительными. Остановка перед числовыми значениями X и У знаков ”+* или означает, что- заданы относительные координаты, и координаты пос- ледней точки рисуемой линии подучаются суммированием координат текущей точки и значений относительных координат. Если перед коор- динатами X и У нет знаков или то заданы абсолютные коор- динаты, которые и являются координатами последней точки рисуемой линии. Следующие команда могут предшествовать любой команде двитде- 'v. ния: В - переслать, но не чертить все точки, а только последнюю точку; команда "ВМх»у" может установить графический курсор в любую точку экрана, в зависимости от значений координат X и У. А/ - нарисовать линию к возвратиться в исходную точку. А - команда вращения (может принимать значение 0,1,2,3). Команда вращает оси координат экрана дисплея против часовой стрелки на 90° (Л =1), 180° (/7 =2), 270° (/7=3) и, соответст- венно, изменяет ориентацию движения команд И , В, L ^Д,Н,6; АО - устанавливает оси координат в нормальное положение; За - установить масштаб, где п » 0...255. Фактически коэффициент масштабирования равен /7 /4. Для установки коэффициента равного I, необходимо установить /? =0, (0 либо 4). Коэффициент масштабирована и угол пово- рота по умолчанию не устанавливаются, а берутся предыдущие зна- чения, поэтому в начале про грешат желательно установить нужные
ПТ.00552-01 90 01 - установить цвет изображаемой линии, где - номер цвета; - позволяет ввести строковую переменную, которая использ^/ет- ся как подстрока. Например: 10 ВА А = ''и^иК.бООН UV 20 DEA IV = "Ш100,100,ЗЛВАХ” 30 DEAL/ 40 DEAiV = "S2XBAX " Программа рисует на экране 3 разных квадрата, т.к. аспект равен 3/2. Длина рисуемой линии в командах ь,Г, С, Н, с угол поворота (А), масштаб (5 ) могут быть заданы параметрически. 1.4.27. Команда EDIT EDIT номер строки где номер строки - номер редактируемой строки. Команда ED IT выводит на экран дисплея строку для редактиро- вания. На экране распечатывается редактируемая строка, и курсор устанавливается е позицию первого символа после номера строки. Затем строка может редактироваться. Если такой строки в программе нет, на экране появляется сообщение об ошибке НЕОПРПДЕЛЕННЬй! ПОМЕР СТРОКИ. Для редактирования только что введенной строки жг- но использовать точку (.). Подробное описание яомащд в подраздели 2.5. END
ПТ.00552-ЮX 90 ОХ Заканчивает выполнение программы, закрывает see файлы и возвращает упуолевие на уровень комацд. Оператор ЕЛФ может находиться s любом месте программы.опе- тато~ Е<*Ф отличается от оператора £Т0Р следующим: - Еьф не вызывает сообщения СТОП; - Ю закрывает вое файлы. Например: 520 IF F > 100 ТдаЕАФ EL5E СОТО 570 1.4.29. Функция EOF (номер файла) где номер файла - номер, определенный в операторе QFE/V. Проверяет условие конка файла. Функция EOF возвращает минус один (истина), есл? найден конец файла, и возвращает ноль (ложь) если конец файла не найден. Например: • ю ops?/ ••ша* : С®0 SO IF E0F( I) THEA/ 100 40 IA/JVT ^1, ЩС) • 50 G=M : GOTO- 30 • 100 CLO.SE I 1.4.30. Оператор EEASE ERASE имя массзва Симя массива */ <... Исключает мдаснвы кз прогр&гшы, Есжа во время пт:-огрй?.шы оказывается жало памяти э использоэат?.^ опэр&тор EEASE.. После тсг^. как масевды удзленщ пространство памяти, кото хзое звцеэерзирйвано для ггассзкгоз > может быть шжозгьеовано дгя t ь- -J» ** •• " жяейо Оператор EEASE также может быть использован для то- гс, чтобы опредежть рав^ер жассива, 'так как заново aripaasfjiTb- размер без пре^варйТазъного вь:полквкия
DT,0QSj2-0I 90 GI « ЖЕ Ш £0 Ш BIG (IGO ЛОО) зо шт • та а) 40 ШЖ BXG - ВО ЛМ BIG (ЮДО) 60 Р1Ш « ДО (X) 70 EOT ЛЖ,М1РШ, ши 1.4.31. Переменные EBR. ж MSL Возвращает код ашибхм ж номер отроки» где встретилась ошибка ft ременная ЕЖ ссдераит ход последней ошибки, а первмешш ЖП одержит номер строки, где ошибка обнаружилась. Переменнее S£B ж обычно иопольвуютея в операторах IP., .ТН£$, wo6^ яаправвть етвь программе на водпрогреше?, сбрабатшаадуж ошибку» При мсшжь* овании BBL в операторе IF..ДНЕА/ надо убедиться, номер стро и находится справа от ЖЬ, образом* IF ЖЬ «номер строки ., в Номер строки должен находиться справа от EBb е wo6h быть еренунерованным ксма^дой REA/lrM. Если оператор, которой вые^лваат ак как нежелательно, меобм жест номер строки ивм^нклся во ®ремя kw@t испйльвовать форму: ОЯ и ЕВП moi^t бмть веданы, жоюльвуя оператор
f 1.4,32. Оператор ЕЙЮВ \ Ж®В п .. где ft °* целочисленное выражение в диапазоне 04М®. Моделирует встречу ошибка интерпретатором или распознает ко- да ошибок 8 которые определяет пользователь. Вели /? равно коду ошибки, то оператор EBROB будет моделировав встречу этой ошибки- Еож операторам 0$ КВВОЕ определена сопрограмма обработки оаиб- ш, то будет оеуцебтажтся перевод на »ТУ подпрограмму® в против ном слутаэ будет печа^ться сообщение об г_ выполнение про- граммы будет оетажтено, Для опредалеаия 4^бетвенного кода ошиб- жд больше ЖЕ »мв йпбвтййна1В ошбм определяется таким оет&бом .$мд o6pa6awaeffti ® обребото с-шибок, w ШШ^^ВИНДЯ ОйЬШКА, а эыпэляени.: левит вне указанного з© ^чвйЛ’. ^ж ееобцйвв. еб .'ймбк*' НВЖРВН IWOB
*• 5У ** * <> ноге в степень X. Аргумент X должен быть меньше или равен $7,3365,. иначе нет лереполиение* В ©том случае на ©кран дисплея внводи1?сл сообщение об ошибке ПВй’ЕШКШШВ, » редльтате появится ?юлб»к:
IEL00562-CI 90 01 ко- Знай s соответствует любому имени или расширению. Если устройст- используетея текущее устройство. FILES ве; t фажения X в целое число путем отбра- S8 » ? S
. 61 - ИТ.00552-01 90 01 выражение! - начшьъное значение счетчика; выражение? - кояе^юе значение счетчика; выракеииеЗ ~ &аг цикла. Программные стрит # следующие за оператором FOB, выполняет- ся д_* тз„с йэр . ж кг. не встретится МЕХТ. Затем счетчик увеличивав 5Т5» на числоч определенное выражение^ э STEP. Если шаг не за- дан, то явр сфюсзжтв раэннм единице. Затем выполняется проверка* Езди значение очетчз>& на больше конечного значения выражений, тс опять мачиныот выполняться программные строки, следующие за опера- тором ЮВ, и процесс повторяется« А если значение счетчика больаа конечного значения выраженияЗ, то начинает выполняться программные отроки, алэдувцие за оператором ШХТ, Если выражений -отрицатель- u -п-шолняетея . пока счетчик больше конечного аначенил. « Ь , Циклы ЮВ.,.ЖХТ »Э17т быть вложена, ’т.е. один цикл FuE.. J/E о. ' мс^ет наводитьзл (зылолняться! внутри другого WE»..AeXT цикла. КецдыЗ вложеннь^Й цджд должен иметь свои имена 1жгем&*о& в качест " » _ -« * * Г ЧЙ счетчика. Оператор ЛЕЙ? для. В^треинего цикла должен выполнять. | С£ W&S9 оператора ИЕаГ для внешнего цикла. Если влокеж^ циклы шйвт одцу tow конца* тс может быть '• » * л -^•Ц1Мвзоваи й'оин asspa^op ^МТ для всех, перемешш. V:/ Вф оператора . \. ' эквивалентен шаяедоёательноети onspa’fopoB: NEXT переменная! 6 <
яв» ПТ.00552-01 90 01 оператор будет заканчивать еашй последний FOE. .ЛИСТ цикл. О wOT У-ИВД) горые были однажды шшьзсванёг да дород» Интерпрештср бдат ав- томатически дакать очистку» когда ока mtomesca вис иззотован А '" • ч<" С^' tu? аеш«- Аргумента, в фиктивные. '•1.4.38. 0п>ра®э|ж GC3VB.. .KKTVBW 60SVB ноййр» стронь’.. *
- 63 - ПТ .00552-01 90 01 , где помер строки - перво ft строях подпрограммы. Осущестяяяег Mmi к подпрограмме и возврат в нее. В про- грамма ^программа мжет швюа&ея любое число раз из самой ярэдвда или дагом .^одпрограммы. Такие вложения подпрограммы огр&^кат^®зя тояыкх доедпиой памятью. Оператор ШйК/Ш воэвра- Щйм ^управление обр^иэ <з лодпрогравэя х оператору* следующее ws&aBssB# эту i^ovpsw оператором GCSVB. Гкэдпрогрежа жжет одержать беднее одяюгз с перегара ЙШ&^дхя возврата из р-ззлада- salt точек подпрограммы. Ддарограмюз могут размещаться в любом месте программ!. Часто жшольэуемнв подпротр» лш следует раэме-* □ать в нвч^:е программе ч?с-бы ускорить -эе выполнение. Дгя пере- ?ода i{ раьлачша! подпрогва^ам в заг^вшиоет^ от значения гнпа&е*» *' *я |?йя испой^^ется onspa-x-op О.»’', «.COSVB, Например: 10 GOIIT 40 20 PRM "ВОЗВРАТ 1<13 ЮДПРОГРА^МГ : К/^Р FPI,VT "РАБОТАЕТ; U) РРЭТ "ПОДЕНОГРАЖ" 60 WJHA/ Е EN Е4ЮТЖ ЗД’З’ОГЕАШ - возврат мз юдаогрдш Ок 1.4.3 ~г. иператор. GOTO tX'TO номер етрожя Oaj.iw^oaer бе&уе^оажй и^р^од ш хормйльней прзгршшжй прйл^с^-йте-^моети х о предел ел-гю^ ьТ’ЖфУ стрел»», лгям н&мер с*ро з® oiisps-* I 2 . .Л wgi Ф О W&S а ;5W
ЛТ.005В2-01 90 01 (такой как REM или РАТА), то выполнение продолжается с первого исполнительного оператора, встреченного после номера строк*?. Опе- ратор GOTO может быть иеяольвоаан в прозой режиме, чтобы заново звзсти программу с олиеываешй точки. Это может быть йспольэозвно при устроении ошибок. Для перехода я р&элнчнам строкам в вазвеи- мости от значения выражения используется оператор OA4..GOTG, Например; . б ЖА 5,7,12 10 2W £ 20 PHNT *&.«; В; 30 A«3.I4I^A2 ." J' 40 PETVT WH* А 50 GOTO 5 • R.V7V • - 2-5 Am.78.525 В-7 АЖА«153.909 Ы2 АШ-452.304 BHS РАТА В 10 Ок 1.4.40. Функция HEX X Ух»ШХ (л) Возвращает строку, которая представляет собой шестнадцате- ричное значение десятичного аргумента. Значение округляется до целого ^сла перед выполнением фикции HEXX. Если больше п то ведается сообаение МШШ. £ а .1 - . • Например: •• - :' , 10 эта X- . • •; /• •.. . . . ; ' Й) АК»ШхаГ Г ; V ; .••.' J Эф-
ИГ.00552-01 90 01 30 PRINT Х;"Дх£Ш14ЧН0Е>"; А/,; "ШЕСТНАДЦАТЕРИЧНОЕ" Rlr/v 15 Д£0ЯТИЧ1£Е- F ШЕСТНАДЦАТЕРИЧНОЕ IF выражение THEN задание [ELo Е задали ej I IF выражение GOTO номер строки L&LS E задание^ где задание -» оператор или последовательность операторов, или номер строки для перехода. Принимает решение относительно программного потока, ооко» ванного на значении выражения. Если выражение - ИСТИНА (не моль), то выполняется часть THEN или часть GOTO, Если результат выраже- ния - ЛОЖЬ (ноль), то части THE.V и GOTO игнорируются, и выполня- ется часть ELSE, если она существует. Выполнение продолжается со следующего за оператором IF исполнительного оператора. Опе- раторы IF.. .THEN.., -ELSE могут быть вложены. Например: IF Х?У THEN PRINT "X БОЛЬШЕ У" ELSE IF У?Х THEN PRINT "X МЕНЬШЕ У" ELSE PRINT "X РАЖ У” Если оператор не содержит одинаковое количество частей THEN и ELSE, то каждая часть ELSE соответствует части THEN, закрывая
« 66 - . 13.00552-01 90 01 IF А»В THEA? IF B=£ THEN PRINT nA=C" ELSE FEINT "AOG* не будет печататься Ao С, когда АО В. Если за оператором IF следует номер строки, то это имеет тот же эффект, как-если бы номеру предшествовал оператор ОШО. 1,4,42». Переменная INКЕУК УХ Переменная IA/КЕУХ опрашивает клавиа^ру:•ж нажатое какой» жбо клавши и возвращает начатый сйвол . Если ни одна клавиша не надатетзя, то возвращается пустая строка. Нер^к^иая INKEy X не ведает знака вопроса (?) на экране дисплея, -Переменная Д’КЕУХ не
- 67 - ЯГ.00552-01 90 01 именем переменной» Нет необходимости заключать в кавычки стро- ковые данные. Если на запрос оператора №01 вводятся данные с типом, не соответствующим тиву переменной, то на экране дисплея появляется сообщение ТПОЕТОРИТЕ ВВОД. Присваивание введенных зна чений не выполняется до тех пор» пока не будет задан правильный ответ. Если на запрос оператора IWHZT вводится больше элементов данных? то появляется сообщен© ?ЛИШШЕ ДАННЫЕ, лишние данные игнорируются и выполнение программы продолжается. Если вводится меньше элементов данных, то появляется сооб- щение ?? до тех порпока не будет введено необходимое число дан ных. Если же вводится возврат каретки, то все оставшиеся перемен мне обнуляются. Например; ... 10 WT X '
ПТ.00552-01 90 01 Элементы данных появляются в файле сразу, как только они вве- дутся. Числовые значения, начальные пробелы, возврат каретки, перевод строки игнорируется. Первый вычисленный символ, который не является пробелом, возвратом каретки или переводом строки,бу- дет началом числа. Число ограничивается пробелом, возвратом ка- ретки, переводом строки или запятой. Если данные разделяются на строковые элементы, то начальные пробелы, перевод строки, возв- рат каретки также игнооируются. началом элемента строки являет- ся первый вычисленный символ. Если кавычки (”) являются первым символом, то элемент строки будет состоять из всех символов, на- ходящихся между первыми и вторыми кавычками. Строка, заключенная з кавычки, не может содержать кавычки как элемент строки. А если строка не заключена в кавычки, то она ограничивается запятой, возвратом каретки, переводом строки или длиной 255 символов.Если найден конец файла при вводе числового или строкового элемента, то этот элемент будет закончен. 1.4.45. Функция INPVT X УМ -IWRZTXu? £,/>] м7 ) А где /7 - количество символов *ч /77 - номер файла, используемый оператором OPEN Возвращает строку из символов, считанную с клавиатуры или из файла Д?» Если для ввода используется клавиатура, то симво- .1ы на экране появляться не будут, а все символы управления пере- даются с помощью клавиши СТОП, которая используется для преры- * ванкя функции INPUT X. При вводе с клавиатуры нет необходимости нажимать клавишу возврата каретки. Чтобы прочитать коды КОИ-8, которые задаются в программе, используют операторы INPUT X и 1.МКЕУ X (но не INPUT и LINE INPUT). Например: .• . .
<“• fe9 — IEТ.00552-01 90 01 10 OPEN #1, "ДАТА" 20 А К * Ж' X (2,#1) 30 FRIAu А К 40 END 1.4.46, Функция INSTR Е =X/V£TR ([nJ , R а , : Ч ) где /? - числовое выражение в диапазоне I...255; XX, j X- строковые переменные, строковые выражения или строковые константы. Возвращает позицию начала строки УК в строке XX. Необяза- тельное смещение /7 устанавливает позицию для начала просмотра. Функция INSTR возвращает 0 s случаях: Л ЕЕЛ/ (X X); X X “ пустая строка; У К - не может быть найдена. Если У X пустая строка, то 1Л6ТВ возвращает п или I. Если вне диапазона, то возвращается cootfe.eHae об ошибке НЕВЕРЬЕ ВЫЗОВ ФУНКЦИИ. Например: 10 АХ="АВСОЕВтг 20 ВХ="В" 30 PRINT ЖЗТЩАХ,ВХ), 1Л/5ГЕ(4,АХ ,В К) RLrW 2 6 Ок 1.4.47. Функция гЯЙ У^1МТ(Х) Зозвр^цает наибольшее целое число, которое меньше -ляп оаз- ис значения выракения X. Например;
- 70 - ET.00552-01 90 01 РВЖ 1|Щ99,39) 99 ' Ок '/ PW ЖГ(-12.П) Ок - . 1.4,48. Комацвя KILL sill *ш Стирает файл с диска. Команда KILL «яиж&т быть иепойьзова- на для всех типов файлов. Имя файла обязательно дол®ю включать расширение. « е> « Л>ЬЕ$ (XX*, то возвращается строка Х’Х» 8йлй;# то воз В1Ш -»
КГ.0С552-01 90 QI as) . ' 1,4.51. Оператор U* _« • -
ЛГ.00552-01 90 01 Например: LFILE.S распечатывает все файлы на текущем устройстве; LEILAS’ ’’В:х.к,г распечатывает все файлы на устройстве В 1 4.53. Оператор' LINE Г[5Т^ (ХЗ,УС) - ШЕЕ? (XI,У1) [дает? Дв/Е?1 In. • где о ТЕР - позволяет указать координаты относительно последней отображаемой точки; Х0._ У0 - координаты начальной точки; XI, У1 - координаты конечной точки; цвет - цвет в диапазоне ст 0 до 7. Рисует на. экране дисплея линию или прямоугольник. По умол- чанию, если цвет не задан, то используется цвет переднего фона. Параметр В указывает, что рисуется прямоугольник заданным цветом, а параметр F указывает на тс, что прямоугольник заполня- ется этим цветом.При задании координат необходимо учитывать ас~ пект, равный g « Использование параметра В заменяет четыре оператора: 10 LINE (Х0,У0)-(Х1,У1); 20 LINE (Х0,У0)-(Х1,У1); X LINE (Х0,У0)»(Х1,У1); 40 LINE (Х0,У1)-(Х1,У1). Точки, имеющие координаты, выходящие за пределы экрана,не рисуются. Оператор б формате ЦЛ/Е~(Х1Д1) рисует линию от последней отображаемой точки к точке (Х1,У1) цветом переднего фона. Например: 10 LINE (09200М5ПД00),79В 30 ЫЯЕ (5ПДОО)-(0»2ОО)Л
73 - % команда CONT. Сй' & которой строка же другой программой. «JWjW • IC OPIDN w0",^I, *ШТ"
74— ПГ.00552-01 90 01 30 PEIMWl.CX ; CLOSE I 40 ОРЕЛ «LIST” 50 ЬХЖ 1ЛР1Т# I ,C X 60 РЕХЛТ СЯ : CLOSE I RUN СТРОКА? ЮСКВА, ЛЕШЖКИЗ ПРОСПЕИТ МОСКВА, ЛЕЖЖКйИ ПРОСПЕКТ Ок памяти Л? номера строки, то распечатываются программные строки в заданном диапазоне, включая строки с заданными номерами. Чтобы указать't кущу© строку, жжет быть использована точка. Например: LIST распечатывает вею введенную программу; LIST 35 райпех^тывает строку с номером 35 на экране диаштея;
LIST 100...200 распечатывает строки c LOG до 200 вклю- чительно; LIST . распечатывает текущую строку. При выполнении комацд LIST и EDIT числа, представленные в двоичном виде, на экране дисплея высвечиваются в восьмеричном виде (только в РМУ). Например: 10 А» ^BQIIIOIOO : W0I64 20 FEINT А,В RlrN вазон номеров строк для команды LUST такой же, как и для ко» маяды LIST. Команда LUST не макет быть «зставсэлша нжашо клавиши СТОП. Если яечата в®с» сообщение: ПУ НЕ ГОТОВО, СТШЖГь (У )? Если нажата кдавиша» то вывод на вечажь не производится и LLIST раепеча^вает на устройстве всю программу; LLXST Ю...100 распечатывает строки програавмы с 30 до ЮЗ вкавчитачью.
ПГ.С0552-01 90 01 1.4.58. Комшща LOAD 1.4.58.1. Команна LOAD для НГМД LOAD LOAD LOAD "жая файла”,A [,&] ®3 вый формат оператора LOAD загружает программу на языке Бейсик и если нужно, выполняет ее Второй формат загружает двоичо^ файл память, размещая его, если указано, со смещением и также ашюляв ет, если нужно. Третий форат комкан IQAD загружает файл, звн ^загружает „двоичный файл ХМУБЖ.СОМ и передает еа^ управление без
пт.оааыг^л 90 oi • load таз & г.»
- 78 ПТ.00552-01 90 01 ВОДЕН ЖЕЖ /А Загружен текстовый файл 1#¥ЖГ и запущен на выполнение. 1.4.59. Функция WC У «ЮС (номер файла) Возвращает текущую позицию в файле. В файлах с последова- тельным доступом LOC возвращает число записей, считанных или записанных в файл с тех р, как он был открыт. Когда файл отк- рывается для последовательного ввода, интерпретатор считывает первый сектор файла, повтор LOC будет возвращать I. 200 IF LOC(I) >50 ТЖЯ ЛОР где позиция - номер позиции в. строке. Числовое выра&енме в диа- строка — номер строки экрана.Числовое выражение в диапазо- не ст I до 16; курсор — значение, определявшее, виден курсор ши нет, 0 - для выключенного, I - для включенного курсора. Для включения курсора используется LOCATE,,1. Любые зиа- йапрзшер:

HLQ0S2-0I 90 01 • LPRIN исключением того ®8ада> элементы XU), XU +1)» г*А ровых с: X£UI5). ♦w- мацией. циализадии представлено в операторе СОЬОВ Цогвгетлллыатъ »
зо дав аоо,1оо)-(2оо,2оом,вр Присоединяет строо as заданного файла сохраненного на дне- ж * лй или НИЙЛ в кодах ИЖ*8 к программе» находящейся s памяти в текущий момент, Ешга шкие-либо строки в присоединяемом файле имеет такие же номера» как и строки программы в памяти, то стро- ки из файла будут замещать соответствующие строки в программе» да 5^а размещается в памяти, и интерпретатор возвращается на урове>& команд. Если имя фИла не определено по правилам, то выдается сообщение об ошибке, и команда не выполняется. Если присочи- ненная программа не была сохранена в формате КОИ-8, используя параметр А в комаеде SAVE, то появится сообщение об ошибке НЕ- ВЕРЕН ?ЖИЙ ФАЙЛА. Программа в памяти остается неизменной. Если происходит загрузка файла с ЖИЛ, то задаваемое имя не должно быть больше шести символов. При загрузке выдается сообщение (подпункт 1.4.58,2). ' •. . Например: к ’ ME3BGE *А:йЖ®.ВА$* . «САНТОЙ* 1.4.87, Оператор и функция ШРУ YMЛХР X (ХК, п[, /»] ) как оператор ^>Х(ХХ,
о /7 - келочиояённсе зкрвемжв лл - иелочисленяое выражение’ О«,.25&. 7 ' .• " • Всзвг-^дает .требуем© .часть вранной строки. Когда МП? К ^пользуется как оператор, то эам-зщается часть одной строки трух с-й строкой. функция возвращает. отроку длиной /7? стволов >-з стояки XV начиная s Г> -го символа» Если жопжвво зли *-" V . _ - =q=£r dt* • ' ” 1 , s строке меньше л~* символов справа от -д -го символа» го. воз- вращаются все‘самые 'правые символы, начиная с п «го» Если /77 или Символы в . n?№N (XX), тс MIDх с тоске X V. парная е Л 45» * * t? • возвр^ает .цус^у© строку. -го, зам'^ти?ся етшэолами строки УЛ, лт - число символов • строки УХ, которое будут ©зм^це*» ггы. Если m опущено, то используется вся строка УХ* Длина стро* . - , с % г.и X Я. не: изменяете» независимо ст того, задано ’чв^сяс /^иж нед Например, если X К длиной ае:?т?ре символе.,; а УК лжкой:пят& сим* волов, то после ©агл X будет1 содержать первые <вэтыре сим* эола строки У )( . Если п или /г? зне диапазона, то появляется где ОМ' - вкжченте двигателя.'.метедтофона; OPF - выключение двигателя матаитофона. Включает иля выключает двигатель ВШ. Если не указаны ОМ
•g иж фаЯда2 гтрокспое выражение для обоаначения нового имени файла. Изменяв ыез файла, Файд, определенный именем файла’, дол- ш <^еатЕоза®ь ха диске, а нагого Имст файяаЯ не должно быть на дизке.э иначе появится coo^qmse об- ошибке. Если устройство огс/щша» ю принимается текущий диокозод» После команды NA?Z ©ущееэдег на- том «в диске в toft же области дискового прос*- тр^йд' а левым именем, . • Стирает программ, ^эдд^юся в текущий момент в памятей оп^цает все переменные. Иоманаа A/EiV облачно испояьеуетоя для V ‘ редобсйьЛШЯ памяти лерцд изедежем новой программы, Интерпре$а«* - * - .'*.*” ? йеегда зоегра^ается на уровень кома>ш поело вклолиенмя коная* :- ’да(;- \.ЖЫ » Команда MEW' закрывает все фйШ«
* г* ; ошибки, вкжжл сшибки прямого доступа б« заблокировать лсэущиу ошибок КОТОРЕ появляется в подпрогралше ловушки овдебки s которые м ♦ .73, Операторы ОУ.. ON n SQSVB номер строки ON л GOTO номер строки ♦ ее
ПТ.00552-01 90 01 ОсущастЕляет перевод на один из заданные номеров строг в зависимости от вычисленного !выражения Л , Значение Л определяет, какой номер строки з списке будет использован для перехода. Если необходимо, Л округляется до целого числа. В операторе Ck\..GGSUB каждый номер строки § списке должен быть номером первой строки • подпрограммы, поэте?# необходимо иметь в подпрограмме оператор jSETVRN, чтобы веркутьег в строку, следующую за оператором СМ... GOSUB. Воли значение Л равно 0 или ъольше количества строк ь стро- ке (но меньие или равно 265), то продолжается выполнение прог- раммы со. следующего исполнительноге оператора. Если значение от- рицательно или больше 255, то появляется сообщение об ошибке неверен вызов функции . Например: 100 ОН Ь GOTO 150,300,450,500 ИО ОА/ A GOSIZB 1300, 1400 ♦ - 1зоо та начало тдаотш > а*х 9 * 1390 RETURN 1.4.74. Оператор OPEN ОГЁ?! ”режим\ номер файла, "имя файла” где режим - строковое выражение, первый симвел кото pro: О - пзследсвательнкй вывод в файл; X - псслблсват^льнн^ ввод из ф«Яла; номер файла- целочисленное выражение, значение котсрсгэ ле- жит в диапазоне I « г«аксимальное число файлов. По умолчания «аксимаяъиое число файлов. П-:> увюлчашш максимальное число файлов равн^ 3, ио оно может быть изменено параметром /г: в
ПТ.00552-01 90 01 команде BASIC. Номер файла ассоциируется с открывавшимся файлом и используется другими операторами ввода-вывода • ' « « для обращения к этому файду илк устройству. Открывает буфер для ввода-вывода в файл и определяет режим доступа» -. • С. • “ ' . Любой файл может быть открыт с одним и больше номерами фай- ла. Это обеспечивает различные режимы файла для различные Целей. Но уже открытый файл не может быть открыт ’г.е раз для последо- ватель кого вывода (OUTPUT). Если файл» открытый для ввода, не существует, то появляетсясообщение об ошибке йАИЛ НЕ НАЙДЕН, Если файл» который не существует, открывается для последователь- ного ввода, то он создается. INPUT (I) или OUTPUT (0), то рста ш, ’’лпример: 10 ОРЕМ "О*,# I, . Этот оператор откр^яйет файл, названный Й1ЖТА* Шд номером I для преяедоветегьидо вывода. П|ж открытий файла для диада будут унжтоженм все данные, существуйте в файле« Оператор РА1Ж
t~r- muxm-ei so oi « цвет вакраскн ® цвет* воторим будет закрашена область зкра^ на8 д@о число в диапазоне 0...7; цвет границы * цвет границы рисунка» поддвкАргб закраске, ловит в диапазоне 0...7. ; Оператор PAINT ваябШйэт область экрана Шбранним цветом.Ко- ординаты могут быть заданы а збеелйтной и относительной форме. По умолчание цвет границы равен цвету закраски. Начальная точжа (Х,У) в операторе PAINT должна быть внутри I рисунка, который закрашивается. Если заданная точка уже имеет цвет границы, то оператор PAINT не будет действовать. Если цвет закраски спущен, то используется цвет переднего фона, установлен- шй оператором COLOB, PAINT .моает окрашивать жбой рисунок, но "зубчатые*1 границы на рисунке будут увеличивать количество стекового пространства, требуемого оператором PAIMT. Например: • .-. :?' - •. • W CIBXE (^0,100),Ж А»,0.5 30 PAINT (250,Х00)ДД • 1,4.76. Оператор РСА5 PCLS ' Очищает графическое sanowwsa^s устройство (ПЗУ) s цвет заднего фона. Стирает гр§^чесда 1Л.7?. функция РЕЕК . ♦» где П « целое число в диапазоне 0,«.65535. Возвращает байт, считанной из указанного адреса памяти, йеэ вращенное значение будет целым десятичным числом в диапазоне 0...255. РЕЕК - дополнительная функция к оператору РОКЕ. Если зна-
ПТ.00552-01 90 01 чение числа Л вне указанного диапазона, то выдается сообщение об ошибке. Например: . '•* Ю РОКЕ 24535,31 20 У«?ЕЕК(24Б35) 30 РВДТУ '/ RVW 31 ; , Ок 1.4.78. Оператор РЬАУ РЬАУ "строковое выражение*' где строковое выражение любое разрешенное строковое выра- жение, содержащее программу на музыкальном макроязык^'может оформляться в кавычках или как строковая переменная, например: 10 АК*"С" 20 РШ А К ' или ' 10 РШ "С" В операторе может быть указано до четырех голосов, пере- численных через запятую. Эта команда использует музыкальный макроязык, который списан в табл, 17. •^/ТЛБ’Л И Ц Д 17 \ \ -4 - . Значение | ' • . Описание ' , - -» ;32Т.л^255 ! Определяет скорость игры. Значение П i р - это количество четвертей (J ) в mt- а ш — .-'-t д. . . - г-_ = i I нуту. Го умолчанию значение Л *123 “Т I -•
табл.17 ектов. wtt ft I s
' -йп/чЩ» им —i— tbnjw>;w*i«i и—« и» * * i 'i .1,—i—— — ,м i-UQQI HnHWH Команда ! Значение ! Описание —I—* — —14 g , , 4^,1141 n—I—II 1ЧР— 1——>*il——!1И*Я»И'11.—^11» ! — I I—— m n j ft^32767 • Определяет период огибающей; возрастает I । при увеличении О ; по умолчанию принимав а » | • ется равным 255 (/7255) L п 5 Wo'564 • Определяет длительность ноты • » • I LI 52 L4 L8 516 532 564 • 1 к I ! По уыолчаншо длительность паузы равна I/ П * I 0 < fl «;15 ? Определяет громкость; с увеличением п i ! ; ! громкость возрастает; по умолчанию рав- ! ! на 8( |/ 8) f । C,D ,E,F,j I ^f?^64 | Определяет нотный лад (до,ре,ми,фа,соль, О,А,В ! ! ля,си). За нотой может быть указана ее • | длительность .По умолчанию длительность . । равна четырем (С4). Так же за нотой
* е с Е ¥ Точка корды в 4 голоса. - 91 - : Определяется диез. Указывается после ноты
io рш "vis об еда*» "УВ оз еда* Голоса 3 и 4 будут молчать. 30 PL-АУ *да->М: СЗЖА8* У^ЖПСД) flfitv где Х,У - коо' ан&таг точки з абсолютной Функция POINT аоззращает число от 0 до 7, определяющее цвет заданной точки на экране дисплея. Если точка задана вне диапазо- на экрана, то возвращается минус I. . Например: 10 LINE (100,100)4200,200),4,ВГ 20 1=50 30 КЕМ ПОЛУЧИТЬ ТЕКУЩЕЕ СОСТОЯНИЕ ТОЧКИ
- 93 - ПТ.00552-«}1 90 01 40 IP РОЖ >0 THEN PFESET (1,1) ELSE Р5ЕГ (1,1) 1.4.80. Оператор РОЖ РОКЕ л.л7 г где /7 - число в диапазоне 0...65535; /77 - число в диапазоне 0...255. Записывает байт данных /77 по адресу паняти /? . Дополнительной функцией к оператору РОКЕ является РЕЕК. РЕЕК и ЮКЕ полезны для эффективного хранения данных, загрузки подпрограмм на машинном язы- ке, передачи аргументов и результатов в и из программ на машинном языке. Интерпретатор не делает никакой проверки адресов. Если зна- чения Л и /л лежат вне указанных ; апазонах то выдается сообще- И5 ние об овибке. - У=Р05(г?) Возвращает текущую горизонтальную шэицио курсора. Самая ле- вая позиция - первая. П - фиктивный аргумент. PRINT СНВ X (13) IF POS(C)> 60 TW 1.4.82. Оператор FEINT гаспечатывает данные на экране дисплея, Если список выра- жений опущен, то распечатывается строка пробелов. Выражения в списке могут быть числовыми и (или) строковыми. Строковые кон- станты должны быть заключены s кавычки. Позиция каждого напечатан- ного элемента определяется знаками препинания, яспояъэуе'^лз для разделения элементов списка. Интерпретатор разделяет строку на зоны печати по четырнадцать символов каждая. Запятая в списке аырахе-
ПТ.00552-0I 90 01 НИЙ заставляет печататься следу эоны г 1очка с запятой заставляет печататься следу значение со следующей позиции с учетом пробелов при печати числовых дан- ных, ьсли запятая или точка с запятой заканчивают список вираже- W* неё. тс следующий оператор PRINT начинает печатать в той же стро- ке через заданное число пробелов. Если длина печатаемой строки больше, чем определено оператором WIITH, то печать продолжается не следующей физической строке. За печатаемыми числами всегда следует пробел; положительным числам предшествует пробел* а отри- цательным - знак минус. Числа одинарной точности могут быть пред- ставлены шестью или меньше цифрами в рмате с фиксированной точ- кой* но с меньшей точностью* чем если бы они могли быть представ- лены в формате с плавающей точкой. Они выводятся* используя фик- сированную точку или целочисленный формат. Оператор ЖШТ исполь зуется для печати информации на печатающем устройстве. Например: 10 IMR/T X 20 Ррда X; ЯВ КВАДРАТЕ"; Хл 2; П,А"; 30 PRINT X; *В КУБЕ"; Хл3 ?9 .' 2 В. КВАДРАТЕ 81, Л 9 В КУБЕ 729 Ок RVN 921 21 В КВАДРАТЕ 441, А 21 В КУБЕ 9261 Ок 10 FOR х«1 to 5
ПТ.0С552-01 90 01 7 = 7 «5 30 К«К*Ю 40 PRINT 7;K; 50 A/EXT X Я lr,M 5 10 10 20 15 30 20 40 25 50 НЖГ 1HNG’ ХМ; сеисок заражений [ ; »j Печатает строки и числа, используя заданный формат. Список выражений состоит из строковых или числовых выражений, которые будут печататься. Выражения в списке разделяются запятыми или точками с запятой. XX - строковая константа или переменная, ко- торая состоит из специальных символов формата. Эти символы оп- ределяют формат и поля печатаемых символов. Для печати строк применяются следующие символа формата: ! Первый символ в заданной строке должен быть напечатан \П пробелов \ 2+ л символов из строки должны быть напе- чатаны. Если- символы ) не содержат про- белов, то будут напечатаны два символа,если содержат один пробел, то три символа и т.н. Если строка длиннее, чем поле, то лишние сим- волы игнорируются, ьсли поле длиннее, то строка будет вводиться слева, а справа до- бавляться пробелами.
ПТ.00552-01 90 01 4- I * LOOKOUT 5 в Для печати чисел используется следа =Г? Используется для представления каждой числовой позиции. Числовые позиции всегда заполнены. Если число, которое будет печататься, содержит меньше цифр, чем определенных позиций, то число будет вводиться в поле справа и ему будут предшествовать пробелы. Точка может быть введена в любую позиций поля. Если строка £та определяет, V Л что цифры должны предшествовать точке, то перед точкой обязательно будут печататься цифры (если необходимо,бу- дут печататься нули). При необходимости числа округля- ются. Например: 987.654 ##";Ю.2,5.3,66.789,.234 65.79 0.23 *- Знак и+и в коше строки формата используется для печати знака числа или *-") перед или после числа. Знак **-* в конце строки формата используется для печати отрицательного числа со знаком минус. ** Например: ВЖ ЮТС *+##.##*; -68.95,2.4,55.6,-.9
HT.OOS2-OI 90 01 -63.95 +2.40 +55.60 -0.90 ШШ’ VSING " . - n;68.95,22.449,-7.08 63.95 22.45 7.08- Двойная звезда в х&чвяе строки формата используется для заполнения звездочками йередиих пробелов в числовом поле и для определения позиций при использовании больше двух ОДфр. Например: PRIN'T VS^G # *;12.39,-0.9,765.1 х12.4 н-0.9 1765.1 X К Двойной знак X X Д^я печати знака У непосредствешю слева от числа, X К определяет позиции более двух Цифр, одна ss которых У . Экспоненциальный формат не может быть использован со знаком X К * Отрицательные числа не могут быть использовеаи, если зявк не указан справа. PRINT ESING 456.78 «ХХ*****я;«б.78 si X Этот знак в начале строки формата комбинирует дейст зьаеемазваяих ДВУХ символов формата. Передние пробелы будут заполняться звездочками, а знак X" будет печатать- ся перед числом. Знак ин X определяет позиции более трех цифр, одна из которых X . Например: PRINT г31»С "и- )(**.**’”;2.34 «и А 2.34 , Запятая, которая находится слева от точки в строке формата, используется для печати запятой слева от каж- дой третьей цифры слева или справа от точки. При ис-
ПТ.00552-01 90 01 няется. FEINT Ц5Ж 1234.5 1,234.50 PRINT ЮТ/G .^,";1234.5 1234.50, лллд Этот знак может быть размещен после символов цифро- вой позиции для определения экспоненциального форма- та. Этот знак резервирует пространство для Ен-/?/? или НН дятся слева. Если задан назальный или конечный знак "+•" или то одна цифровая позиция будет исполь- зована слева или справа от точки для печати пробела ое знака Если .одело, которое должно печататься, больше определенного числового поля,, то в начале числа печатается знак %. Если при округлении одело превышает поле, то знак % будет печататься в на- чале ркрупленного числа. Например: PRINT VSING ";П1.22: %ltl.22 PRINT ЪЪЖ ". ";.999‘ %1.00
ПТДЮ552-01 90 01 Если число з адашдк цифр превышает 24, то появляется сооб- W РЕЖ ITSIMG *ЭТО ДРИ№##";1 ЭТО ПРИ» < I 1,4.84. Операторы PRINTS и FR1MT 4ПГ51К& РВЛ1Т# номер файла, £lrSIkfG XX;J список выражений где номер файла - номер, используемый файлом для вывода при х X - строковое выражение, определяющее строку формата; нает данные в файле. Образ данных записывается в файл уже тогда, когда данные будут появляться на экране дисплея. По этой причи- не надо позаботиться, чтобы они корректно вводились. В списке выражений числовые выражения следует разделять точками с запятой. Если запятые используются как разделители, то лишние пробелы,ко- торые вводятся между печатными полями, также будут записываться ками с запятой. Пусть А К = тели. в оператор PRIh'T следу
И ПЯТЫМИ, ТО ИХ f зуя СШ-Х(34). исполь- ”37654-2’’, то оператор .ГН зом: 1Л CW( 34) ; ( 34) (34) ;ВХ^ЖК( 34 ) 5*4 где w точки; координатами (Х,У). Координата точки может быть задана в аб- ной солютной или относительной форме. Если в операторе Р5ЕТ пропущен цвет, то используется цвет переднего фона, установлейшй операто- ром COLOR.. ‘ •/
цвет и в операторах РЗЕТ если генератор координаты относительно псс- оператору Р5ЕТ с той разницей, числовое выражение ЧИСЛО (-32768
ПТ.00552-0I 90 01 Чтобы изменить последовательность случайных чисел при каждом вы- полнении программы, необходимо поместить оператор RAN ТОМЕЕ в на- чале программы и каждый раз изменить случайное число. Например: 10ВОШЙ 20 РОЕ Ы ТО 4 30 IP РЖ I) КЮ>5 THE/V PEWT. Ш( I) 40 Д/ЕХТ 1.4.88. Оператор READ BEAD список переменных Считывает значения из оператора DATA и присваивает их пе- ременным. Переменные в списке разделяются запятыми. Оператор READ всегда должен быть использован в паре с опе- ратором DATA. Оператор READ присваивает значение оператора IATA переменным оператора READ на основе один к одному. Переменные оператора READ могут быть числовыми и строковыми и должны соо- F тветствовать по типам переменным, считажым из оператора ПАТА. Если они не соответствует, появляется сообщение ОШИБКА СИНТАКСИСА. Один оператор READ может иметь доступ к одному и более операторам DATA или несколько операторов READ могут иметь доступ к одному оператору DATA. Если число переменных оператора READ превышает число элементов в операторе (операторах) DATA, то появляется сооб- щение об ошибке ВНЕ DATA. Если число переменных оператора READ меньше числа элементов оператора (операторов) ПАТА, то следую- щие READ будут начинать чтение данных с первого несчитанного опе- ратора ПАТА. Если больше нет операторов READ , то лишние данные оператора DATA игнорируются. Чтобы заново прочитать операторы ПАТА с начала,используется оператор RESTORE.
103 - IV 00552-01 90 01 20 READ CX 2 30 IATA СССР, МОСКВА, II5470 40 РЕМ OX, о К, £ R V N СТРАНА ГОРОД ИНДЕКС СССР МОСКВА I15470 Ок 1,4.-89. Оператор RELOC RELOC (Х,У) где Х,У - координата начальной точки. Устанавливает начало координат при работе с графическими операторами. 10 EELOC (100,100) 20 ОЕ (0,0)-(200),4,ВР EEU комментарий где комментарий - лобан последовательность символов. Вводит в программу объяснительные комментарии. Оператор РЕМ - неисполнительный оператор, но при распечатке программы выводит- ся в том же виде, что и вводится. Однако он увеличивает время выполнения и занимает пространство в памяти. Операторами GOTO и > G05DB на операторы REM может быть осуществлен переход, и выпол- нение программы будет продолжаться с первого после 2ЕМ исполни- тельного оператора.
- 104 - ПТ.00552-С1 90 01 150 NEXT I 160 M : БЕИ ИШЦИАЖА1ШЯ A 170 PRINT SVM 180 Ш ПРОГРАММА ВЫЧИСЛЕНИЯ СКОРОСТИ I.4.9I. Команда RENVM REIVT'M [новый номер! I, {старый номер] [9шаг? . где новый номер - номер первой строки, которая будет использс- * ваться в качестве новой последовательности номеров строк. По умолчанию 10; старей номер - номер строки текущей программы, с которого начнется перенумерация. По умолчании номер первой строки программы; шаг - шаг, используемый в новой последовательности. По умолчанию 10. Перенумеровывает строки программы. также изменяет все номера строк & операторах GOTO ,GQ$l/B., THEW, ELSE, OA/...GOTO, 0N...GD5UB иШ. Если после кв,кого-либо из этих операторов по- явится несуществующий в Программе номер строки, то вццается сооб- щение об ошибке НЁ0ПРЫЩЕ11ЖЙ ВйМЕР СТРОКИ. Обращение к не- корректному номеру строки не изменяется командой RENVM. Например: ВЕШ 300,,50 Ок 1.4.92. Операто р RESTORE RESTORE номер строки Разрешает операторам I&TA считываться заново с определенной строки. После того как выполнится оператор ^STOBE,
ератор REAP имеет доступ к первому элементу первого опера- ограммы. Если номер строки задан, то следующий опе- имеет доступ к первому элементу в заданном операторе I номер строки продолжает выполнение ошибку. нН' m ria пример но быть восстановлено, используют один из следующих форматов ЕЕЯГМЕ [0] Выполнение восстанавливается с оператора, следующего не- посредственно за оператором, который вызвал ошибку.
- IQS- - IST.00552-01 90 01 • ' Выполнение восстанавливается с онерато ра с заданна номе- ром строки. Оператор дхя которого кет подпрограмма об- работки ошибки, вызывает сообщение об ошибке BK5VW БЕЗ ОЗЙЗШ. Например: 10 ОМ № GOTO 900 * ОДО IF (№£30) дМГЧШЖЛ THKMPFJNT «ПЮ08ШЕ ‘ «ДЕ РАЗЙ : BW &) 1.4- 97. Оператор ДЕП/Rri ВЕТЖМ Возвращает управление обратно в прогреву из подпрограммы. Осуществляет возврат к оператору, шгедащещу га tw, из коч-орсго проводилось обращение к жлпрогра^е. Ианринбр: SO GOSim 400 . . F 400 М ПОДПРОГРАММА - 500 етиям ХЛ.93. Функция BIGHT Д УХ«Ы0НГХ(Х4Л ) Возврав^ет /? nsasbm ^имвслое •строш?. ХК Есжи/т? (л'<), то жшращаетея строка XX . Веж П ®0, те пустая «трока. На-прш^: 1Э А X АВСВТС* •so ш^т вхшгКиХЛ) О J и ЛШ1ЁРЗ
107 - ПТ.00552-01 90 01 Возвращает случайное г&сло между 0 и I. При выполнении прз- ’ # _ * 1 - граммы каждый. pas генерируется одинаковая последовательность еду- чайнвд.чисэд, если ме выбран генератор случайных чисел. Это мож- но сделать * .используя -итератор RANDOMISE, или в функции RND за- дать аргумент Л кавдй раз с другим значением. BMP (0) повто- I . - " " ряат последнее егенерирбвшяое чиело. - 7Ж>; HBW - • '. - / . ' - • . ; .6291626 ' .1943297 .6305799 ВЙЖ 1.4.97. Команда &> '• 2VN (номер строкиJ •' 7 - RVA! *САЗ •. имя файла" f9 параметра J ‘7'-/? Начинает выполняй© программы. Первая форма команды начх~ нает выполнение программнанаходящейся в памяти в текущий мо- жют» Если задан номер строки, то вшюлмеяие программы начина-* етая о этой строки. А если номер, строки не задан, то выполнение нашнается с первой строки програтг. Второй и третий форма!’ команды ЕУЯ загружает програь?му с . диска или ЖМД в память и выполняет ее. Имя файла при загрузке с КШ -не должно быть больше шести символов. Есля г; ^грамма за г- - .- . руваетоя е диске, то имя программы имеет по умолчана© расширение
- 108 - .00552-01 90 01 BAS. Перед загтуской команда R-VN закрывает все открытые фай- лы и стирает текущее содерканяе памяти. Но если задан параметр £, тс все открытые файлы данных остается открытыми. Например: RjJ'J 100 PJZN ”PRB«.BA5’t’ RVM "СА5:РЕ1МШ-’,В,1 1.4.98. Команда 3AVЕ I.4,98.1. Команда SAVE для НГМД SAVE "имя файла" •SAVE "имя файла", А SAVE "имя фаЙла’\В, <,на-оальянй адреса , < конечшй адрес > Первый формат команды SAVE сохраняет программу на языке Зейсяк, второй сохраняет программу на диске в кодах КОИ-8, тре- тий сохраняет двошный Ф&йл, лежащий в памяти, шчиная с началь- ного адреса по конечный адрес. Пр л необходимости можно указать стартовый адрес. Если он нф указан, запксывазтся иашльнчй адрес Hr если нуано, на указанный дисковод. Если имя файла менее восьми символов и не имеет расширения, то к имени будет добавляться рас- ширенме BAS. Если файл с таким именем существует на диске, то программа будет записываться вместо сущестяущего файла. Файл РЕ1Ш1& записывается на .диск в кодах КОИ-8
- 109 - ПТ. 00552-01 90 01 Двоичны? файл, легкий в памяти с адреса 4^i©00b по адрес и. записывается ча диск под именем Р£1МЖ.ВА5. 1,4.9с.2. Хсманда uAVE для НКМЛ ;АуЕ 4,С.ъ£: имя файла5* J.WZ *СА>: у'.ь*я файла”,А C.UE "CAS: 1?мя (файла”,В, <нач*адр ? , <тон.аир.у •_ ста^т. адр >". Вере ай формат команды KA.vE сохраняет на ленте Бейсик-г рамму зс внутреннем 4 *' ьД'-ЦХС' тавлении, второй формат сохраняет £ программу э кодах ЫИ-о, третий формат сохраняет двоичный фа 3 этом формате: чнач. адр. '- - начальный адрес программы ^кон. адр.> - - конечный адрес программы. -стар.адр.т - стартовый адрес программы Имя программы должно быть не более шести символов. Напсимер: » .5AVE ИСА5:РЮВА",А Записана Вейсик-программа s кодах КСИ-о. 5AVE "CAS .РВ0ВА",3, ^НЭООС, /I&FFP, гВЮО Двоичный файл, расположенный в памяти с адреса ./> ®000 по ал . f 1 /• хВРУР записывается на HRWI, с указанием стартового адреса •>Я91С0. 1.4.99. Оператор 5CHEEN' jcessw W£a] Г,г] Переключает графические страницы памяти и устанавливаем текстовый режим расширенных символов; /V - яом^р графической страницы отображения. Целочисл- ное выражение от 0 до 3.
111 значение 0 или I 5 F м«Ъ 2 к v
Вычисляет тригонометрическую функцию синуса. X - угол, за- данный в радианах. Если надо перевести градусы в радиана, то ре- зультат выполнения умножается на РХД60, где Р1«3.141593. функ- ция (X) вычисляется с одинарной тотаостью. . . 1,4,102. Оператор SOlTHD < '" ' Формат SOUND регистр, значение где регистр - атефаетическое выражение, определяющее номер значение - арифметическое Выражение, определяющее значение эффектов путем управления программируешь синтезатором звука ♦ - - - -C3995G1 Управление осуществляется путем определения значений II регистров, пронумерованных от 0 до 10, Ниже приводится таблЛ8е I I Задает значение коэффициента деления | звука для второго голоса ' * J 0..,32767 2 | Задает значение коэффйциенш деления v | звука для третьего голоса I 0,..32767 . - : '- f- ' . - ' -
112 - ПТ.00552-0I 90 01 Продолжение табл.18 Назначение регистра > Задает значение коэффициента деления • 3 ' f . зв’/ка для четвертого голосе ; • * I а •Задает значение коэффициента деления ; I щумь I « ;Управляет (раэрешает-запроцает) звуком ! :или сумзм по голосам । L- i задаст громкость, ? форму огибающей для W Задает громкость, • ферму сгибающей для I Задает громкость, 4 форму огибающей для А » IЗадает громкость, ♦ • форму огибающей для i голоса !Задает период огибающей F первого голоса; * ? S А 8 9 второго голоса; А ! к третьего гсеот। 4 четвертого | ! К ! * 0..Л.5 16...31 0...I5 16...31 .32767 Коэффициент деления звука (щума) определяется по частота на входе; для синтезатора звука С39010 равна I зв - частота звука, которую необходимо получить на выхо де синтезатора. При задании огибающей формула приобретает вид:
- 1X3 Первые четыре бита управляет (разршаст-запрещают) звучанием голосов i,2t3,4; последущие биты ~ щумом* Наличие единицы зап- рещает звучание, наличие 0 - разрешает. Формы огибающих, которые можно получить'на синтезаторе звука, 'приведена в табл.19е ‘ . Т А Б ЛИ Ц А 19
114 HrxOS52~Ol 90 01 Продолжение табл.19 при определении формы огибающей задавать и период огибания. тора Определение регистров еледует производить в следующей пос- ледовательности: 5,10,6(7,8,9),0(Х,2,3). 1.4Л03. ФункцияX М» 5РАСЕХ(л)
-115- ПТ.00552-01 90 01 КЖ . I - £ ' 4 5 08 SPG мо&ат быть использована только с операторами PRINT, LPRJNT и РЕЖ\ SPEED П Изменяет скорость записи на ЖМд в бодах. Если Л «I, то устанавливается наиболее надежная скорость - 1200 бод (по умолчанию), Если П *2, то скорость становится равной 200 бод. При yrreriHig программы о ИСМЛ скорость определяется автома- тически. 1Л.Х06. Функция SQR . y®SQR(X)
- И5- ПГ .00552-01 90 01 .где X - число, должно быть больше или равно 0. ' Возвращает квадратный корень числа X. Например: ’ - 10 РОВ Х=10 ТО 25 5TSP 5 2Q РШ X, ЖЮ 30 ШТ ВУЙ 10 3.16228 153.87298; 20 4.47214 25 5 Ок 1.4.107. Функция STICK х« Stick (я) где Л - целочисленное выражение в диапазоне 0...2. V Возвращает состояние джойстика. Если Л=09 то в качестве джойстика используются управляю- щие клавиши клавиатуры, если Л«1, то считывается состояние джойстика, подключенного к первому разъему, если Л «2, то счи- тывается состояние джойстика, подключенного ко второму разъему. о Если значение находится вне допустимого диапазоне, то вы- водится сообщение НЕВЕРЕН ВЫЗОВ 5УНВДЙ. Функция возвращает чис ло в диапазоне 0...3, отвечающее перемещение рукоятки джойстика Цифры определяют восемь направлений, представленных на рис.2. Для клавиатуры ( SIICK(O)) клавиши вверх» вниз, влево и вправо ведают, соответственно, значение 1,3,5 и 7. Нажатие од- новременно двух соседних клавиш дает значение 2,4,6 и 8.
ib\0O5c2-OI 90 OX Заканчивает выполнение программы а возвращает тпшвленме на уровень команд. %сбы закончить выполнение, оператор STOP может быть испольвев&п в любом мее-”® программы. £огда встреча- ется отшратор STOP, на экране появляется следующее сообщение s*5® ?>/?Л л Л номер строки, на которой встретился оператор JTOP» В отлйчяе от оператора оператор 5Т0Р не закрывает файлы. Бжюлкенне программа восстанавливается командой СОА»Т, Например^
- 118 - ЕГ.00552-01 90 01 еели это едаэиадура »да дополнительнее«Хундая
•=" 119 *— ПТ.0С5Б2-01 90 01 принимает значение О, если кнопка не нажата минус 4» ее ли наката. Если П =0, то пусковой кнопкой клавиатуры будет клавиша ппробел". - . Если П=1 или Л®3, то считывается состояние соответствен- но первой и второй кнопок первого джойстика. Если Л -2 или Л то считывается состояние соответственно первой или второй кнопок второго джойстика. заданный код КОИ-8 или является первым символом строки XX» Лри/?®0 возвращается цустая строка. Если значения л и т лежат вне указанного диапазона, то вы- дается сообщение об ошибке НЕВЕРЕН ВЫЗОВ ФУНКЦИИ.
- 120 - ПТ .00552-01 90 01 ЗОГШТ'УХ RVM - ' ; ; АМАШААА Ок • ' • 1.4.112. Оператор SWAP ' . ' • JUAP переменная!, перемэншя.2 • • ' , Обменивает значения двух перемгншх. Могут быть отменены переменные любого типа» но Обе переменные ’должны быть одного ти- па, иначе появится сообщение об ошибке ОШИБОЧНЫЙ ТИП. Эти пере- менные могут быть элементами массива* ." Например: . • ••’• ’’ .-. 10 А И- «OAfE<; ВХч W " ? CX^FOR** : FRIMT А& СХ|ВХ 20 SWAP АК, В X 7 JWTAW;BX л J OWE ИВ ALL ; ' : '/.Л. •./• А1Л РЖ0НЕ 77 / ; -7<- . ’ ’ 7’ • 3 • ок •/ /7Ж'ШШ •';? •• . ; / \- X.4.II3. Комода ' SYSTEM ^?77 - • ' 77-'дайм 5 Возвращает управление в операционную систему. Закрывает все файлы перед возвратом в -операциоад> систему, I.4.II4. функция TAB 7 -<•: / 7 ? 7-/'77 FRl^ ТШлГ7'7 " где о - число в дкадавоне 1...255» .. -Осуществляет табуляцию э л -ю позицию. Ёели позиция те- кущей печати больше, то TAB перемещает курсор в петицию Л на следующей строке. Позиция I - это самая левая позюая, задышал • ширина - самая правая позиция. Функция ДАВ мо^ет использоваться . -только с операторами -- - -' • - -'• ‘ 77 .» •' ""> . J ' -1" . ' - - ' ” « : •/ . ' ' - / ' ; Л - • ’ -. . X . • й- . . •» ч . - , , • . > - .- - • .г - ,. > * • , - < ... , •
- Ш - Ж.00552-01 9С 01 3 1.4,115. Функция ТАЛ/ У«ШШ 1Э y«$OMW/2 Разблокирует и блокирует трассировку программы. Кс^лаада TRO# (жжет быть введена и в щхщоашном резиме) рааолскад®® да? трао1 он. По ко’лавде W// будет печататься каждый ншер строки
- 122 - ИГ.00552-01 90 01 ратные скобки. Флаг трассы блокируется командой ТР.СРГ (или командой NEW ). Например: 10 IM0 20 ИЖ 7=1 ТО 2 30 L =К-г1С 40 PRINT 7;К;£ 50 K=K+IC 60 Л/ЕХГ 70 ENO IRON Ок. • BVN - £10] £20] £30] [40] I 10 20 ЕЗД £601 [30] [40] 2 20 30 [50] [60] [70] Ок TROFF Ок X .4.117. Функция VSR У = V5B [цифра] (X) где цифра 0...9. Соответствует цифре в операторе Z)ET 1\>R для заданной подпрограмм. Вызывает указанную подпрограмму на машинном языке с фин™ тиан&й4 аргументом X. Если цифра спущена, то принимается 1'vEO. Например: 50 С = W(0)
I.4.I18. 4yн /шля l/A L У-- TkL (XX) ссзвращает числовое значение строки XX. Функция рает начальные пробелы, табуляцию и перевод строки из строки аргументе для того, чтобы вычислить результат. Например, ПН,- _ -3”) возвращает минус 3. Если X - не число, то VAL (XX) RI 1 С ~ * 'Г Гр О 1.4.119. функция /АЬРТЕ- ; Х== ЖЕРТВ, (переменная) X~.VAKPTE номер файла) Возвращает адрес памяти переменной или блока управления файлом. В обоих форматах возвращаемые адреса будут целыми ос- лами в диапазоне о? О первого байта данных, должно быть присвоено до 65535. Первый формат возвращает адрес инденти-^ц>!’зованны:с с переменной. Зн&^иие переменкой перед использованием функции ЛАВРТЕ, иначе появится ЗЖ. Может быть использовано имя переменной любого типа (число, строка, элемент массива). Все простые перегнанные должны быть присвоены перед вазовом для массива, так как адреса мае оивов когда-нибудь изменятся и ппиовоится новая простая пепвмеьн ьвя» функция X7SPTE обычно используется для получения’ адреса * о сива самого младшего адреса, Второй фермой возвращается началь- ный адрес блока управления файлом., Файл допгжен бьяъ открыт не-
и 124 НТ.00552-01 90 01 49 РВД? ШК(РО), PEEK(W+I) VXDTH размер где размер - числовое хранение 15.. «64. Оператор W"T*TK устанавливает входной сороки дисплея. Ж <?
кечу ПТ3..050«1в2 в верхний дисковод (дисковод А:) н загрузить ОС которая Moses быть использована как рабочая
- 126 ПТ.00552-0I 90 01 •Чрй. работе на РМП интерпретатор предоставляет пользователю возможность работы с файлами на накопителе на кассетной магнитной ленте или ну диске. Имя файла на диске состоит из собствен- но по имени файла (до восьми символов) и расширения (три символа), разделенных символом точка При просмотре директории диска раз- ъедается использовать неявные имена. Неявное имя задается с помощью имвзлое и Y, где символ *?и заменяет собой любой символ в имени или расширении файла, а символ "х” заменяет собой все имя или расширение файла. Например: FIi.ES “A: я.»н В имени файла мсгкет указываться устройство. Если указано устройство CAS:.. то в качестве носителя информации будет исполь- зоваться НКМЛ. При этом *шя файла не должно быть больше шести символов. В имени файла может у называться такхе дисковод (А: или В:) асли дисковод ь имени файла не определен^ то по умолчанию выби- рается текущий дисковод. При работе с дисками, если имя файла меньше- десяти символов ц не содержит точки, то до умолчанию ио- ъ “Г пользуется расширение.BAS. г? ‘ Ч ’ **
ПТ ,00552-01 90- 01 Когда интерпретатор языка Бейсик загружен» на экране BrY ВБо071 ПТ2.043.040 появляется сообщение: БЕЙСИК КОРВЕТ в.2.0. Москва .ДиироДОС 1936 Ок Примеры вызова интерпретатора: BASIC KDLo.BAS - использует всю память и три файла, загружает и выполняет программу R0U.BAS; BASIC IN'VE^T/F: 6 - использует всю память и шесть фай- лов, загружает и выполняет програм- му INVEWT.BAS; BASIC/?: 10 /М: 40000 - использует 4C0Q0 байт памяти и де- сять файлов. Для выхода из интерпретатора в операционную систему исполь- зуется команда SYSTEM. Примечание. Если вы будете выводить тексты на печатающее устройство, то до вызова интерпретатора нужно вызвать программу PRINTER для ПУ RAVI dOIG или программу RAVIM для ПУ RAVI ВО ЮМ. Программы PRINTER и РАТ1М входят в состав программного из- делия "Базовые программные средства ПК8020. Системное програм- мное обеспечение** ПТ3.060.163. Правила ее вызова приведены » до- кументе ’’Базовые программные средства ПКВ020 Руководство поль- зователя" ПТ.00550-01 90 01. 2.1.2. Режим работа Коцда интерпретатор готов’принять сообщение, то на экран выводится подсказка Ок. Это состояние называется уровнем команд. В это время.интерпретатор может быть использован в одном кз
жимов: в прямом (командном) ели в программном. В програшном режиме вводят и выполняют программы. Вводимая строка, которая является частью программы, должна начинаться о но- мера. Затем строка запоминается как часть программы в памяти. Про- грамма может быть выполнена при введении команды BUM Например: 10 РВЖ 20*5 Ю7/¥ 25 Ок В прямом (командном) режиме интерпретатор выполняет команды сразу после их введения. В этом режима оператор предварительно не определяется номером строки. Можно вывести на экран результаты арифметических или логических операторов, запомнить их для даль- нейшего использования, но сами инструкции не сохраняются после вы- полнения. Этот режим полезен для отладки, так как позволяет быстро вычислять и не требует сложных программ. РЕШ 20*6 25 Любая вводимая директива ЖЖ заканчиваться нажатием клави- 1Ж ' возврата Kapew символы: УПР-А - включает режим редактирования введенной строки; УНР-С - прерывает выполнение программы и возвращает управле- ние на уровень комадц;
ний введенный символ; 2.2.1. Ввод новой программы О до 65529, за которым следуют элементы языка (операторы, коне- и вызовов подпрограмм. Для автоматической г^мерации программных строк рекомендуется использовать команду А1/ТО, что поможет сок- ратить время ввода программы. ся как часть .программа в памяти. Если строка с таким номерам уже существует» то старая строка стирается и заменится новойв Прог-
го / то командой «зеле этого жжно продолжить вводить программу, добавлять, ста- ? диске*- то необходимо очистить память перед вводом i
- 131 - ПТ .03552-01 90 01 строк новой щюграмш. Память считается командой A/EIV. Если это- го не сделать, то вводимые программные строки будут замещать про грамшше строки с этшж номерами уже загруженной в память прог- 2.2.2. Загрузка программы с диска Командой L Q&J) можно загружать программше файлы трех ти- пов: ВейгиЕ-програмх&г во внутреннем представлении, Бейсик-прог-= рашя* в кодах KD&-8 и двоичже файлы. При работе команды LOAD первых двух типов всегда стирается содержимое памяти и закрывает все открытые файлы перед загрузкой. Прежде* чем начать работу с записанной на диске, она должна быть загружена ко- ти и может использоваться в программных строках для ползагрузки программ на швод языке. Комацда MEBGE загружает Еейсик-програшау с диска в память, но не стирает содержимого памяти. Загружаемая программа должна быть сохранена в кодах КОИ-8. Программные строки, находящиеся на диске, соединяется с ггрограммой в памяти. Если две строки имеет один номер, то сохраняется только строка программы, загруженной с диска. Псел ретатор возвращает управле- ние на уровень команд. LOAD та Е. ASM”,В Дзоичный файл Нь .ASM загружен в память. LOAD ’TILE.BSC* Про грамма ?1LE.BSC загружена в память. MEBGE ’TROG.BSC* Ж Программа Pi G.KC загружена и присоединена к программе
может быть сохранена» Команда SAVE записывает на диск прог- рамм как последовательность символов КОИ-8 или в сжатом двоич- 5AVE "PE0G.BSC**, А ПОЛЙ0НИЯ Команда BVAj выполняет программу, находящуюся в текущий мент нажатием клавиши СТОП, за исключением двоичных файлов* После остановки программы на экране терминала появляется сооб- щение, указывающееt в какой строке произошел останов: СТОП В пил пл Ок
с к ,1 Ш a CGVT. используется команда часть поог тога, чтобы прервать вы дисководе 1 1ЛТПГ
- 134 - ПГ .00552-01 Ж 01 2.2.7. Переименование програжиы Для переименована прогревай используется команда //АМЕ. Например, чтобы изменить имя прогрвшы PE0G.M5 на HLE.BSC, надо ввести комаццу А/АМЕ TWG.BAS" AS "FILE. BSC", при этом изменяется только имя програийы, но не сама программа. 2.2.8. Оглавление диска Если необходимо псгмотреть, какие программы есть на диске,то используется команда FILES. Эта команда позволяет узнать, какие программы записаны на диске, находящемся на текущем дисководе. Если в команде указывается название устройства, конкретное расши- реше или имя программы, то на экран выводится не все содержимое диска, а только конкретные программы, имена которых имеют задан- ,ные признаки. то на экран выводятся имена программ ш диске В: , имеющих расши- рение BAS о Если задана комацда FILES' то на экран выводятся имена всех программ, находящихся на диске В:. Если задана команда HLE5 *?И)Е.ВМ" то на экран выводятся файлы с ршзширением BAS, имена которых от- личаются лишь по первому символу. Например: . PROG.BAS GE0e,BA5
различных типов на HHMJL Имеется возможность для запуска прог- ра&э&г с ЖШЬ Допускается возможность загрузки на ПК8О20 программ, сохраненных на других В-раз рядных шкроЭВМ в кодах КОИ-8. 2.3,1, Загрузка программы Команда LOAD с именем устройства С AS: загружу Ут файлы трех типов: Бейсик-программа в схаатом двоичное форматев Бейсик-прог- кодах КОИ-8 ? програмш на машинном языке (дво- нчные файлы). Ко&зацда LOAD пэрвш двух ттшов при своей работе стирает текущую програж^- в па^ляти. При использовании команда LOAD ыоээю указывать имя прог- рам?йВл (не более шести символов) и тип програшы. Если не указано
- 136 - ПТ.00552-0I 90 01 Если загружается программа в кодах КОИ-8, то после загруз- ки каждого блока данных выдается сообщение': пх”. Если в процессе загрузки программы происходит физический сбой (замятие ленты и т.п.)* то выдается сообщение об ошибке: Ок После этого двигатель автоматически выключается и загрузку необходимо повторить. Повторная загрузка производится путем пере- мотки ленты назад, в начало программы, набрав команду МОТОВ 0\', которая включает двигатель магнитофона. После нахождения начала программы необходимо набрать МОТОВ OFF (остановить двигатель) и снова набрать команду ШАО. Команда ME2GE с именем устройства CAS: работает.аналогично . комацде ШАР, но не стирает программу, лежащую в памяти. Прог- рамма, загружаемая с кассеты, соединяется с программой в памяти. Если две програилже строки имеют один номер, то сохраняется строка загруженная с НКО. КомандаМЕИЖ загружает только программы, сох- раненные в кодах КОИ-8. При попытке загрузки программы, сохранен- ной не в кодах КОИ-8, выдается сообщение: В процессе загрузки выдается сообщение: заь. .5е где х - корректно считанный блок данных с лента о о После загрузки интерпретатор возвр |ает управление на уровень команд, либо, если была считана.двоичная программа, на выполнение следующего оператора в программе. Например: Ш AD ""СА5”, А ’ С НЖ1 загружается текущая программа в кодах КОИ-8
i to” - 137 - w Hi 5AVE "CAS ^ШЗОО ШЕ "CAS: PROBA’4 A ЮАР "CAS':
- 136 - ПГ. 00552-01 90 01 R'O"CAS: Загрузить и выполнить текущую программу. LOAD "CAS: PROBA", It Загрузить с ЖЛ1 и выполнить программу PROBA. LOAD "CAS: PRI®", В, Pv Загрузить в Ш5 выполнение. 2.4. Отладка программы 2.4.1. Вывод сообщения об ошибках При наличии ошибки1 в программа выполнение програлаи останав- ливается и на экране появляется сообщение об ошибке, указывается тип ошибки и номер строки, где эта ошибка обнаружилась. ШОПРВДЖШЙ ЖЫ2Р СТРОКИ В 40 Если обнаруживается синтаксическая ошибка, то зыполнеже про- включается режим редактирования. ?н Прочив о збки не вызывают включения режима редактирования. Ошибка ПЕРШ0ЛНЕ1Ж возникает, когда абсолютная величина числового значения одинарной точности превышает I.7E+36, а абсо- лютная величина числового. значении двойной точности превышает 1.7+ После этого сообщения выполнение программы останавливается. Если сразу после ввода строки выдается ки в программу не записываются. ошибка ПЕРЕПОЛНЕНИЕ, то эти стро 10 А=1Е20эг!Е20 20Z)#«I 20СЫР200
- 139 - ПТ.00552-0I 90 01 ПЕРЕПОЛ НЕШЕ Ок 30 PRINT A,D RVN ПЕРЕПОЛНЕНЙЕ В IC Антипереполнение чисел с плавающей точкой возникает, когда абсолютная величина числового значения едина й точности меньше 0.9Е-33, а двойной точности - меньше 0.2-35. Когда переменной при- сваивается константа, абсолютное значение которой меньше этой ве- личины, то сообщение об ошибке не печатается, результат приживет- ся нулево, и выполнение программ продолжается. Деление на ноль обрабатывается идентично переполнению чисел с плавающей точкой. Когда делитель равен нулю, же ДЕЛЕНИЕ НА 0 . 2.4.2. Среде* Обычно большинство програашистов тратит около 40% своей ра- боты на написание программы, а 60% своего времени обнаруживает, почему программа не т.е. тратит время на отладку прог- Ошибки бывают двух типов: препятству (синтаксические и т.п.) и логические ошибки, которые приводят к получению неправильных результатов. При обнаружении ошибки, пре- пятствующей выполнению программы, выполнение останавливается, и печатается сообщение об ошибке с указанием, в какой строке эта ошибка встретилась. Сообщения об ошибках и их коды даны в подраз- деле 3.II. Логические ошибки обычно труднее обнаружить, особенно, если программа дает, результаты, похожие на правильные.
помощью трассировки выполнение программы может быть проверено строка за строкой,, что позволяет определить точное местонахожде- ние ошибки. Трассировка включается командой ТЕОЛ' и выключается командой TEOFF. После команд ТЕШ и BVN на экране терминала по- Ik являются номера строк каждого исполнительного оператора и выводи-
01
- 142 - ПТ.С0552-01 90 01 110 GOTO 70 1000 W СОЗДАТЬ ФАЙЛ 2000 REM 2 СТЕРЕТЬ ФАЙЛ 3000 REM 1ЭД ЕИМЕНЭВАТЬ ФАЙЛ 4000 REM 4 ОТРЕДАКТИРОВАТЬ ФАЙЛ ЬООО REM 5 Для отладки каждой подпрограммы используем оператор GOTO или команду R1 К Например, чтобы отлепить подпрограмму, выполняющую создание файла, начните с команды BVN 1000 или GOTO 1000. Чтобы отладить подпрограмму, выполняющую редактирование файла, начните с команды R ' А' 4000 или GOTO 4000 и т.д. 0. . Встроенный редактор Интерпретатор языка Бейсик имеет встроенный редактор, исполь- зуемый для изменения отдельных символов или целых программных строк. Команды встроенного редактора используются для пересылки курсора, ввода, стиргнглл или нахождения текста в пределах редактируемой стро- ки. Большинству команд редактора предшествует целое число, которое указывает, столько раз должна выполняться данная команда. Когда число не ./казано, по умолчанию принимается равным I. Команды редактора могут быть разделены на группы согласно следующим функциям:
- 143 - . ПТ,00552-0I 90 01 - пересылка курсора; - ввод текста; - стирание текста; - замена текста; - конец и возобновление режима редактирования. ледущие ооозначения <см? - произвольный символ; <текст7 - строка символов произвольной длины; - целое число, по умолчанию I; X “ нажатие клавиши ПР2 (код 1ВИ). 2.5.1. Команды пересылки курсора пробел? Кажатие клавиши пересылает курсор <Д>«=з > Нажатие клавиши < проб ел? п раз пересылает кур* сор на п позиций вправо.После каждого нажатия клавиши < пробел? появляется следующий символ редактируемой строки. Клавиши <д> и < а—. ? находятся в поле дополнительных клавиш.При нажатии одной из этих клавиш курсор пе- ремещается на одну позицию влево. Нажатие клавиш <Д> или<ф=з? ,о раз пересылает курсор на г) по- зиций влево. После каждого нажатия одной из данных клавиш стирается один символ строки. 2.5.2. Команды ввода текста I < текст? X Вводит текст с текущей позиции курсора. Вводимые символы печатаются на терминале. Чтобы закончить ввод, следует нажать клавишу ЛгФ. Если вс время команды ввода нажать клавишу возврата каретки,то прекращается ввод текста и редактирование строки
- 144 - ПТ „00552-01 90 01 X <текст 7 Если при вводе символа общая длина строки пре- вышает 255 символов» символ не печатается. X Вводит текст в конец редактируемой строки, пере- сылает курсор в конец строки и включает режим ввода. Нажатие клавиши КРФ или возврата каретки заканчивает ввод. 2.5.3. Команды стирания текста l nJ 3> Стирает символы справа от курсора. Стертые сим- Н <текст> X Стирает все символы справа от курсора» а затем автоматически включает режим ввода. 2.5.4. Команды нахождения текста L Г!1 $w Находит позицию П -го нахождения символа и кур- сор остановится перед ним. Символ в текущей по- зиции курсора не рассматривается. Если <см> не найден, то курсор остановится в конце строки. . Все символы,рассмотренные во время поиска печата- ются. [ nj К > Подобна команде S , за исключением того, что все рассмотренные во время поиска символы стираются. Курсор устанавливается перед < см >, и все стер- тые символы печатаются в обратных косых черточкахг 2.5.5. Команды замены текста £ nJ С < текст Изменяет следующие г? символов на Л символов текста. После того, как /? -й новый символ на-
•о* 90 01 печатан , осуществляется возврат в режим редактирования — * Л. 2.0.6. команды конца к возобновления режима редактирования < возврат Печатает остаток строки, сохраняет сделанные каретки > изменения и возвращается на уровень комацд. Е Сохраняет сделанные избиения и возвращается в режим редактирования. Остаток строки не пе- чатается . Q- Возвращается на уровень коыацд без сохранения изменений, которые были сделаны во время ре- дактирования , L Печатает остаток редактируемой строки# и ус- танавливает курсор в начало строки, оставаясь в режиме редактирования. А Позволяет начать редактирование сначала. Вос- станавливает первоначала^® строку и устанав- ливает курсор в начало строки. 2.5.7. Переход в режим редактирования Для того, чтобы изменить неверную строку? в программе, цужно набрать: ЕПТ < номео > где <номер у > - номер изменяемой строки. Интерпретатор перейдет в режим редактирования, на экране бу- дет высвечен номер строки и можно будет использовать перечислен- ные выше команды редактора. Например: EPIT 200 200
Т ч -i • I г в» IT й « клавиатуры V с^й } о о I £ 4 f 9 С I с S s 3
147 - Продолжение табл=20 I) Записать прегражу на КУНГ *Ямахап в кодах КОИ—8 на маг™ нитофонную кассету типа МК-бО. 2) Считать записанную программу с магнитофонной кассеты на ПК3020. • ' ' . 3) Отредактировать считанную программу б памяти. 4) Сохранить ее на диске или НКИЛ.
7 1Q то переменные» имена которых начинаются е букв А9 F, G, Н, 1,.7 и Кв будут целочисленными переменными; переменные» имена которых на- чинаются с букв В, С и Е, будут переменными одинарной точности; переменные», имена которых начинаются с букв L s М и N , будут пе- ременными двойной точности; а переменные» имена которых начинают- оя с букв D, О, Р, Q, R, .5 , T.IZ.V', V. X, Г«1 , будут строке, выми Переменными. И дальше а программе нет необходимости в каждом имени переменной указывать специальный символ» определяющий тип переменной.
- символ вводится в программу пользователя с клавиатуры во вре?-. я выполнения программы с помощью функция INKS" К; А - данные вводятся в программ из файла данных о помощью опе- раторов ЖРУТ # и LINE ЖН/Т, ' По умолчанию значение переменной равно нулю? если этой пере- менной не было присвоено никакого значения. Наиболее часто переменным задают значения □ помощью опера- тора присваивания НЕТ. Оператор LET присваивает переменной зна- чение выражения, заданного в левой части. Так как слово LET не- обязательно, то для простоты восприятия программы слово LET оду а кают. то значение переменной X будет разным 14. Переменные, заданные □лева от знака равенства в операторе присваивания, могут прини- мать любое значение. Выражение, расположенное справе от знака ра
ПТ. 00552-01 90 01 Рассмотрим несколько примеров присваивания различных зна- чений переменным. 120 D ="СТРОКА” В программной строке 100 число 4 является значением перемен- ной I %. В программной строке ИС знак + является знаком операции сложения в 066FS-10M математическом .понимании» В этом примере к зна- чение переменной I %, равному 4, прибавляется I, и полученное зна- чение , равное 5» присваивается переменной I %. В программной строке 120 строка "СТРОКА” является значением строковой переменной D К» В программной строке 130 знак -? является знакомоперации конкатенации (сцепления) строк, которая создает строку,, левая часть которой - первый сперацд, а правая часть - второй операнд. Строка "СТРОКА* будет сцеплена со строкой "СТРОКА" и в результате полу- чена новая строка "СТРОКАСТРОКА", таким образом после выполнения _ ✓ программной строки 130 новым значением строки U t( будет строка "СТРОКАСТРОЮА”. В программных строках- 140 и 150 переменной X присваивается значение» равное 3, а переменной У - значение, равное 5. В прог- раммной строке 160 справа от знака равенства стоит формула. Значе- ния Х«3 и У=5 подставляется в эту фор^ду., производятся вычисления с учетом скобок и приоритета операций» Подучендай результат,равный
ПФ Г * h j '«-JI » ОЛ Л»Т X ^'ГТТД* -* С; - Ь7~-~чг U ГТ'"A*’*' ЛЛ5ЯХУП Р? ъ"'- Т^ТТААЯ r\pVF-;\»~<С ксхОлл*4£х ,и<*г;г:^Л чЗ 1К1вгснА-^: ,>4uVxj/H Л ..u> 1 о р^ЦдГЛ Цс^ - ~.<гхс; - г •ЗГЧ Г\ глд_^в £> ; - выполняется программная строка 10. Указатель оператора КЗДР указывает на первый элемент таблицы данных. Из таблицы данных, соз- данной оператором оАТА, считывается первый элемент, который присваи- вается переменной Х« Указатель оператора EEAD пересылается на сле- дующий (второй) элемент таблицы данных. Таким образом после выпол- нения программной строки 10 значение переменной л равно I; - выполняется про гр^мная строка 20. Значение переменной X, равное I, выводится на экран. Точка с запятой после X указывает на то, что следующий вывод на экран будет осуществляться в ту же стро- ку в следующ’ю позицию с учетом того,что перед после числа выво- дится пробел; * - * л -' - - выполняется программная строка 3Q. Осуществляется переход на програмжую строку
•© 152 выполняется программная строка асО. Значение переменной X, равное 3, выводится на экран; '- выполняется программная строка 30. Осуществляется переход < на программную строду 10: - выполняется программная строка 10. Из таблицы данных считы- вается четвертый элемент, который присваивается переменной X. Из таблицы данных считались все элементы. Таким образом после выпол- ненная программной строки Ю значение переменной X равно 4; - выполняется программная строка 20. Значение переменной X, равное 3, выводится на экран; - выполняется программная строка 30. Осуществляется переход на программную строку 10; ’ ’ - выполняется программная строка 10. Таким образом из таблицы данных считаны все элементы и указатель оператора BEAD неуказыва- ет ни на какой элемент таблицы данных, то вццаетсл сообщение об
ПТ.00552-01 90 01 ошибке ВНЕ ТАТА В 10 = Чтобы избежать этой ошибки, необходимо либо программно про- следить за соответствием количества элементов в таблице данных и. числом считывания этих элементов операторов READ , либо в программу вставить оператор RESTORE, который пересылает указатель оператора READ на первый, элемент таблицы данных, созданной операторами ГАТ о. А если в операторе RESTORE указан номер строки, то пересылает ука- затель оператора READ на первый элемент оператора DATA, стоящего в ©той программной строк©. Чтобы считать данные из таблицы элементов, созданной опера- тором DATA, необходимо сделать следующее дополнение к программе: 25 IF Х=4 THE/V RESTORE WN I 2341234 1 2341 234 гСТОП? , СТОП В 30 Ок Для остановки выполнения программы нажимается клавиша СТОП. Если программу дополнить следующими программными строками: 25 IF-X=8 THEA' RESTORE 50 50 DATA 5, б, 7, 8 то при выполнении программы на экране терминала будут выводиться следующие значения: • 123456785678567856 <СТОП> Удобный способ опознавания последнего значения в операторе DATA заключается в том, чтобы поместить в нем фиктивное значение. Фиктивное.значение - это значение, например, намного превосходящее числа, с которыми мы на самом деле работаем. Фиктивное значение должно выбираться очень тщательно, чтобы его нельзя было спутать с обрабатываемыми значен/ями. Рассмотрим следующую программу: 10 DATA 8, 5,7, -3, -8, 4, 1000
154 « ST.00552-01 90 01
40 ОТ I 0=0 TO 15 • 50 JEA2? CHISAO (I %) .. 60 4'EXT • 70 FOR I %=0 TO 3 80 FOP J %=0 TO 3 90 STPOKA X (I %) ’ ioo ррда stroka $ (i & $), 110 4GSXT 120 РШТ 130 /ГЕХТ I % I40MTA МОСКВА, РИГА, ТАЛЛИН, ВИЛЬНЮС 150 МТА КИШИНЕВ, МИНСК, КИЕВ, БАКУ It О АТА ТБИЛИСИ. ЕРЕВАН, ТАШКЕНТ, КРУИЗЕ I703ATA АШХАБАД, АЛМА-АТА, ДУШАНВ, ЛЕНИНГРАД 180 PRINT 190 FOR 7%=0 ТО 3 ____' 200 ГОР I ^=0 ТО 3 210 РРЖ STPOKA # (I 220 AW I % 230 радг 240 ШТ 250 РРЖ 260 ОТ I %=0 ТО 3 -----—— 270 ЮТТ СШЯ0 CI STPOKA A' (I I %) 280 ШТ ' PU/V
- 156 - ПТ.00552-01 90 01 . АШХАБАД’ АЛМА-АТА ДУШАНБЕ ЛЕНИНГРАД V ’ * ж МОСКВА КИШИНЕВ ТБИЛИСИ АШХАБАД РИГА - МИЖК ЕРЕВАН АЛМА-АТА ж ТАЛЛИН КИЕВ- ТАШКЕНТ ДУШАНБЕ ВИЛЬНЮС БАКУ ФРУЮЕ ЛЕНИНГРАД I •' МОСКВА . . 2 МИНСК . 3 ТАШКЕНТ 4 ЛЕНИНГРАД ‘ Ок ' ' Оператор РАТА можно располагать в лабой части программы. Опо- ра тор DATA можно разделить на части. Рекомендуется не разбрасывать операторы ДАТА по программе. Лучше всего поместить их все вместе в начале или недалеко от конца программы, но до выполнения оператора END. ’ • . Часто бывает необходимо вводить данные с консоли в программу во время выполнения. Для этой цели используются операторы IA/FVT и LINE I/VPpT. Когда в программе встречается оператор B/FVT или LINE 1/УРс‘Т, выполнение программы приостанавливается, на экране появляется знак вопроса, и программа ждет данных. Оператор LVFVT позволяет выводить, на экран подсказку для пользователя. Вводимыев данные присваиваются переменным, заданным в операторе IA/PfT. Вво- ди- ые данные могут быть строковыми и числовыми. При несоответствии угла вводимых данных и'переменных в операторе lAIPi/T на экран вы- 1 унптся сообщение ?ИОВТСРИТЕ-ВВОД, и программа ищет ввод данных. i< ужох быть такг что какие-либо дан.’гне в программе будут яе- • иаинняется вазмаряость массива, начальную и.;?. V ►*-
- 157 - ПТ.00552-01 90 01 конечное значение счетчика и т.п., в этих случаях очень удобно применять оператор INPUT. Следующая программа иллюстрирует этот случай. 10 INPUT "Размерность массива»**; 20 ИМ RAME$(N), MAS (Л/) 30 FOB Ы ТОЛ 40 PRINT I; 50 Ш "Фамилия"; RAME X (I) .60 INPUT "Оклад"; MAS (I) 70 NEXT 80 PRINT 90 FOR 1=1 TON 100 IF MAS (I) > ICO TiO PRINT I, SAME X(I). MAS (I) HO NEXT RVN Размерность массива =? 5 I Фамилия ? Иванов Оклад ? 150 2 Фамилия ? Петров Оклад ? 80 3 Фамилия ? Антонов Оклад ? 175 4 Фамилия ? Смирнов Оклад ? Ю5 i -г-'
- 158 - ПТ. 00552-)I 90 01 ЗОЛИ В ПрОГраММ© необходимо ВВОДИТЬ строки. ТО рбК&ЛвНЛУбТСЛ использовать оператор UWE ЮНГ Этот оператор присваивает стро- ковой переменной строит данных длиной до 254 символов, Все введен ныв данные до возврата каретки присваиваются строковой переменной В отличиэ от 1$Р*/Т оператор АЖЕ ХУРЕГГ не печатает знак валюса. если ок не является частью строки напоминания» Функция !№££?% такке позволяет влиять на выполнение програм- мы с клавиатуры» Эта функция возвращает либо символ, считанный с клавиатуры, либо пустой сжвог, если не была нажата никакел клави- ша» Введенный символ не выводится на экран дисплея. Перед исполь- зованием функции 1МСЕУК необходимо присвоить ее значение строко- вой переменной, Следующие программные строки: © . ' 100 РКШТ "Наймите клавишу z. возврат карета: 7" по аХ • 120 IF А^=ЖХ(Ш02>) 1W£OTO 140 130 £0Т0 ПО о CS- ф ' . - позволяет продолжить, нацримэр, вывод аа экран после нажатия юха- виши возврата каретки». Использоваже фикции ХЛЙ^К удобно пользователю при чтении е Э1фаиа казсахчиибо директив, иапр®ар? в обучающих щжкла^пш?: ripoipa&wcs в дрогражах мена и т.д. СледудаЙ пример демонстриру- ет эту возможность: «3 3 100 I; -"СОЗДАТЬ ФАЙЛ” ПП PRIivT 2; "СТЕЖЬ ФАЙЛ54
159 -
00552-01 90 01 нуля, то оно выводится на печатающее устройстве. 40 IF Х<0 TIEN PRINT X ELSE GOTO 20 Если из файла данных требуется считывать длинные строковые значения, то рекомендуется использовать оператор LINE INR'T . 3.2. Встроенные функции 3.2.1. Математические функции При программировании различных задач часто бывает необходи- мо вычислить тригонометрические функции, квадратный корень, лога- рифм или экспоненту числа и т.д. Благодаря встроенным функциям ь языке Бейсик вычисление этих и других величин несложно. Язык Бей- сик представляет пользователю следующие функции: ABS - абсолютное значение числа; ATN - арктангенс числа; COS - косинус угла; ЕХР - экспонента числа; ИХ - усечение дробного числа до целого; INT - самое большое целое число меньшее или равное аргу- менту; ; LOG - натуральный логарифм числа; В//Р - случайнее чз-сло между 0 и I; •5CN - знак числа; 5IN - синус угла; 5'СЕ - квадратный корень числа; TAL1 •» тангенс угла. правило записи встроенных функиий формулируется следующим образе/: асгучезт функции должен быть заключен в скобки и записан
после ий'ёгя используемо?! фикции. В качестве аргумента можно ис- nonbaosaTh число, перемен^®'или выражение. Выражение, используе- мое в качества аргумента, мочет содержать обращение к другим фун- <1 Насркмер: >. ' 10 $Р0Т X ' 20 РЙЖ X, ' 5Ж (X), CCS (Xl„ ТМ (X), I/Ш (X) Л-30-даГда (5Q& (Х)+1) Эт# программа выводит на экран число, его окну с, косигуе, тан- генс, котангенс, а такие синус квадратного корня числа X плюс I. Число X вводится с клавиатура. Следуюпая яро грамма, использующая встроенные функции, находит * - * числа I, 0 и К,, для которых I и I +7 я3 ® К « К» в тригонометрических функциях задаются в радианах. Дая перевода градусов з радиаж результат умножается на РХД 30. <т§етить, что при переводе из радиан в градусы я обратно, в точнее величина PI , тем точнее. будет выполнено пресг»т«азовбни£. йпразии'а' более точное значение числа РХ^З Л4150265233* В языке
162 - секанс ^ЕС (X) « VCOS косеканс CSC (X) » IZ£I^ (X) (X) (X) . котангенс СОТ (X) - I/ТАЛ J . арксинус ASC5IW (X) = ATW (XZW (I-XxX)) . * 1* л " * ‘ арккосинус ABCCOS (X) = I.570796-AT# (X/SQB (I-XxX)) ' . - 1 - * арксеканс АРС5ЕС (X) = ATN (50^ (XxX-I)) + (Ж0)х3.141593 арккосеканс AECCSC (X) арккотангенс АВССОТ (X) ' гиперболический синус JIKH (X) гиперболический СО?Н (X) =* (ОТ гиперболический ’ TANH (X) « (ОТ гиперболический 5ЕСН (X) - 2/(ЁХР (X) + ОТ (-Х)У /гиперболический косеканс. COSH (X) =» 2/(ОТ (X) - ОТ (*Х)> гиперболический котангенс: = ATN (I/SQJi (ХяХ-I)) ♦ (X< $0x3.141593 I.57096-ATN (X) (ОТ (X) - ОТ (“Х))/2 косинус. (X) + ОТ (*Х))/2 тангенс (X) а „ секанс ОТ (-X))/(OT (X) + ОТ (-X)) : СОТН (X) ~ (ОТ (X) .+ ОТ (-Х))/(ЕХР (X) - EXF (-Х)> арксинус гиперболическийг /.. - . - - - , “ Г- " _ • /
163 - ПТ .00552-01 90 01 . . . • > - • ' ~ ABCtfNH <х| » ioe (X+SQR (X*X+D) арккосинус гиперболический АЕСС05Н (X) - LOG (Х+&В (ХхХ-1)) арктангенс гиперболический . ARCTW (Х> * LOG ((I+X)/(I-X))/2 . арксеканс гиперболический ЛЕИ (X) •* LOG ((1<Ш (1-Х«Х))7Х) арккосеканс гиперболический \ ЛКСС5СН (X) - L0G((I+5G.W (Х)хЖ (МхХ))/Х) арккотангенс гиперболдагеский ДВССОТН (X) Л LOG ((»!)/(х4|)/2 Чтобы использовать эти функции, закодируйте их операторы '» FN. • ' Например: арксинус гиперболический: ЖР Fh'AS(Х)«ЮС(Х+^В(ХхХ+1), затем обратитесь. к нему, когда необходимо 2~Г&М(У). < Натуральные логарифмы используются во многих задачах, но иногда необходимо вычислить десятичный логарифм. Значение деся- тичнотч} логарифма можно получить, умножив значение натурального логарифма на 0.43429448. Например: Ю0£А/»LOG(X) ' НО ID = LAfeeO.43429448 В этом примере LN - натуральный логарифм числа X, L-Р - де- сятичный логарифм числа X/ При решении некоторых задач, особенно ста^с'г^гесжх, trrpc еШ и обучающих, может потрсбо'ячться, чтобы числа э’1л-я£'1л/с’. сд чайным образом. получе^я чиенл ^сгользу:?гся -".унк ция Ehl;, которая геиегиру^т' гг>ььдое ^/чайное число ь днгчгазоне
ПТ.00552-01 90 01 меаду 0 и I. При каждом выполнении программы будет генерироваться одаа к 5 ” - та же последовательность случайных чисел. В некоторых задачах требуется» чтобы последовательность генерировалась каждый раз но- вая. Для этого рекомендуется сделать переменным аргумент ©'иуш HN0 .или вставить в программу оператор BAN00MI2E до первого об- ращения к функции М) , поэтов лучве его .вставить в начало про- граммы. Случайные числа рекомендуется использовать •• в ©бучащих программах для задания начальных условий в различных вариантах, и чтобы эти условия были непредсказуемы для обучающихся с помощь® той поогпаь * *- 3.2.2. Перевод п&ременных одного типа в другой Иногда требуется преобразовать тип данных» т.э,. преобразовать последовательность символов в число или наоборот» или изменить точ- ность числовой переменной. Для этого в языке Бейсик есть следующие возможности: - функция VAL возвращает числовое значение строкового аргу- мента, если символы строки цифры; качестве аргумента; • V - • - функция Н5Х X возвращает строку шестнадцатеричных цифр» де- сятичный эквивалент которых задан в качестве аргумента; -i » ' ' - - ‘ ' - функция OCT W возвращает строку. восьмеричных «яфр> ннй эквивалент которых задан в. качестве аргумента; функция BIN У возвращает отроду двоичных ц^фр, десятич- ный эквивалент которых, задан в качестве аргумента; - функция CIMT переводит числовой аргумент- в целое чвкзло округлением дробной части; - * . • . - ’.^ нкция Ct$N G переводят числовой аргумент в число одинар-
ной точности: - функция CPBi переводит числовой аргумент в число двой- ной точности. ' 3.3» Операторы цикла ’ По ходу выполнения прзграммы.иногда.возникает необходимость вштолнить группу операторов несколько раз. Рассмотрим следующую задачу: необходимо создать таблицу натуральных чисел от I до IOC, квадратов, кубов и корней зтж чисел. То есть надо вычислить эти . значения и результаты вывести на печатающее устройство. Это мои- но аадротрамдадодеть несколькими способами. Л^Лервй способ. -'• д тж ?ЧИСЛ0в;ТО(10) Г^ЕНЬй;ТАВ(20);яКадаТя:ТЖ30Ъ 2Q 4PKINT 2;ТАВ(10)да(2);ТАВ(20):2А2;ТАВСЗЭ)^А3 . « ... ' : • . . ' _ . ... • Д ’ -' * - - ... ’ . ' - * . ? ’ ’ - - ' .J-ШдадаТДО0<Ш(1О); Ж(100);ТАВ(20У;100л2да(^))*100лЗ . Таким способом для программирования ©того задания потребовав 'лась 101 гфорраммная строка. Программная строка I печатает шго- ловок таблицы. Следуйте 100 строк вычисляют и эаводят на пе^тад>- щее устройство само число, его квадратный '«орень, квадрат ж куб. - Каждая программная строка обрабат^ает конкретную константу от I • ДО loo«?yv ?.:^',3 ;... у Второй -СЯОвШ$«’.;- ^'Шуу;'у<-А .’. Ж. Г-../ •..?••• '; При программдавании'-первш способом каящое значение,которое надо вычислить и напечатав задается в йрограшйзй строке как константа. Зададим ети значе» как пер^ежше и будда присваивать " . » зтйм переменно конкретжв Используя усло^ ' - . » . - IF, которой проверяет заданное условие, $s оператор безусловного
-166 - ПТ .00552-01 90 01 • ' - - перехода GOTO, создадим цикл. 10 LPEINT "ЧИСЛО";ТАВ(10);"КОРЕНЬ";ТАВ(20);"КВАДРАТ";ТАВ(30);. "КУБ" 20 Х»1 30 tPBIHT X;TAB(IO); 50£{Х);ТАВ(20);ХЛ2;ТАВ(30);ХЛ 3 40 Х=Х+1 50 IF X < =100 THEN GOTO 30 Таким образом для программирования этого &е задания потребо- валось пять программных сФрок. Программная строка 10 печатает за- головок таблицы. Программная строка 20 присваивает переменной X начальное значение, равное I. Программная строка 30 вычисляет и выводит на печать число, его корень, квадрат и куб. Программная строка 40 увеличивает значение переменной X на I. В программной строке 50 проверяется значение переменной X; если оно меньше или равно 100, то осуществляется переход на программную строку 30, и' переменная X с новым значением продолжает обрабатываться. А если значение переменной X больше 100» то выполнение программы прек- • • ’ • * * • . * ращается. Следующие два способа иллюстрируют автоматическую орга- низацию цикла. Третий способ. Создадим автоматический цикл, используя операторы FOR...A/EXT. 10 PRINT "ЧИСЛО ” ;ТАВ( 10); "КОРЕНЬ" ;ТАВ( 20); "КВАДРАТ" ;ТАВ( 30); "КУБ" " ’ 20 FOR X=I ТО 100 30 PRINT Х;ТАВ(10);50В(Х);ТАВ(20);Хл 2;ТАВ(30);ХА 3 40. NEXT Таким способом для программирования этого же задания потре- бовалось четыре программные.строки. Программная строка 10 Печатает заголовок таблицы. Программная строка 20 является заголовком цик- ла, в ксгором указывается начальное, конечное значение счетчика цикля и пег цикла. В зто:« »гримере шаг цикла, равный 1, задан го
- 167 - умолчанию. Шаг цикла - эго число, которое прибавляется к зна- чение счетчика. Лрогрешные строки, следующие за оператором РОЕ, выполняются до тех пор, пока не встретится оператор NEXT. Затем к значению счетчика прибавляется значение шага. Выполняется про- верка счетчика на Конечное значение. И в зависимости от этого цикл повторяется или заканчивается, и выполняются операторы,еле- дующие за оператором Таким образом программная строка 30» выполняюсь вычисления о&драта, дуба й корня и выводясь эти зна- чения напечать,'"выполнялась 100 раз.Переменная счетчика X уведи- чиваётся на I айомагичесий^'. ;.й каддыйраз ..программная строка 30 /. обрабатывает новое 'переменной-Х.котораяиспользуется в этойСтроке для вычйфгенйя корня, квадрата и куба. Использование переменной счетчика X в программной строке 30 разрешено, так как * J, < . 1 • » е ” * 9 w " • ' — Л- w . “ * * в этой строке не изменяется само значение переменной Xi< Использование циклов значительно экономит память. Циклы РОЕ.. IOSXT могут быть вложены до любого уровня. Уровень вложения зави- : сит от свободной памяти. Каждый вложенный оператор РОЕ должен . иметь Свои имена переменных в качестве счетчика. Оператор NEXT для внутреннегоцикла должен выполняться раньше оператора NEXT . /ДЛЯ: ВНеШНеГО^ЦИЮ^ ' объема памяти, занимаемой программой, и умень- ':-щения времени выполнения цикла рекрмецауетея .использовать для счег Д<Чйка Шкла целочисленные; переменны Значение шага цикла может быть положительн«м и отрицательным, целым и дробным. ’-'г^рй организации циклов с помощью операторов F0R...N2XT мо- гут встречаться следующие ошибки: \ 4 < . х' - - - .. . л оператор- - не указано ключевое слово РОЕ, например:
качестве счетчиков цикла, например: 100 FDR 1=1 ТС 20 . ПО РОВ 1=19 ТО I STEP -2 ’ ' 120 PRINT I 130 NEXT I * 140 NEXT - внутри цикла присваивается переменная, имя которой такое ge, W что и счетчик цикла, например: 10 А=20 10 И>Х=1 ТО б . 20 ИЖУ=1 ТО 8 ; 30 А=Ш5 (Х,У) X Л ‘ • ' 40 ЖМТ А - ' ( - 50 ШТ X Г X XSSxX^ ' . бо шт у ./. XX х ’ ;'х- /-Х?:/.-' / • - • X . ’ . ? *. • - Нельзя забывать что цикл FOR 1-0. TON будет выполняться N+I раз» aaeN • ;;; X •/. 3.4. Усжовннй ©гюр&тор- и оператор безусловного перехода Вс шюгж озушях требуется, чтобы программа "принимала реде- ше^. Напржер, ж да*тте проверить какзе-жбо условие и а зависим
йеости от этот взйпоякйть те яяи иные операции. Оператор IF поз- воляет вам сделать дтп. Оператор 1F «ст три части: часть IF (в примере IF 5), честь THEM (в прикюре ТЬЕА; GOTO 360), и честь (в примере EL-3 F РЕШТ 5 ). %й№ь 15 содержит логичеетуо форв^гжу, а части
- 170 - ПТ.С0552-01 SC 01 В программной строке 10 осуществляется ввод числа в программу. Программная строка 20 проверяет, меньше ли пяти введенное число.Если меньше. то г* печатается сообщение "Должно быть больше”.Подобным образом следующая программная строка проверяет, болызе ли пяти введенное число, и пели больше.то печатается сообщение "Должно быть меньше".Программная строка 40 проверяет введенное число на неравенство пяти.Если число не равно пяти, го осуществляется переход на программную стропу 10 и прог- рамма продолжает выполняться с начала. Если же введенное число равно пяти,то печатается сообщение "Вы угадали число", и выполнение прог- раммы заканчивается. В логической. 'фо риз-ле части IF могут быть ис польз с ваны операции отношенья: равно, не разно, меньше, больше, меньше или равно,болгше или разно и логические операции: W) , OE.,XOE,NOT,EQLr и .Перемен- но ,т.е< интерпретатор.д^ачиная с наименьшего номера программной строки, шшалдает последовательно программные строки в порядке увеличения их ЕЯ} ШТ0 передает у правление не следующей программной строке , номер кото- рой задается операторам GOTO.Например,, есл» задано GOTO 100,то следуй- щей будет аыпожятьш прегрюеш»^ строга с номером 100. Оператор ON...GOTO позволяет использовать зиачэиие переменней' или формулы для выбор® значеда из группы значений. Например, оператор ON VAB SCTD 100,200,300,400 передает управление программной строке 200,если значете 1/АЯ разно двум и т.д.То есть упр^ление передается П ~й программной строке в задатам списке номеров програишшх строк. Если зжчешт l/Ж- не целое число,то оно округляется. Если значегва® переменной равно нулю или больше количества
ITT - ПТ,00552-61 90 01 номеров строк в списке, тп будет выполняться следующая т/рогрвммная строка. Если значение переклейной отрицательно или •'юлыпе 255, то выдается сообщение НЕВЕРЕН ВЫЗОВ ФУНКЦИИ. Программная строке ОД/ 1ГАЕ GOTO 100, 200, 300, 400 зквивалвнтмв следующим программным строкам: Строковые зжч@да пврв^ш так ?к®.» ш и
пустая операторов ВЛГМ кек и для we л Язык Бейсик позволяет исшльзовэдъ массивы строковых пере- если вы пишите’ программу» которая обрабатывает, заработной платы, то необходимо в начале гтрогра ведом; роковую первые?
-173 - 90 от которые названы ЗАМЕ X (0), RAME X (!),«.., ЗАМЕ X (50). Эти переменные ногу? быть использованы в программе подобно простым *1“^Д5М15?<дтЯв1 • Следдоцая псорраавиа получает имена с консоли и сортирует их используя простую пузырьковую сортировку. Оператор ®sm з задает всем переменным, имена которых начинается на j строковой тип. ю жетв 20 HWT "Количество имен"; N '30 Ш 5 ($) 40 ЕШ Ввод. имен с кс-моохи 50 ГОЕ 1= 1 ТО N 55 PRINT I; 60 IWT "Имя"; 5(1) '70 NEXT 80 КЕМ Сортировка имея 90 И® 1=1 TON -I too m 7=i+4 ton НО IF 5(1) 7 THE/V 31VAE 3‘(I), 5(7) 120 NEXT 7,1 130 Печать пслр^е^ного списка 135 PRINT ? 140 PRINT "Отсортированный список имен" 150 PRINT 160 ГОЕ 1=1 ТОМ 170 PRINT 3(1) 180 NgXT 190 END RVN
- 174- ПТ.00552-01 90 01 Количество имен ? 6 1 Имя ? Л7 t С h С t 2 Имя ? IV i Un' г 3 Имя ? J) в ьv 4 Имя ? fat h О t ' 5 Имя ? Ph i t * I 6 Им?: ? Stt,j>hen Отсортированный список имен Пример приведен для строк, содержащих символы латинского ал- фашта, так как строки» содержащие символы русского алфавита, sa- 2й2дироваыные в КОИ-8, жгжны сравшваться, используя другой алго— рте, йэыке Бейсин сущест^уг-т следующие строкзвые операции: конкатенация или сцепление строк; - аперапии сравнения строк; встроенные фикции. боты по QTpjKoBfWM дендаш используются сведущие встро- внные функции:
- функция CPRM возвращает символ с заданна» кодом 1ЮИ-8 CRIP X. =С®Х (13)+СЖх(10). PRINT СНВХ ( / И74НСНР % (234) t Й - функция LEW возвращает длину строки, т.е. количество символов строковой переменной PRINT lEN ' "BASIC-про грам.'ла") - функция LhTT X возвращает самые левые символа строковой переменной PRINT SETT X ("BAS IC -про грамма", 5 ) BASIC - функция RIGHT К переменноЙ возвращает самые правые символы строковой PRINT RIGHT X । "BASIC-про грамма15, 9) - функция MIP X возвращает часть строки в строке начиная с заданной позиции PRINT MI Р X (*ПР9ГРА1ШН ,4,5) ГРАМЫ - функция возвращает деловое значение стшковсй пене* ** “ ь «, менной PRINT TAL ("35"U Ш (*15”) 50 - функция STR д яозвр;^цает строковое значение числовой пе- ременной PRINT STR X (35)^ STR X (15) 3515 - функция I X переэодит ’шсж> в з^чщдцатеричцуй строку
- 176 - ПТ.00552-01 90 01 PRINT HEX X (42? 2A - функция OCT X переводит число в восьмеричную строку PRINT OCT X Г 48'i - функция 5FA2L X всэвт |ает строку пробелов PRINT ПРОБЕЛ "ПРОБЕЛдаСЕ ’Х (5); • SPACE" SPACE - функция STRING X возвращает повторенный заданное ^исло раз символ строковой переменной PRINT STRING К (5,42); "BASIC"; STRING •шя» BASIC ///// х (5,47) - функция Ж$ТЕ возвращает позицию части строки » строке, начиная с заданной позиции PRINT INSTR (3,^ПРО1?АЖЙА*5 "Р") 5 - переменная ВД5У X возвращает символ, считанный с клавиа- туры; или с клавиатуры. . Перед использйдатем строковых данных для очистки строковых переменных и увеляченмя, строкового пространства рекомендуется ис- пользовать оператор CLEAR в начале программ. фунедкя F-S & етроксйв^ аргументом выполняет owe-тку неисш£Э©Ж»^й?1 областей которые были однажды испольео- ваш для строжажк пйршшдсах,- й воаврацает ^и&ло спободж байт» 3.6» Вывод -на ©кран st устройство Ядак Бейешс .жэвожвт owei^ .п^юста ждздйть на ©кран w минала ют устбоййтзвэ аж етроховое э>^чешев Ж- . 4 *» »
Дяя вывода ня экран используется оператор PRINT, а для вывода на печатающее устройство - оператор • PRINT; в даль нейшем будем ряс— сматривать только оператор LPRINT, так как оператор FEINT обла- дает аналогичными возможностями. Оператор LPEINT можно использо- вать для: • • - печати текущего значения переменных и констант; ТОТ Х;У; Z . LPEINT 1;-2,3.6 lfeintx,o,fx - выполнения вычислений и печати их результатов - ьтамт 1,ЕШ1М0Ш),1а2+1 а 4 UWT 1Х£И (ЬУжЭ - печати текстовик сообщений LPRINT "ПРОГРАММА РЖВД КВАДРАТЯШ) УРАВНЕНИЯ" LPRLVT "КВАДРАТ ЧИСЛА" ;У; "РАВЕН" ;У>еУ Оператор tFEINT без параметров вызывает печать густой строки. Оператор APRINT, обладая большой гибкостью, позволяет полу- ♦ нить различные форматы печати. Позиция каждого напечатанного эле- мента определяется знаком препинания в списке выражений оператора PRINT. Печатная строка делится на зоны печати по 14 символов каждая. Управление использованием зон производится с помощью запятых в спис- ке выражений. Запятая указывает о том, что следующее значение будет печататься с начала следующей зоны, а если все зоны печати уже за- полнены, то с начала первой зоны следующей строки. Точка с запятой в списке выражений указывает о том, что следующее значение, будет печататься со следующей позиции с учетом пробелов при печати чисел. Так за числом всегда следует пробел. Положительному числу предшест- вует пробел, а отрицательному числу - знак минус. Строки, заключен-
-176 - . • . .... • ПТ.00552-01 90 CI ные в кавычки, печатаются без изменений. Поэтому ел,едущие опера* торы дадут различные результаты. . Например: .10 PRINT ±;2 20 FEINT 30 PRINT 10,20 40 PRINT "I0",”20" РЛГМ I 2 J- •' 12 10 . 20 10 20 Если запятая или точка с запятой заканчивает список выражений то Следующий оператор PRIMT (или INB/T) продолжит вывод в той же строке через соответствующее число пробелов, в противном случае вывод продолжается со следующей строки. 10 PRINT *А* с » го еото ю р А А А -А . 21 Изменив програллщую строку 10 на строку 10 РЕМ *А*, подучию пр& выполнении
PATH AA A A ’ A . A A A . A A A A' A ‘ A . A A - A - A * А если измерить программную строку 10 на строку 10 РШАТ "А”, получим гтри знпс лнеши Оператор PRINT безпараметров можно использовать для вклю- ~чёния гнется строки, если необходимо разделить получение резуль- ’Таты; или два перехода на всвую строку. • •• Например:/’. IOWRWTON • ’ ' • • - . .. .. . 20 тм ВО PRINT Х(1^7); 40. WEXT . . ; • . . 50 • PRINT - ..: ’ . 60 NEXT I ' Программная строка 50 необходама для того, чтобы после вы- вода значения Х(1Л) следующее значение Х(2,1) начало выводится в следующей строке и т.д,‘
заданной позиции строки терминала требуемую информацию; - .функция ЗРАСЕ возэрг^ает строку, состоящую из заданного числа пробелов; - оператор WH7x?I устанавливает ширину строки терминала, т.е. задает правую границу экрана; - оператор PRINT V5ING позволяет вызолить строковые и число- вые данные, используя формат, заданный в операторе. Оператор PRINT USING определяет правое выравнивание, выводит знак + или - в начале или конце числа, выводит числа в эксшненциалъном формате и т.п. Иногда в программе может потребоваться очистить экран перед выводом определенной информации, для этой цели используется опера- тор PRINT следующим образом: РЕЖТ СНЕ X (12), i^ie 12 (или 4 НОС) - код очистки экрана. Для установки текстового курсора в требуемую позицию реко- мендуется использовать оператор LOCATE.. 3.7. Работа с подпрограммами, написанными на языке Бейсик В языке Бейсик можно организовать подпрограмму так, что раз- личные программные сегменты будут выступать в роли программ .Для обращения к таким подпрограммам используется оператор GCJP'B.Опера- тор RETURN возвращает управление из подпрограммы обратно в вызы- вающую 'Программ. Программа продолжает выполняться с оператора, следующего за оператором GQSUB. Подпрограмма может содержать нес- колько операторов RETURN для возврата из различных точек подпро-
НОСТй, то Х( TWI Х(2)=2 жзнз Х(4)^5 У=У+2 • GOTO 600 REM Подпрсграаш?. THEN GOTO 570 э. Разое-заатся
550 - IF JfeO THEN EETl/RN ’ 560 NEXT' J OO\J X\ -t )=j 590 IF I C -N THEN RETURN 600’ JO Вывод полученного массива простых чисел на экран 6IQ PRINT "Следующий список содержит M;N; ”, простых чисел- 620 PRINT 630 К=0 640 FOR IЛ ТО/V 650 PRINT ТАВ( 7«К);Х(1); 660 К=Ы • ’ ; 670 IF К< 9 THEN GOTO 700 . ' ; .; ‘ . 680 К=О 690 тат - . • 700 NOT Г ” ' 710 StiD к подпрограмме обращаются только один раз, то рекомеедуется использовать не оператор G05V3 а оператор СОТО. С помощью оператора ON ...GGS'.'E -ложно обратиться к одной из нескольких заданных программ. Переход осуществляется е зависимос- ти от значения, указан! ого после кжчевого слова 0N. Это значение определяет, какая подпрограмма будет вызываться. В операторе пос- ле ключевого слова О/v мон ет использовать ся переменная или выра- жение,, В списке после ключевого слова GGSl/В может быть любое ко- личество номеров строк. Некоторые из них могут повторяться„ Если значение переменной- не является целым число.л, то используется . целая часть этого значения для определения, дуда должно быть пе- редано управление.
В языке Бейсин отдельные программа, сохраненные на диске, можно использовать как подпрограммы и вызывать из основной корне- вой про граммы. Для этой цели команды E-VN, lCAP , MERGE и др. ис- пользуются в программном режиме. Эти возможности очень удобны при создании программ меню. Например: 90 PRINT "Вы можете вызвать любую игру, набрав соот- ветствующий номер*1 95 PRINT . 100 PRINT * Й* 105 PRINT" . ’ ' IIC PRINT " I. ОТЕЛЮ (реверси) (человек компьютер)" 120 PRINT ” Я» ОТЕЛЛО (человек-человек)" 130 PEINT * 3. ЮРСКОЙ БОЙ* I4C FEINT " 4. СКАЧКИ* I5C PRINT " 5. НАРДЫ* 170 PRINT "'7. КРОСС* 180 PRINT * 0. КОНЕЦ ПР01РАМЙН* 190 ЮГХ=1№ЕхХ х IF ЖХ="* GOTO I9G 240 ГН' IP THEN т
300 PRINT •wBa набрали неправильный номер задания* 305 РЕМТ "Введите еще раз* : GOTO 190 310 ?arN RAMS X : SOTO 90 Эта программа позволяет перейти к выполнению любой из пере- численных игровых программ, При нажатии клавиши с соответствующим номером игры происходит загрузка и выполнение нужной программы с помощью команды RVN , заданной в программной строке 310. В вызыва- емых программах рекомендуется создавать возможность возврата в прог- рамму ЖЖ). В следующем примере для присоединения к корневой прог- рамме отдельных подпрограмм используется команда ЖВ6Е также в про- граммам режиме. 100 К # =№У К : IF КХ=™ ТШН GOTO 100 Необходимо помнить» что программы PROGA.A,PROGB.A, PROGC.A, PROSD .А и PROSE. А должны были быть записаны в кодах КОЯ-8, т.е. при записи этих- программ на магнитный диск или НКМЛ в команде SAVE надо было указать параметр А. Формирование программы из отдельных модулей -очень удобно для отладки. Из отдельных программ можно создать свою библиотеку и фор- мировать из этих программ любые программы. При задании имен прог—• рамм можно указывать любой дисковод» на котором хранятся отдельные' программу.
Ш'. 00552-01 93 01 3.8. Файлы д&внщ. В языке Бейсик существует вээко^щрсть создавать и работать е файлами с шследоэателыЕйм доступом. данные. которые записываются в файлы с последовательным дос- запоминаются один за другим (последовательно) и считывают ся таким же способом. 5 с послздоэдтедмОД доступом используются ♦ п ДОЖ ТЦ ввода*1 ( OPEN 9 "РАТА" грамму, используя оператор Ih'P^T^ INPL'T которого вводятся с терминала. OPEN- ”0", #1, "РАТА" Ж ШТ "НОМЕР"; ИХ • • • . IF i»X="0" THEN SOTO НО ' 10
у- к данным сайда с пс-с- А ITDC ПРТ-^?^ г?. ??сири^ Р - t А> ч ^."ь "а. L -ьЧмД %>Р^*д "*Г. ь -п. га--ад-в =. ГЛ^ •• 4 Xpj о ._» в . t * «; Д -. ** к х -» -»>
- 187 - ПТ .00852-01 90 01 Програмж,. которая создает файл с последовательным доступом, может записывать и формировать данные на диск, используя оператор PEIA’T При использовании с файлами с последовательным дос- тупом функция LOC возвращает t-жсло секторов (сектор - 128-байтный' блок данных)* записанных или сиитайных из файла с тех пор, как он был открыт (OPEN). Если Вы хотите добавить данные в уже созданный- файл, который находится на диске, нельзя просто открыть файл для режима "0" и начать -записывать данные. Как только Вы откроете файл с последователь да доступом для режима П9П, Вы уничтожите его текущее содержимое» Для добавления данных в уже существующий файл с именем DATA надо в^полдать следующие операции: - I) открыть файл с именем DATA для режима "Iй; 2) открыть второй файл с именем СОРУ для режима *0" ; 3) считать данные из файла DATA и записать в файл СОРУ; 4) закрнть файл DATA и стереть его; 5) записать новую информацию в файл СОРУ; « 6) переименовать файл СОРУ в файл DATA и закрыть его Теперь файл с именем DATA включает всю плюс новые добавленные данные. Пример программы- создания файла или добавления данных в файл с именем DATA. Эта программа также иллюстрирует использование опе- ратора LINE IN PUT # для . считывания строк из дискового файла.Опе- ратор LINE II/PUT # считывает символы до встречи возврата карет-. * ки или до тех пор, пока не считает 2ЬЬ символов. 10 ON ЕНЕЗЕ GOTO 2000 . 20 OPEN 1”, #1, "DATA" 30 ELM Если файл уже существует, записывайте в СОРУ
- ibb ПТ.00552-01 90 01 40 uPEN "G ", # 2, !?CGpy" 50 IF ECF(I) THEft GOTO 90 60 LINE INPUT £ I,A 70 PRINT ? 2,A oO buiG oO 90 CLOSE I 100 KILA "DATA” IIO АРМ Добавьте новые данные s файл 120 INPUT "ШЯ N '< 130 IF N =C.£K( 12) THEN GOTO luO; - КЕД Возврат каретки заканчивает ввод 140 LINE INPUT "АДРЕС ? ”; A X 150 Ш INPUT "ДАТА ? ’’ ; D К 160 PRINT =# 2,N X : PRINT # 2,A)( : PRINT # 2,2 & 170 PRINT : GOTO 120 180 CLOSE 190 EEl Измените имя файла на имя ДАТА 200 W ”СОРУ" AS "ДАТА" 2000 IP E8R-53 №[) ERL-2Q THEN OPEN "О", $2, "СОРУ** : RES U !4Ь 120 2010 ON ERROR GOTO О Подпрограмма ловушки ошибки в строке 2000 ловит ошибку ФАЙД НЕ НАЙДЕН В 20 и открывает файл с именем СОРУ. 3.9. Работа с графическими операторами 3 режиме отображения графической информации на экране термина- ла можно нарисовать точку, прямую, прямоугольник, эллипс и другую форму, а также закрасить ее. б случае необходимости на графическое изображение накладыва- ется алфавитно-цифровая информация, кстссая может стираться и пе -
-ii 90 Ox подвигаться по экрану, на дзменяя графического изображения. ддя вывода течки графической информацией исполь- Шк, 1Д/Г, PAINT, , РЖ, rOiNT. графическим оператором необходимо определить ее местоположение на экране терминала. Размер экрана - ох2 гори- зонтальжк точек на 256 вертикаль®». Точки нумеруются, начиная о сверху г5шз и слеза направо, т.е. верхняя левая точка экрана (Б.и). а нижняя плавая U- Обычно местоположение точки определяется, используя значения координат в форме (Х,У)Э где X указывает на горизонтальную позиций, а У - на вертикальную• Эта форгла называется абсолютной я указывает на действительные позиции точки на экране. Относительная форма у к а— бывает позшшю точки относительно последней отображаемой точки,. Ж форма: где X - смещение указывает на позицию горизонтального, а У - сме- щение - вертикального смещения точки. Последняя позиция, к которой обращались, зависит от результата выполнения каждого графического оператора. Например: лОС i'55T (200, 100): EEi/i Абсолютная форма л 10 г’.зЕТ 5Т&Р (10, -20) : EEU Относительная форма В этом примере на экране рисуются точки с координатами (200, 100) и (210, ОСЬ Координату точки также можно установить оператором RE10C. Язык Бейсик предоставляет пользователю возможность менять цвета переднего и заднего фона оператором COtOR. . При загрузке интерпретатора языка Бейсин устанавливаются
• — 190 — lu .00552-01 90 01 следующие цвета: С - черный; 1 - синий; 2 ~ зеленый; . * 3 - голубой; 4 - красный; 5 ~ фиолетовый; и желтый; / - белый. Причем цвет переднего фона - белый (7), а заднего фона - чер- ный (О'. для перепрограммирования таблицы цветов используется оператор LVT. . . Для вывода графического изображения на в кран терасашла исполь- зуются операторы: - RSET - нарисовать точку; PRESET - стереть точку; • PAIWT — закрасить цветом определеннуэ область графического экрана; • i-I/VE - нарисовать прямую или прямоугольник; CIRCLE - нарисовать круг или эллипс; ’ . ' DRAW ~ нарисовать сложный рисунок ломаными линиями. Если в этих операторах не указан цвет, то изображение будет рисоваться цветом переднего фона, а в операторе PRE5ET - цветом заднего фона. • •. ’ Стереть графическое изображение с экрана терминала можно оператором PCLS. '
191 17.Т..C0552-GI 90 01 3,10» Работа co эв./кэвьйзм операторами
00552-01 90 01 100 SOiA-'v < *1 5^*'* , J л. Сообщения ШТ БЕЗ R.B (Код ошибки - I;, Вереженная в операторе А/EXT не соответствует перченной опе- раторе РЭЕ, 0ШЮА СШЗЖИСА (Кед ошибки -2). 4 Ьстрошется строка, которая содерквт некоторую некорректно посл^рдаш®ь«оеаь «®да (^соошзфствие скобок» неправильная коиацва или олератор^ некорректная дувктуедид и т*дг). &SWEM ВЕЗ 60S U В (Код ожбяи - 3)с Встрешетея ©гиратор для которого нет соответстЕ®1®- щего предварительюго оператора 605UB. ВШ ЖГА (Код ошибки - 4). Л Вшюлнеяие айератора SEA&, ковд^ нет оператора -ЖГА с веечи- (Код ошибки - Параметр» которой задан вне диапазона, передается в системную -» отрицательный шш непришлемо большой иццекс; “ отрицательная мантисса с нецелочисленной экспонентой; ошибочный, аргумент в функции или операторе (Код .ошибки -6)
бесконечность с соответствующим знаком получа- ется как результат, ьсли число слишком мало для представления в числовом формате, то получается -антипереполнение. Если это встре- чается, то результат нулевой, и выполнение продолжается без ошибки (Код ошибки -7). имеет очень много Циклов FOB или G05VB. (КОД; ОИИбКИ - 9). дются или с индексом, задан- . сивом, или имеется некорректно закодированная встроенная функция. (Код ошибки -10). Это может быть в одном из следующих случаев: оператор Ю задан для массива после определения размерное-
- 194 - ПТ.005524)1 90 01 Попытка деления на ноль или возведения ноля в отрицательную степень. Как результат деления получится машинная бесконечность со знаком числителя или положительная машинная бесконечность как ре- зультат экспоненты. KEbKPiihji ДИРЕКТИВА (Код ошибки - 12). Оператор, который не может быть задан з прямом режиме, вводит- ся как команда. НЕВЕРНЫЙ ТИП (Код ошибки - 13). Задается строковое значение там, где ожидалось числовое, или наоборот. Эта ошибка может быть вызвана попыткой обменять ( ^WAP) значения одинарной и двойной точности. Строковое пространство распределяется динамически до тех пор, Пока имеется свободная память. Ошибка означает, что свободной па- мяти больше нет. ДЛИННАЯ СТРОКА (Код ошибки -15). Попытка создать строку длиной больше 255 символов. СЛОЖНАЯ СТРОКА (Код ошибки - 16). Строковое выражение слишком длинно или слишком сложно. Реко- мецпуется.разбить выражение на части. . ОЛИВКА ССМ ' (Ksjl ошибка - 17). Попытка использовать команду .СО’Т, чтобы продолжать програм- * F • му, которая:
i i ;«Ж ошибки; 1 пре] «* Вывоз Функции перед определением ее оператором БЕГ РА/. (Код ошибки вушки ошбок. (Код ошибки — 21). Сообщение об ошибке не определено для заданного условия ошиб- . 1 *•. Это обычно вызывается оператором ЕЕЮЕ с неопределенным кодом КИ ошибки Выражение содержит оператор такой, как ж или OR без операнда, следующего за ним. v БУФЕР СТРОКИ ПОЛНЕЙ (Код ошибки - 23). Попытка ввести строку, в которой слишком много символов.
- 196 - • ПТ «00552-01 90 01 СШИБКА ЧТЕНИЯ (Код ошибки - 24). Ошибка возникает при физической неисправности магнитной лен- ты, некачественной записи. ВНУТРЕННЯЯ. ОШИБКА (.Код ошибки - 51). Внутренняя ошибка интерпретатора. Испорчен текст самого ин- терпретатора. НЕВЕРЕН Ж14ЕР ФАЙЛА (Код ошибки - 52). Оператор или команда обращается к файду с номером, который . не открыт (по ОРЕЛ) или находится вне диапазона номеров файлов, определенных при инициализации. Ш Ж НАЙДЕН (Код ошибки - 53). В операторе или комацде идет обращение к файлу, которого нет на диске. НЕВЕРЕН РШМ ФАЙЛА (Код ошибки - 54). Попытка присоединить (МЕШЕ) файл не в формате КОИ-8, или Выполнять ОРЕЛ с файловым режимом, отличным от ввода-вывода ФАЙЛ УХЕ ОТКРЫТ (Код ошибки - 55). попытка открыть уже открытый файл для последовательного вы- вела или втереть (KILL ) открытый файл. oLilBIxA ЗВЗДА/ШБОДА ДИСКА (Код ошибки -57). ошибка в операции ввода-вывода. Операционная система не может восстановиться после ошибки, необходима перезагрузка операционной сиетеми»
- 197 - HT.O06S2-OI 90 01 (Код ошибки - 58). Файл с таким именем ухе существует на диске. ДОК ПСЛШЙ (Код ошибки - 61). Занято see пространство памяти диска. Если эта ошибка появится. все файлы закроются. ВВОД ПОСЛЕ КОЩА ФАЙЛА (Код оптбки - 62). Оператор ввода был выполнен для пустого файла, или после ;ого, как. все данные в файле с последовательным доступом были введены. Чтобы предотвратить эту ошибку, используйте функция ЮР для обна- ружения конца файла. Эта ошибка встречается и при попытке причи- тать из файла» который был открыт для вывода. НЕВЕРЮ Ж ФАШ (Код ошибки - 64). С командами LOAD , SAVE, KILL , ОРЕЛ/, NAME, PILE или PILES используется неправильная форма, т.е. имя файла может, например, начинаться с точки. ПРЯМОЙ ОПЕРАТОР В ФАЙЛЕ (Код ошибки - 66). Встретился прямой оператор при загрузке файла. Прямой опеэа- . ’ Z тор - это машинные команды не з формате интерпретатора Бейсик. . МНОГО ФАЙЛОВ (Код ошибки - 67). Попытка создать новый файл ( SAVE или ОРЕЛ/), когда вся ди- ректория диска полная или неправильное имя файла.
- 198 ПТ.00552-01 90 01 . Продолжение табл.I _ео.ч- Шест- ?х1ажатие !Обозна- !Деся- Шест- ’нажатие ГОбозна- тичныйЬшдца-!клавиш !чение !личный!надца-! клавиш ?чение код ’тызич-I !управля-| код !терич~! -управляще- 1ный ’ [ющего ! !ный { !го символа 1код ! I символа ? !код ! !
ПТ.00552-01 90 2. КОД! (Ж30ЛСВ, ЛМЕИЦИХ ГРАФИЧЕСКОЕ ПРЕДСТАВЛЕН; о ! I
ПТ, 005524)1 90 01 И ра должен. Продажен. Продажен. Продолжен. Продолжение .4 тдбл.о табл.*с табл.2 табл.2
- 201 <fc» ; ПТ.00552-01 90 01 ПРИЖЖЕНА 2 ПРОГРАММА DEMON ** - • I. Назначение и-условия применения программы I.I. Программа DEMCW предназначена для демонстрации возмож- ностей операторов и функций языка Бейсик, описание которых Пред- ставлено в документе "Базовые программные средства ПК802С. Интер- претатор языка Бейсик Руководство пользователя" uT.C0ob2-01 90 01. 1.2. Программа DEMON состоит из десяти подпрограмм. объем каждой из подпрограмм не больше 18 Кбайт, а общий объем -92 Кбайт. 1.3. Прогршлма DEMON выполняет следующие функции: I) выдачу пользователю списка операторов, > предназначенных для в . демонстрации; • - . . . 2) выбор из представленного списка любого оператора для де- монстрации его возможностей; • *, ’ • 3) выдачу описания формата оператора, выбранного для демон- страции; 4) выдачу примера правильной записи демонстрируемых, операто- ров»: \ • . . '• 5) выдачу пример[>в использования операторов (если это возмог- • * * ° * 1^); ; ’ • . . ' t w X 6) д«./знстрацию использования операторов непосредственным •или косвенна* путем (если это возможно); 7) запроё и ввод данных с клавиатуры для демонстрации опера- тора в поедглах заданных значений его параметров. 2. Характеристики программы 2.1. •ггаумз DEMON состоит из десяти подпрограмм. - Объем подпегтамм следующий; ' * *» " * ЮБЗСЛ - 2 Кбайт. L1ST1 - 12 Кбайт
- 202 ПТ.0СЬЬ2-01 90 01 LI5T2 . - 12 Кбайт £1573 - 6 Кбайт • LLST4 - 10 Кбайт LI5T6 - б Кбайт LI5T6 - 10 Кбайт Z.L5T7 - 18 Кбайт LI5T8 - 10 Кбайт LL3T9 - 6 Кбайт Гюо псамма составлена на языке Бейсик. • k 2.2. Программа ЮО работает а диалоговом режиме, Запуск на исполнение каждой из подпрограмм LLSTI ... L1ST9 осуществляется из подпрограммы ВЕМОЯ в процессе диалога пользователя с оЕ>; г про- извольном порядке. Подпрограммы LIST1.. .L10T9 по окончании выпол- нения загружают подпрограмму DEKGN и передает ей управление. Минимальное время выполнения подпрограмм LIST!... L1ST9 при- близительно Ю мин (при времени ответа пользователя на каждое со- общение из ЭВ4 в Ю с). 3. Обращение к программе Перед обращением к программе' в ОЗУ системного блока загружа- ют операционную систему тикроДСС ПТ.С0Ь53-01. Для этого ГОД ПТЗ.060.163 вставляют в дисковод А: вспомогательного устройства. В результате на зкоане ПК5С20 высветится сообщение: КОРВЕТ П&Ю2С ДЖСЧЕШЫ 30.04.87 ' * <** И г* ч л * е^ОД вер» ПГ3.060Л62.
- 203 - . ' ПТ.00552-01 90 01 Далее загружают в ОЗУ интерпретатор BASIC: А > BASIC "7 где - знак клавиша возврата каретки (ВК). Затем П«Д iiT3.060.I63 вжимают из дисковода А; и на его место вставляют ГЦД ПТ3.06С.169. После этого-пользователь запускает на выполнение программу ЭбЛС-А/ , набрав команду: Rl'N "ТЕнОА/ ' 4. Входные и выходные данные • Входными данными являются данные, вводимые пользователем с клавиатуры во время диалога с ЭВУ. Входные данные можно разделить на два типа: I) управляющие; 2) параметрические. Управляющие данные предназначены для управления диалогом пользователя с ЗИЛ. параметрические данные предназначены для проверки возможностей операторов и функций языка Бейсик. Конкретные значения входных данных приведены в сообщениях, . « выдаваемых программой. Пользователю необходимо выбрать одно из альтернативных зна- чений и ввести его. Выходные данные представляют собой результаты выполнения про- граммы, -выводимые на экран IUidC'2O в процессе демонстрации какого- либо оператора. * * ’ Формат и значения этих данных должны соответствовать формату и значениям, указанным в описании операторов языка Бейсик. . 5. Сообщения • В процессе выполнения яро грамма рЫО-выдает на экран для
- 204 «К» BT.CO552-OI 90 01 программиста результата выполнения демонстрируемых операторов9 а для оператора - сообщения о прохождении программ. Сообщения рас-, полагаются ниже результатов и имеет форму вопроса или требования дать ответ. " ' Альтернативные варианты ответов на вопрос приводятся в каждом сообщении 'л выделяются с помощью круглых скобок. Оператору остает- ся лишь выбрать нужный ответ и ввести его в ПК8020. В начале выполнения программы Ж«0Л) на экран ПКс'020 выводятся .список подпрограмм LISTJ. ..L1ST9 и сообщение оператору, которые имеют следующий вид: СОДЕтНИЕ I. Подпрограмма LISTI. ' 2. Подпрограмма LIST2 3. Подпрограмма Н.5ТЗ ". . 4. Подпрограмма LI5T4 . 5. Подпрограмма LLST5 6. Подпрограмма Ы5Т6 7. Подпрограмма LI5T7 8. Подпрограмма &I5T3 9. Подпрограмма ь!$'Г9 Введете номер подпрограммы (1,..9, конец - IC):? Пользователь выбирает нужный пункт в содержании4и-номер его вводит с плавиа'.?уры в позицию строки, отмеченную курсором. После этого йз библиотеки ПК802С, расположенной на ГЗД, вызывается выб- ранная преграда и запускается на выполнение?, В противном, случае, если указано число 10, выполнение программ заканчивается « на; экран выдается сообщение: Каждая из подпрограмм 115‘П...1И79 в начале выполнения вы-
1Пд0о5Ь2-01 90 01 дает на экран ВКУ список процумероваяных операторов, предназна- ченных для демонстрации , и сообщение с требованием указания номе- ра этого оператора5 возможности которого должны быть продемонстри- рованы на экране ВКУ. , Например, список операторов и соответствующее сообщение, вы- даваемое программой LLSTI, имеет следующий вид: СОДЕРЖИМОЕ Ш 71 I, Константы 2. Переменные .3. Выражения 4. Функция АВ5 (X) 5. функция ATN (X) 6. функция COS (X) -* 7. Функция EXP (X) 8. функция IMT (X) 9. Функция LOG (X) 10. Функция SGW (X) 11. Функция SIN (X) 12. Функция 5QE (X) 13. Функция TAN (X) . Укажите номер пункта (I...I3, конец - 14):? -Выбрав функцию, например, SQE, необходимо указать ее номер 12 в позиции строки, указанной курсором. Далее программа выдает начальные сообщения для программиста, в которых указывается: название функции, назначение, формат и (или) пример записи функции или оператора, начало демонстрации, запрос у пользователя данных, необходимых для демонстрации возможностей функпии или оператора. В частности, для функции ЗОЕ (X) эти со- общения имеют еледущий Eigi:
— SOS ПТ,00552-01 90 01 Функция S (X) предназначена для вычисления квадратного кор- ня из тиола Хе Пример записи :;SQE (9)е Демонстрация работы функции SQB- Задайте любое неотрицательное число (Х=ВК=9):?, где Х=9 при накатии только одного клавиша Ж, В ответ на запрос в последней строке -сообщения оператор дол- жен начать только о: «т или ввести число, например, 9 в позиции строки, указанной курсором, После этого программа выдает сообщение о результатах выполнения демонстрируемой функции и зап- тора,.. Для щюграммы эти сообщения имеют вид: Й(9)«3 Ввод повторить (I) ели Нет (Ж):? Если пользователь хочет проверить работу -функции SQR (X) для других чисел, тс он должен ввести с клавиатуры число "Г, и демон- тивном случае он должен ввести с клавиатуры знак **Ж% демонстра- ция функции SQR (X) прекращается и на экран ПК8020 выдается содер- жание подпрограгжа JUSTI. [ИЙ под- лу 14 заканчивает свою работу и выдает об этом на эгфаи ПК8020 со- общение: КОНЕЦ LIST! Далее подцрограша LtSTI вызывает в ОЗУ подпрограмму и передает ей управление,»
- 207 - ПТ.00552-01 SO 01 10 LOCATE 9г0 20 CLS'.PCLS 30 COLOR 7,0-GOTO 96 40 LINE(10,10)-(450,210j, 5, E 50 LINE(ll,ll)-(449,209),5.B 60 LINE(12t12)-(448,2C8),5,B 70 LINE{13,13)-(447,207}. 5,S 80 LIW(14»14)-(446s206),5,3> 81 RETURN SG GQSUB 40: LOCATE 15,4: PRIST-ДЕМОНСТРАЦИОННАЯ ПРОГРАММА** 100 LOCATE 110 LOCATE 120 LOCATE 130 LOCATE 135 LOCATE 19,6: PRIHT”PA&3TH ОПЕРАТОРОВ" 20,8:PRINT’S О U N D“ 25,10: PRINTS" 29,12:PRINT"PLAY“ 20,15:PRINT"/ Нажмите клавишу ПРОБЕЛ /" 140 A$=INKEYS:IF AS-" Я 150 ELSE 140 150 CLS:FCLS:GOSUB 40 180 LOCATE 15,5:PRINT"!. Работа оператора SOUND." 170 LOCATE 15,7: PRINT"2.Работа оператора FLAY. " 175 LOCATE 15,9:PRINT "3. РОБОТ./ Для расширенного «ГЗУ/" 176 LOCATE 15,11:PRINT "4.Окончание работы" 180 LOCATE 10,15:PRINT" Вахмнте номер нужного оператора /" 190 A$=INSEY$:IFA$<>“1" AND А$<>~2" AND A$<>"3“ AND A$<>’4" THEN 190 200 IF A$=“l~ THEN 220 210 IF AS="2" THEN 310 215 IF A$~“3“ THEN 10000 216 IF A$="4" THEN 20000 220 CLS.GOSUB 40:LOCATE 15.4:PRINT" Оператор SOUND.. 230 240 250 255 260 270 . 280 290 2S5 ЗСЭ 310 ‘ 320 330 LOCATE 15,6:PRINT"1. Проверка параметров оператора." LOCATE 15,8 :PRINT“2. Шум прибоя." LOCATE 15,10:PRINT"3. Взрыв бомбы.“ LOCATE 15,12:PRINT"4. Выход в о&йее йен©." IF А$="2" THEN 600 IF AS="3“ THEN 400 IF A$=’4“ T3T-5 150 IF ASO'-l" AND A$<>~2" AND A3<>"3" 260 CLS:GOSUB 40? LOCATE 15,4:PRIHT“Оператор PLA>.e LOCATE 10,6:PRINT"!. Проверка команд оператора PLAY." LOCATE 10»8'.PRINT "2. B.-A. йоцарт. Сената N 18."
НТ.00552-01 80 01 340 LOCATE 10.1 S“ ?RINT"3. П.И.Чайковский. Танец маленьких лебедей.’ 345 LOCATE 10,12 PRINT”4. Въ?ход в общее меню." 1». 350 IF A$=*'l" THEN 2345 370 IF А$=~2” THEN 2150 38G IF AS=”3" THEN 7000 385 IF A$=“4” THEN 150 390 IF A$O".1”AND A$<>”2” AND AS<>“3“ THEN 350 -ICO CLS:PCLS:LOCATE 5,7: PRINT ” ПРОГРАММА ДЕМОНСТРАРУЕТ РАБОТУ ОПЕРАТОРА SOUND” 41C LOCATE 5,9--PRINT ". ЭФФЕКТ ВЗЖВА БСЖЕЫ” 420 FOR 1=1 TO 10:SOUND 1,0:NEXT 430 N=100Q 440 SOUND 5,254 450 SOUND 6,15 460 FOR 1=1 TO 250 470 SOUND 0,N 480 N=N+1 490 NEXT I 500 FOR 1=0 TO 10 :SOUND I,O:MEXT 510 BOUND 5,239 520 SOUND 6,15 530 SOUND 4,55 540 FOR 1=1 ТО.500:ЖХТ 550 SOUNDS,255=GOTO 220 600 CLS:PCLS 610 LOCATE 4,7,0 620 PRINT " ПРОГРАММА ДЕМОНСТРИРУЕТ РАБОТУ ОПЕРАТОРА SOUND." 630 LOCATE 4,9,0 640 PRINT " 4 МОРСКОГО ПРИБОЯ” 650 FOR 1=0 TO 10:SOUND I,O:«EXT 660 SOUND 5*239 670 SOUND 6,30 680 SOUND 10,15000 690 FOR 1=1 TO 250 700 SOUND 4,100 , . 710 NEXT I 720 FOR 1=1 TO 20000 730 NEXT I 740 SOUND 5,255:G0T0 220
4 arotvc о* «ЙВй же А2Лй:0001 GI ЛК ASCfSKSJ ж I ^хэм^озол Д' £ *** <й 1СМ1 Ur г 1 штайг ГП ж
- 210 - ПТ.00552-01 90 01 1420 1430 1440 1450 14 60 1480 1430 1500 1510 1520 1530 1540 1550 1560 1570 1580 1590 1600 1610 t620 1630 1640 1650 1680 1670 1690 1700 1710 1720 1730 1740 1750 .1760 1770 1780 1790 1800 1310 SOUND 9,N:SOUND 3.2551:FOR 1=1 TO 4000:NEXT SOUND 5,255 • DATA 24,26,29,30 .FOR 1=1 TO 300:NEXT I SOUND 5,255 CLS LOCATE 1,7,0 PRINT" • ДЕМОНСТРАЦИЯ ПАРАМЕТР ГРОМКОСТИ ОПЕРАТОРА SOUND" PRINT FOR 1=0 TO 10 : SOUND 1,0 :.NEXT I SOUND 5,254 FOR 1=15 TO 0 STEP -1 SOUND 6.1: PRINT I; :SOUNDO, 5000 FOR J=1 TO 300:NEXT J NEXT 1 FOR 1=0 TO 10:SOUND 1,0:NEXT I: SOUND 5,254 PRINT FOR 1=0 TO 15:PRINT I; SOUND 6,a:SOUND 0,5000 FOR J=1 TO 300:NEXT J NEXT I SOUND 5,255 FOR 1=1 TO 300 NEXT I CLS LOCATE 3,5,0 in ЗВУКА* PRINT FOR 1=0 TO 10:SOUND I.0:NEXT I SOUND 5,240:SOUND 10,5000 PRINT * ГОЛОС 1. ЧАСТОТА 2000. ГРОМКОСТЬ 15“ PRINT SOUND S.15:SOUND 0,2000xFOR 1=1 TOIOCOxNEXT I PRINT “ ГОЛОС 2. ’LACTOTA 5000. ГРОМКОСТЬ 15" PRINT SOUND 7.15:SOU&D l,5000xFCH 1=1 T02G00:NEXT I PRINT " ГОЛОС 3. ЧАСТОТА 3000. ОГИБАЮЩАЯ
ПТ.00552-01 90 01 1820 1830 1840 1850 1860 1870 1880 1900 1910 1920 1930 1940 1950 19'-'0 1930 2000 2- Г-10 2020 2040 2050 2060 2070 2080 2090 2100 2150 2160 2200 2210 2220 24" PRINT SOUND 8,24:SOUND 2,3000:FOR 1 = 1 T03000:.NEXT I PRINT " ГОЛОС 4. ЧАСТОТА 3000. ОГИБАЮЩАЯ 30" PRINT SOUND 9,30:SOUND 3,3000:FOR 1=1 TO 4000;NEXT I FOR 1=1 TC500:NEXT I SOUND 5,255 CLS LOCATE 20,5 PRINT "ДЕМОНСТРАЦИЯ ШУМА PRINT FOR 1=0 TO 10-.SOUND 1,0:NEXT I SOUND 5,0:SOUND 10,5000 LOCATE 12,7 PRINT "ГОЛОС 1-ШУМ. ЧАСТОТА 200. ОШьЛпВДЯ 24" SOUND 6,24:SOUND 4,200.SOUND 0,5000:FOR 1=1 TO 1000: NEXT I LOCATE 12,9 .... " PRINT "ГОЛОС 2-ШУМ. ЧАСТОТА 300. ОГИБА.ШАЯ 26“ SOUND 7,26:SOUND1,300:FOR 1=1 TO 2000:NEXT I LOCATE 12,11 PRINT"ГОЛОС 3-ШУМ. ЧАСТОТА 500. ОГИБЛИДАЯ 26“ SOUND 8,28:SOUND 2,500:FOR 1=1 TO 3000:NEXT I LOCATE 12,13,0 PHINT"ГОЛОС 4 ШУМ. ЧАСТОТА 100. ОГИБАЮЩАЯ 30" SOUND 9,30-SOUND 3,100:FOR 1=1 TO 4000:NEXT I SOUND 5,255;GOTO 220 CLS;PCLS:LOCATE 15,7,0:PRINT"ДЕМОНСТРАЦИЯ ОПЕРАТОРА PLAY” LOCATE 14,9,0: PKINT’TIA ПРИМЕРЕ 16~Й СОНАТЫ МОЦАРТА" •А$= “VI5O5C2E4G4O4B4.05С16Dl«C4R4A2G4O6C4O5G4FyE16Fl 6E4 R4O4A8B16O5C1GDI 6K16F16G1BA16G16F16E16D16C16O4B16A16RS4 G8A16B16O5C16D1GE J6F16G16F16E1GDIGC1GO4BJ6AGR64 F8G1SAI 6 B16O5C16D16E16F1GE1GDI6C16O4B16A1GG16F16EBF16G16A16B16 O5C1 GDI 6E16D1GC1604 Bl GA 1 CG1 GF 1 GE”. B$=“VI504DHE1GF16G1 GAIGB16O5C*16D1604 Al6B16O5C16Dt SEI 6 F16G16A16B1606С16О5В16Л1GG16F1GE16F16G16A16G16F16E16D16 C16O4B8C5G8E8C8D8G8EBC3D4G4O4G4R4R1O6D8O5B8G4.A16E16A8 G8R64G8.FU16F«4R2“ CS= "V15O4R1R1R1R1R1R64R1R64R1R1” :HJ=“RlP.iElR4C. rMR2RIRl R64R1" - . •
R4D403C4R4R4C4* . - . . : . г- ; -- 2250 F&s“F1O3F4.Q8A4. W802Gie^3IM3Oa^3X)SO2^O3BG0^^№v 22S0 J$=,,RlR6'iRlRlElRlia“:Z^-"RlRlEiaiR2R4C«C4R2a4a4C4»4O5D4. 04B4R4" - '" '_ 2370 ШСАТВ 17 Л .2380 PRINT •*"Коиаижа-S (S3, ' 2390 LOCATE 1,9:ШйГг*,<; О; e B0K25ST12CCZ Ы ХХ$;“. • ' . " • . 2400 PRIST ln?hi¥ w S1 Ш;"" 2410 PRIST 2;sPIAY *‘ S2-.JK$;—; J "' 2415 PRIST ЗГ.ИАТ “ S3 ХХ&Л ;'- 2420 P&IHT 4;:₽bA¥-w’S4 XXS;"' . ’ 2430 PRINT 5; sPLAY “ S5 XXS;* ’
f Ж. 00552-01 96 01 . _ ... - 2440 ЖКТ 8;t₽L&Y * S6 X£g;w . 2450 PWr 7;-ШУ “ S7 XX$;’ : ’-. здеггшкг в;*йат " se хх$;ж : ' WOЖШ? 9;sSU3r-“-89 XES; * • • -2W"HtIW WrsPW • SXO XX$;W •. ’ .«Ш-1ЙТ-ЯпШГ ‘w 911 Х»ГВ 2500' FRIHt 12,;sHAY “ 812 X3£$;“ 2510 F<m 13;:₽ЬД¥ “ S13 Ж;* 2520.'•.тэт 14;:?UT - S14XX»;" 2530-ЖЭТ 15;:BAY ‘ 815 JCXS;"- 2600 -clsipcls ♦ locate .огибжедей в операторе PLAY":LOGATK 15Л:РВ1ЭТ**Комавд& , - ' И (МО,.... ,££32767)" 2630 17»@ 2635.'ЖЭТ^";' 2640 HtiKT 100; ^FLAY“S8H10COm20LlXX$; * :РЕХЭТ 1000;: - ; ..9ЙЙ*86Й1ОООХХ$;* ' .-27W. ЖШТ 1;SPWV1SX3;• •; '-• . 2Baff ₽RIHr 2;s₽LA¥-Y2XXS;* • - .^WiObIHT' '. . -у . ?Ь2Й6./ШЭИГ 4;*-FLAT‘V’4XX3;e5 '-;ЭДЙ?1ИЙПЙГ 5; tHAY-V5m;-<y-' \: -гдет.тэт %ШН^¥п»8Ггаа;*-.. 'J23ШpRXЭТ8;sPMYwV8XX$;^ \ W0-'PRX^T.'8;sFMYwWSM;-s> .. ' ' ' ;/;2890:-тЭТ10; iPUY“VlOX8; “гйШП!; :PLAYMVliXXS;* • 2900 :FRIKT11;': PLAYW¥1OX$;": КВ1ЭТ13; t FLAY* V13XX6; * - ? ..ЙЭЮ’тЭТМ; :Р^Т.-¥141И^;“:Ж1ЭТ15; sMAY"V15m:* 8005 CLSsPCLS •@310 I^JCATE 119&5РШЭТ'"Дежжйгредий октав в операторе . FLAY-sLCJCOE 17»Т:тЭТмШшяда О (01.... »08)“: 15»9
- 214 - ПТ.00552-01 90 01 6017 PRINTS;PLAY"05XX$; PRINTS; :PLAY“O6XX$; “ 8318 PRINT?;: PLAY“O7XX$; ": PRINTS;: PLAY“O8XX$;“ SOSO CLS:PCLS 6070 LOCATE 11,5:PRINT ’'Демонстрация длительности в операторе PLAY” 6080 LOCATE 13,7:PRINT“Командa L,цифровое значение после ноты " SOSO LOCATE 15,9:PRINT”!-Команда L (L1,...,L64) ” 6100 LOCATE 15,11:PRINT“L=”;:PRINT!; 6110 PLAY “Y1504T120L1XXS;“ 6111 PRINT2;:PLAY”L2XX$;”:PRINT4;:PLAY“L4XX$;”:PRINTS; :PLAY“L8XX$;“ 6112 PRINTlS;:PLAY“L16XX$; “ :PRINT32; :PLAY“L32XX$; ” : PRINT64;:PLAY“L64XX$; ” 6140 LOCATE 15,13:PEINT“2.Цифровое значение после ноты *’ 6150 LOCATE 15.15'.PRINT 1;'-PLAY “V15O4C1DEFGAB” 6160 PRINT 2;:PLAY “C2DEFGAB” 6170 PRINT 4;’.PLAY ”C4DEFGAB“ 6180 PRINT 8;:PLAY “CST^FGAB” 6130 PRINT 16;:PLAY “C16DEFGA3” 6200 PRINT 32;:FLAY “C32DEFGAB” 6210 PRINT 64;:PLAY ”С64ВЕРСАВ“ 6230 CLS:PCLS:LOCATE 11,5;PRINT "Демонстрация паузы в операторе PLAY.“ 6240 LOCATE 17,7:PRINT “Команда P (Pl.......Р64)" 6250 LOCATE 13,9:PRINT “P=“; 6260 PRINT 1;:PLAY “V1504T120L1CR1DRERFRGRARBR” 6270 PRINT 2;:PLAY “CR2DRERFRGRARBR" 6290 PRINT 4;:PLAY "CR4DRERFRGRARBR" 6300 PRINT 8;:PLAY “CR8DRERFRGRARBR” 6310 PRINT 16;: PLAY "CR16DRERFRGRARBR” 6320 PRINT 32;:FLAY “CR32DRERFRGRARBR” 6330 PRINT 64;:FLAY “CR64DRERFRGRARRR” 6350 CLS: PCLS: LOCATE 7,5*. PRINT “Демонстрация темпа в операторе PLAY”:LOCATE 17,7 6360 PRINT” Команда T (T32,...,T255)“ 6390 LOCATE 13,?"-PRINT “T="; :PRIHT32; '-FLAY ”O4L2T32XX$; “ 63S1 PRINT65: :Р1^’Г*Т65ХХ$;“ 6392 FRINT69;:PLAY”T69XX$;“ 6393 PRINTIOO;:PLftY“7LOOZXS,“ S394 PRINT120;-PLAY’”TI20XX$;“ ’ 6395 PRINT160;:PLAY“T16GXX$;~
- 215 ~ ПТ.00552-01 НО 01 6396 PRINT200;:PLAY"T200XX$;“ 6430 CLS:PCLS:LOCATE 11.5:PRINT "Демонстрация вспомогательных команд в операторе PLAY" 6450 LOCATE 17.7:PRINT"(команды 6460 LOCATE 19,9;PRINT"Диез (#.+)." 6470 PLAY"V1504L2T120CC#DDitEE#FF#GG+AA+BB+“ 6480 LOCATE 19.11:PRINT "Бемоль(-)" 6490 PLAY "CC-DD-EE-FF-GG-AA’BB-" 6500 LOCATE 15,13:PRINT “Точха(.)-l/2 длительности" 6510 PLAY "L1CR2C.RD1RD.RE1RE.RF1RF.RG1BG.RA1RA.RB1RB. “ 6515 PLAY"T120 V15 L4 R4 04" 6520 GOTO310 6610 LOCATE 9.9:PRINT"L=“;.PRINTl;: 7000 CLS:PCLS 7010 LOCATE 7.5 7020 PRINT"ДЕМОНСТРАЦИЯ ОПЕРАТОРА PLAY НА ПРИМЕРЕ ТАНЦА" 7030 LOCATE 9.7 7040 PRINT"MAJIEHbKHX ЛЕБЕДЕВ. H. И. ЧАЙКОВСКИЙ" 8000 A$-"R1 R8A8A8A8A8.G#32A32B8A8 G38B8B8B8B8.А32В32о5Сй8 o4B8 A8o5CS8F#8Eit8C$8o4G?t8o5C#16o4B16A16GiS16 A8o5CS6Ft* 8E#8C#8o4GJt8o5C#16o4B16A16GU16" 8010 B$-"R1 R8FS8F#8F$8F#8. R16R8F$8 E»8R8G#8Gl*8G£8. R16R8G3S F«8R4G#8EU8RSR4 R4R8GU8E#8R4R8" 8020 CS-"R1 R R R R " 8030 D$="o2Ftt8o3C#8o2Fff8o3C$8o2F#So3C£3o2FS8o3C#8 o2F#8o3CU8 o2F»8o3C38o2F#8o3C#8o2F«8o3C88 o2F«8o3C«8o2F»8g3C»3o2 F»8o3CP8o2FU8o3Ctt8 о2Ей8аЗСй8о2Е#8оЗС#8о2ЕЙ8оЗЕ38с2ра8 0ЗСЙ8 o2Ftf8o3C88o2F#8o3C^8o2F»8o3C«8o2F#8R8" 8040 E$="F«8o5C»SC4t8C4t8Cff8C«8F»16E16D16CS$16 o4B8o5CS4D404Atf B8 B8B3B8B8B8B8o5E16D16C#16o4B16 A8F#8Gftl6A16B16B«16o5 C#8o4CS8D16D#16E16EU16 ЕЙ8А8А8А8А8.GS32A32B8A8 G#3B8B3 B8B8.A32B32o5C#8o4B8" 8050 F$="R1 R R R R8F«8F«8Ftt8Flte.R16R8FU8" 8060 G$="R4R8o4E8R8E8R8E8 R4G-8R8F88R3E8R8 R4R8D8R8D8R8D8 R1 R“ 8070 "оЗРй8о4Сй8оЗВ8о4СЙ8оЗАЙ8о4Сй8оЗЕ58Ай8 B8R8c4E8RSD3 R8C#8R8 o3B8o4D8o3A8B8G^8B8E8Gfi8 F«8AeGfi8FS8E38C38o2B8 GS8 o2F38o3C$8o2F»8o3C*8o2F»8o3C£8o2F#8o3C£8" 8080 IS=’A8o5C«8F2r8ES8C®8o4G98o5Ctsi6o4B16A16G^16 А8о508Ей8 EU8CS8o4G»8o5C#16o4E16A16G^lS F»8c5FS8E^8C«8F^8F«8E»8 C«8 F38CS4o4B4A4Gn8 08o5ES8F«4R2“ 8090 J*=”E#8R8GS8G#8Gff8.Ri6R8Gim F?8R4G£8E«8R8H4 R4R8G^8E^3
о ft <? /**4 № •? «0 to !N? #* ‘ * j tyi •>•’4 с< № 5 к W «л чг* « w п 151 » *» V> ч? «5 а ь-. <й О .t* v Kf Е4 W Ж Ь“4 f’4 W м М » ЙЯ И 52 41 М W Ы Й & * <* *4 >--4 „»»?*, ₽3 to to м to *S Н К U :&> &5 © f^№ » <я ян ч* te « СЭ у> • О № О Ш С?4 W? <W *5^ г * t t I $ G‘l И*Ч r*4 ?*\ О to to to to V»' to M to CS1 4 «й О O1 lyi * * ** * tn C*5 £& W О £Я c> H * <4** ’W Ч-* Krff •^4 <o <* щ * V i 'w to A> to <• v VA О {'гЛ <0 о , Сч й S'! ЧЙ Й8 М ’ fc3 44 taart Ni 0 to ws ***Ч' ?*4 to <и to M №? tow* Чи» Чи^ <a> Л”*. ^*4 -ьэ w « № to i G V? to V» t G> о о
’.00552-01 90 01 10310 LINE(245,7O)-(265,8C)»3,BF 10320 ЬЖ(220, 80 ) - (290,140),1,BE 10330 CIRCLE(255,105),15,0 : PAINTf255,105),0 10340 LINE(245,110)-(250,95),2 : LINE-(255;U5),2 ,10350 LINE-(260,105),2 : LINE-(265,110),2 10360 LINE(240,105)-(270,105),2 10370 LINE(240,125J-(270,135),7,EF 10380 CIRCLEf245,130>,3,4 t CIRCLE(265,130),3,5 10390 PAINT(245,130),4 : PAINT(265;130),5 10400 LINE(252,127)“(258,133),2,BF ' 10410 LINZ(220,140)-(253,155),3,BF 10420 LINE(257,140)-(290,155),3,BE 10430 LINE(225,155)-(250,165),1,BF 10440 LINE(260,155)-(285,165),l,BF 10450 LINE(210,80)-(220,110),3,BF 10460 LINE(205,85)-(21Q,105),1,BF 10470 LINE(290,80)-(300,110),3,BF 10480 LINE(30Q,S5)-(305»105),l»BF 10490 RETURN 1050O REM “ПРАВАЯ РУКА’* 10510 LINE(185,90)-(205,100),3,BF 10520 LINS(185,100)-(195,130},3,BF 10530 LINE(180,130)-(205,150),3,BF 10540 LINSt180,150>-(200,160),3.BF 10550 LINE(185,150)-(185,159)»l : LINE(190,150)-(190,160), 1 ' . 10560 LINE(195,150)-(195,160},1 . 10570 RETURN 10580 REH ”ЛЕЗАЯ СТА- 10590 LINE(305,90>-(325,100),3,EF 10600 LINE(315,100)-(325,130)» 3,^ 10610 LINE(305,130)-(330,150),3,BF 10620 LINEOIO, 150)-(330,160).3.BF 10630Ы№(ЗД5.150)-(315,160},1 : LINK(320,150)-(320,160),I 10640 LINE(325,150)-(325,160),1 10S50 RETURN ‘ 10660 REM "ПРАВАЯ НОГА* 10670 LINE(23O,ieS>-(245,2G0J,3,BF 106SO LINE(22O,2OO>-(250,20O),1 : LINE-(250,220),1 : 10690 ЬПШ-(205,220)>1 LINE-(205.2I0),l ”'-•10700 LINE-C220,209),1 10710 PAINTC230,210),! r_ • * “ - 1 - ° • '
- 218 - ПТ.00552-01 SO 01 10720 RETURN 10730 REM "ЛЕВАЯ БОГА" 10740 LIME(285,185)-(280,200),3»BF 10750 LINE(2u0,200)-(290,2Q0) ,1 : LIME-(305,210), 1 10760 LINE-(305,220),! s LINE-(260,220),1 10770 LINE-(260,200),! 10780 PAINT(280,210),1 10790 RETURN 10800 CLS : PCLS 10810 SCREEN 0,0 10820 PCLS 10830 GOSUB 10130 10840 GOSUB 10510 10850 GOSUB 10590 10860 GOSUB 10670 10870 GOSUB 10740 1U880 SCREEN 0,1 10890 PCLS • 10300 GOSUB 10130 10910 GOSUB 10590 10920 GOSUB 10670 10930 LINE(185,90)-(205,100),3,BF 10340 LINE(185,60)-(195,90)»3»EF 10950 LINE(180,40)-(205,60),3,BF 10960 LINE(180,30)~(200,40),3sBF 10970 LINE(185.30)-(185,40),1 : LINE(190,30)-(190J40),1 10980 LINE(195,3O)-(195,40),1 10990 LINE(260,165)-(295,165),l ; LINE-(310,175),! 11000 LINE-C310,185),1 i LINE-(260,185),1 11010 LINE-(260,165)»! : PAINT(28O,175>,1 11020 SCREEN 0,2 ' 11030 PCLS 11040 GOSUB 10130 11050 GOSUB 10510 11060 GOSUB 10740 11070 LlNE(310,30)-(330,40),3,E₽ 11080 LINE(315,30)-(315,40),l : LINE(320,30}-(320,40),1 11090 LINE(325,30)-(325*40),l 11100 LINE(305,40)-(330,60),3,BF 11110 LINE(315,6O)-(325,9O7,3,BF 11120 LINE(305,90)-(325,100),3,BF 11130 LiNE(215,165)-(250»165),l : LINE-(250,185),1
- 219 - ПТ.00552-01 90 01 11140 LIKE-(200,18b),1 : LINE-(200,170),1 11150 LINE-(215,165),! 11160 PAIKT(220,175),l 11170 SCREEN 0,3 11180 PCLS 11190 EELCC(0,35) 11200 GOSUB 10130 11210 GOSUB 10510 11220 COSUB 10590 11230 RELOC(0,0) 11240 LINE(215,200)-(250,200),l : LINE-(250,220}, 1 11250 LINE-{200,220),! : LIKE-(200,210),1 112S0 LINE-(215.200),! : PAINT(230, 210), 1 11270 LI№{2t>0,200)-(295,200),l : UHS-£3I0,210), 1 11280 LI4E-(310,220j, 1 : LINE-( 260,220).1 11290 LINE-(260,200),! s FAINT(280,210),1 11300 SCREEN 0,0:GGSUB 11540 11310 SCREEN 1,O:GGSUB 11560 11320 SCREEN 2»0;G0SUB 11580 11330 SCREEN 3.0:GOSUB 11600 11340 SCREEN 0.0:GOSUB 11620 . 11350 SCREEN 1,0-.GOSUB 11640 11360 SCREEN 2,0:GOSUB 11660 11370 SCREEN 3,0:GOSUB 11630 11380 SCREEN 0,0 .’GOSUB 11700 11390 SCREEN 1,0: GOSUB 11720 11400 SCREEN 2, (ПСОВОЙ Д1740 11410 SCREEN 3,0:G0SL<B 11760- 11420 SCREEN 0,0’.C02O'!J 15780 11430 SCREEN t,0:G(WR !1SC0 11440 SCREEN’2,0;GGSHB 11820 11450 SCREEN 3,<h«W 11840 11460 SCREEN 0,0:GOSUB 1W 11470 SCREEN i,O:CG;.Ufi 11680 11480 SCREEN 2,0:GOSUB 11900 11490 SCREEN 3,0:GOSUB 11920 11495 SCREEW.O 11500 A$-INK£.Y$ 11510 IF A$="“ THEN 11300 11520 LOCATE,,! 11530 СОТО 150 1!540 PLJWS3M2500T120L160<'£GAC05CCCC* „ •*S3H25U0tl 2CL16O5R1.G
GGGG", "V12H100C0T120L16Q2R8CR4 11550 11560 11570 11580 11590 12800 11510 11620 11630 11640 11650 11660 11670 11880 11620 11700 11710 11720 11730 11740 11750 11760 11770 11780 11790 11800 11810 11820 11830 11840 11850 11860 11870 118 SO 11820 11900 11910 11920 11930 20000 PLAY“C4KGACO5CCCC R805IHD-bD+D+D+" PLAY”04EGA005CCCC PLAY',O4A+GEA+A+A+A+A+", "FO+CGGGG RETURN PLAY"GD+CGA+A+GA+", "D+CCCO3UDDD+ PLAY GR16FGA+A+CO5GO4 PLAY”FIH-FGA+A+GA+ PLAY" G C05 A+O4GCO5A+O4GCO5 PLAY"O4A^GCO5A+O4FD+CF" PLAY’D+CCHieEA+DA "fftccccc* A+AADO3DDDR1S PLAY"R805CR8CC PLAY“CAO4GCO5R8CC“ "FFFFFFFF" PLAY”CA04GC05CA04R16G PLAY”R16AGA+A+AGG PLAY"GGGCO5R8CC ** PLAY"CA04GC05E8CC PLAY“CA04GB03BBBBM, "CC+C+DDDDD"
~>22i - nW0552”fH 90 01 пгаоетиЕ з дататвдаян/кя етш tbst.bas 10 DIH Х%(15) 20 CLS 30 PCLS 40 FOR 1=1 *10 7: IJ=8+1:NEXT 50 FOR ,i=8 TO 15:- XX(I)=15:N£XT • 60 LOT XX(0). • - .: \ то жт9 .0 ' •• : 80 P£INTCO.O),a 90 ЫЖ(0,0}-(512Л2>,5вВГ- . . ‘ 100 LINE(32,0)-(64,32bl,BF ' 110 ЫЖ(224,0)“(192Л2),1.ВЕ ‘ • i 120 LINE(254,0)-(258,255),4,BF j 130 ЬШЕ(288,0)-(320Л2),1,ВЕ Л 140 LINE(480,0)~(448sS2),l»SF- 150 LINR(16,48)-(240,240),6,B 160 LXNE(S2,64)-(224,224),6,B 170 PAINT(17,49),6,6 180 ЫЕЕ(272,48)“(49в,240),6,В 190 LIRE(2S8,64)-£480,224),6,B 200 PAINT(273,49),6»6 210 CTRCLE(80,140),16,l:PAINT(80,140),1,1 220 CIRCLE(128,140) ,16,1’-PAINT(128,140}, 1,1 230 CIRCLE(80,92),16,l:PAINT(80,92),1,1 240 CIRCLE(128,92),16,1:PAINT(128,92),1,1 250 CIRCLE(176,140),16,liPAINT(178,140),l,l 260 CIRCLE(176,92),16,1:PAINT(176»92),1,1 270 CIRCLE(1?6,188),16,1:PAINT(176,188),1,1 28‘3 C!IBCLE(128,188),ie,l:PAINT(128,18B),i,l 290 CIBCLE(80,188),lB,l:PAINT(80,188),l,l ’ 300 CIRCLE(336,140),16,1:PAINT(336,140),1,1 310 CIRCLE(384,140),16,l:PAINT(384,140),l,l 320 CIRCLE(336,92),16,1:PAINT(336,92),1,1 330 CIRCLE(384,92),ie,l:PAINT(384»92),l,l 340 CIRCLE(336,188),16,1:PAINT(336,188),1,1 350 CIRCLE(384,188),18,1:PAINT(384,188),1,1 360 CIRCLE(432,92),16,1:PAINT(432,92),1,1 370 CIRCLE(432,140},16,1:PAXNT(432,140),1,1 380 CIRCLEC432,188),16,1:PAINT(432,188),1,1 390 LOCATE 5,1:PRINT •KBOE“;W *;^ДЖОЙСТИК";- 400 PRIM ’ в;ПЕВОЦ“;“ ; •’даойСЭЙК";ж
ПТ00552-01 90 01 410 LOCATE 5,2:PRINT " 1“;" I SPC(9);“ 1”;“ II 2“ 420 LOCATE 10,4:PRINT PRINT "НАПРАВЛЕНИЯ" 430 X1=128:Y1=14O’-G1=O 440 CIRCLE(X1,Y1),6,4:PAINT(X1,Y1).4,4 450 X2=384:Y2=140:G2=0 460 CIRCLE(X2,Y2),6,4:PAINT(X2,Y2),4,4 470 A=STICK(1):E-STICK(2) 480 K1=STRIG(1):K2=STRIG(3):K3=STRIG(2):K4=STRIG(4) 490 IF A=G1 THEN GOTO 620 500 PAINT(X1»Y1),1,1 510 G1=A 520 IF A=0 THEN Xl=128:Y1=140:GOTO 610 530 IF A=1 THEN Xl=128:Y1=92:GOTO 610 540 IF Л-2 TIEN Xl=176: Y1=92:GOTO 610 550 IF A=3 THEN Xl=176:Y1=140:GOTO 610 530 IF A-4 THEN Xl=176:Y1=188.:GOTO 610 570 IF A-5 THEN X1=128:Y1=1&8:GOTO 610 580 IF A=6 THEN Xl=80 .1-188:GOTO 610 590 IF A=7 * IEN X1=80:Y1=140:GOTO 610 600 IF A-8 THEN Xl-80:Y1- j2:GOTO 610 610 CIRC:^(X1,Y1),6,4:PAINT(X1,Y1),4,4 620 IF B-G2 THEN 750 630 PAIKT(X2,Y2),1,1 ; 640 G2-B /• Д . 650 IF B-0 THEN X2=384t¥2=1-10: GOTO 740 660 IF -B-l THEN X2-3&-1¥2-92: GOTO 740 670 IF B=2 THEN X2~432:Y2~92:GOTO 740 680 IF B=3 THEN X2=432:Y2=140:GGTO 740 650 IF B-4 THEN X2=432:¥2=188:GOTO 740. 700 IF B=5 THEN X2=384:Y2=188:GOTO 740 710 IF B=6 THEN X2=S36:Y2=188:GOTO 740 720 IF B=? THEN X2=336:Y2=140:GOTO 740 730 IF B=8 THEN X2=336:Y2=92:GOTO 740 740 CIRCLE(X2,Y2),6,4:PAINT(X2,Y2), 4,4 750 IF Kl=-1 THEN 04 ELSE C=1 760 LINE(32,0)-(64,32},C.PF 770 IF K2=-*l THEN C=4 ELSE C=1 .780 LINE(224,0)“(192,32),C,BF 790 IF K3=-l THEN C=4 ELSE C=1 800 LINE(288,0)-(320»32),C,BF
1ГС00552-01 90 01 810 IF K4=“l TBJ58 0=4 SLSK C=1 820 ЬГР??(480,0}-(448*32>жС>В? 830 GOTO 470 <
- 224 - ПТ.00552-01 90 01 ПРИЛОЖЕНИЕ 4 ПРОГРАММ 1ZS Программа VS предназначена для демонстрации графических возможностей ПК8020. 1 • Для выполнения программы необходимо иметь: I) в составе аппаратуры - одно РШ; 2) в составе программных средств - программное изделие ’’Ба- зовые программные средства ПК8020. Демонстрационные и игровые про- граммы” ПТЗ.060.169, включающее в себя: и программное изделие ’’Базовые программные’средства ПК8020. Ин- терпретатор языка БЕЙСИК” ПТЗ.060.162. • - - . ' -- ' - Чтобы выполнить программу необходимо: I) включить питание ПК3020; » - ’ ’ " ' т ' 2) в привод А дисковода вставить программное изделие ПТЗ.060.162; .. ? ...-д’/. - 3) в привод В дисковода вставить программное изделие ПТЗ-,060.169; . " V: ’ • 4) нажать кнопку СЛаРОС; . \ 5) после появления на экране ПК6020 сообщения набрать на -клавиа^ре: Время- работы программы неограничен©.<
Программа EEKLAI предназначена для демонстрации графических возможностей ПК8010. Для выполнения программы необходимо иметь: I) в составе аппаратуры: одно РМП и до 15 РМУ, объединенных в локальную сеть; 2) в составе программных средств: программное изделие "Базовые программные средства ПК8020. Демонстрационные и игровые программы’’ ПТЗ.060.169 и программное изделие "Базовые программные средства ПК3020. Системное программное обеспечение" ПТ3.060.163. Чтобы выполнить программу EEKLAI необходимо: I) включить питание на всех рабочих местах; 2) в привод А дисковода ПКВ020 вставить программное изделие 3) в привод В дисковода ПК8020 вставить программное изделие . . 4) На ПК8020 нажать кнопку СБРОС; 5) после появления на экране ПК8020 сообщения во все РМУ -набрать на клавиатуре ПК8020: 6) произвести передачу программы B:EEKLAI.BAS согласно документу "Комплекс вычислительный КОРВЕТ. Базовые про граммные.средства Руководство пользователя" ПТ.00546-01 90 01; 7) после появления на экранах всех РЬаУ сообщения: ФАЙЛ ПЕРЕДАН \ набрать на клавиатурах РМУ:
ПТ.00552-01 90 01 rw * Номера листов(страниц)'дастов! Изм.1Изме- !Заменен-!новых!анну-!(стра-j !ненных!ных ! Г *?> ! Входящий! Подп. ! Дата доку-!$ сопро-i j мента[водитель! ! !ного до-! I [кумента ! . ? - !и дата ? ! | !лиро-!ниц) ! ! !ван- |в доку! ! . !ных !ментв ! 2HMpO% сгюиаз^ I i £ л J: г