- Бейсик Вильнюс
-
Бейсик Вильнюс Класс языка: алгоритмическое, процедурное
Тип исполнения: Появился в: 1985
Расширение файлов: BAS
Типизация данных: нестрогая
Испытал влияние: Бейсик Вильнюс (также известен как BASIC-86) — реализация языка программирования Бейсик для 16-разрядных домашних и учебных компьютеров с процессорами архитектуры PDP-11. Разработан в вычислительном центре Вильнюсского государственного университета (ВЦКП ВГУ) в 1985 году. Использовался на компьютерах: ДВК, БК-0010/БК-0011, УКНЦ, Немига.
По-видимому, Бейсик Вильнюс был разработан под сильным влиянием MSX BASIC: совпадают названия большинства операторов и функций, а также коды сообщений об ошибках. Но в Бейсик Вильнюс нет возможности записи нескольких операторов в одной строке, нет оператора
PLAY
и некоторых других возможностей. Кроме того, изображение символа с кодом 36, которое в кодировке ASCII соответствует символу доллара ($), заменено на изображение общего знака денежной единицы (¤). Поэтому все строковые переменные и функции со строковым результатом пишутся через ¤, например, функция MID$ превратилась в MID¤.Содержание
Исполнение
При запуске программы командой
RUN
происходила компиляция программы в промежуточный, так называемый шитый код. Шитый код, по сути, представляет собой последовательность адресов вызова подпрограмм и данные для вызовов. Команда кодируется в памяти числом, а параметры команды следуют за ней текстом. При выполнении программы, исполняющая система производит вызовы указанных подпрограмм и передаёт им подготовленные данные. Таким образом, шитый код выполняется намного быстрее чем обычная интерпретация, но в несколько раз медленнее чем программа в машинном коде.Варианты
Бейсик Вильнюс для БК-0010/БК-0011 занимает 24 КБ ПЗУ. В целях экономии памяти тексты ошибок не были зашиты в ПЗУ; ошибки выдаются не текстом, а кодами, например: «Ошибка 2 в строке 10».
Существует три варианта Бейсик Вильнюс для УКНЦ — версия в кассете ПЗУ занимает 24 КБ, версия для загрузки через сеть (сетевая) — 28 КБ, дисковая версия — 30 КБ. Дисковая и сетевая реализации отличаются наличием текстовых сообщений об ошибках. Последние варианты датируются сентябрём 1988 года.
Взгляд на язык
Пример простейшей программы:
10 CLS 20 PRINT "Привет, мир!" 30 END
Программа состоит из набора нумерованных строк, в каждой строке записывается один оператор. Работа по редактированию текста программы происходит в режиме командной строки. Команды:
RUN
— запуск программы на выполнениеCONT
— продолжение работы программы после остановкиCSAVE
,CLOAD
— запись/чтение программы на магнитную ленту и с неё, расширение файла.COD
LIST
— вывод текста программы на экран.
— вызов строки на редактированиеDELETE
— удаление строкNEW
— удаление всей программыRENUM
— перенумерация строкAUTO
— ввод программы с автонумерацией строк
Операторы языка:
BEEP CALL CIRCLE CLEAR CLOSE CLS COLOR DATA DEF DEF FN DEF USR DIM DRAW END FOR GOSUB GOTO IF INPUT KEY LET LINE LOCATE ON OPEN OUT NEXT PAINT POKE PRESET PRINT PSET READ REM RESTORE RETURN STOP TROFF TRON
Есть возможность сокращать операторы до трех символов (например:
CIRCLE
можно сократить доCIR
), а некоторые, первые два символа которых не совпадают ни с одним другим оператором — до двух (POKE
—PO
). КомандуPRINT
можно заменять знаком?
. Также есть возможность использовать цепочную конструкциюIF
—THEN
—ELSE IF
, пользуясь при этом сокращениямиTH
,EL
иELIF
. При этом максимальная длина одной строки программы ограничивается 254 символами.Функции:
SQR SIN COS TAN ATN PI EXP LOG ABS FIX INT SGN RND FRE CINT CSNG CDBL PEEK INP BIN¤ OCT¤ HEX¤ CHR¤ ASC LEN STRING¤ INKEY¤ STR¤ VAL MID¤ CSRLIN POS LPOS EOF POINT
Бейсик Вильнюс включает в себя возможности вызова подпрограмм в машинном коде. Для этого используется конструкция
DEF USR
. Машинный код может загружаться командойBLOAD
либо формироваться операторомPOKE
.Интересные факты
- В Бейсик Вильнюс использовался популярный в то время алгоритм генерации случайных чисел RANDU, и пользователями БК был замечен существенный недостаток алгоритма[1] — например, при отрисовке большого количества точек, координаты которых получены функцией
RND()
, было хорошо видно разделение точек по диагональным плоскостям.
Литература
- Программное обеспечение микро-ЭВМ «Электроника БК-0010». Язык «Бейсик». Описание языка. — ВЦ Вильнюсского госуниверситета, 1985. — 95 с.
- Программное обеспечение комплекса вычислительного учебного «Электроника МС 0202». Бейсик. Описание языка. — 1987. — 98 с.
- Авсеев В., Авсеев А. Особенности транслятора с языка Бейсик для БК-0010.01 // Информатика и образование. — 1990. — № 2. — С. 42—46.
- Митрюхин В. К., Донской А. Н., Михайлов А. В., Немов А. М. Программирование на БК-0010-01. — Чебоксары: РИО Чебоксарской типографии №1, 1993. — 1993 с.
Примечания
- ↑ М. Максимов. Случайны ли случайные числа? — Журнал «Наука и жизнь», № 10, 1986.
Ссылки
- Исходный код Бейсик Вильнюс 1985 для БК на MACRO-11
- Исходный код Бейсик Вильнюс 1987 для БК на MACRO-11
Диалекты языка программирования Бейсик Классические Altair BASIC • Applesoft BASIC • Atari BASIC (ST) • BASIC Programming • Color BASIC • Commodore BASIC • Dartmouth BASIC • Family BASIC • G-BASIC • GFA BASIC • GW-BASIC • HP BASIC for OpenVMS • IBM (BASICA • Cassette • Disk) • Integer BASIC • Locomotive BASIC • Mallard BASIC • Microsoft BASIC • MSX BASIC • ScriptBasic • Sinclair BASIC • STOS BASIC • TI BASIC (TI 99/4A • калькуляторы) • Tiny BASIC • Turbo-Basic XL • UBASIC • Бейсик Вильнюс
Переходные BASIC-256 • Basic4GL
Процедурные AmigaBASIC • AMOS BASIC • BBC BASIC • Beta BASIC • DarkBASIC • FreeBASIC • GFA BASIC • GLBasic • Liberty BASIC • Microsoft Small Basic • PureBasic • QBasic • QB64 • QuickBASIC • ScriptBasic • SuperBasic • ThinBasic • True BASIC • Turbo Basic • XBasic • Xblite • Basic4ppc • Visual Basic • Visual Test
Объектные BlitzMax • FreeBASIC • Gambas • GLBasic • KBasic • PowerBASIC • ProvideX • RapidQ • REALbasic • Run BASIC • AutoIt • StarOffice Basic • Visual Basic (.NET)
Мобильные Basic4ppc • GLBasic • NS Basic
Категории:- Появились в 1985 году
- Языки программирования по алфавиту
- Basic
Wikimedia Foundation. 2010.