- Turbo Basic
-
Эта статья о компиляторе компании Borland; о диалекте языка для Atari 400/800 см.: Turbo-Basic XL.
Turbo Basic — компилятор языка Бейсик, а также его диалект, первоначально созданный Робертом «Бобом» Зейлом и впоследствии выкупленный у него компанией Borland.
Содержание
История
Роберт «Боб» Зейл в 1987 году на основе своей многолетней разработки BASIC/Z создал Turbo Basic, а затем продал его компании Borland. Журнал Infoworld назвал его одним из самых значительных продуктов того года.[1]
Для данного ПО в период 1987—1988 годов характерен «чёрный экран» Borland, схожий с Turbo Pascal 4.0, Turbo C 1.0/1.5 и Turbo Prolog 1.1. Borland не применяла свой фирменный «голубой экран» в IDE вплоть до 1989 года, когда были выпущены Turbo C 2.0, Turbo C++ 1.1 и др. К этому времени Turbo Basic и Turbo Prolog уже больше не продавались.
- Turbo Basic 1.0 поставлялся на двух 5.25"-дискетах с файлами, датированными 20 апреля 1987 года 01:00.
- Turbo Basic 1.01 также поставлялся на двух 5.25"-дискетах, но в комплект входило руководство на 466 страницах. Файлы были датированы 4 ноября 1987 года 01:10.[2]
В отличие от большинства реализаций Бейсика того периода, Turbo Basic был полным компилятором, генерировавшим родной код для MS-DOS. Прочие реализации были или лишь интерпретаторами или сильно зависели от библиотеки времени исполнения. В самой IDE можно было запускать программы на языке Бейсик для традиционной отладки Бейсик-кода (см. ниже) или генерировать отдельный исполнимый файл для MS-DOS, который можно было запускать на других системах без установки Turbo Basic или библиотек для запуска.
Когда Borland приняла решение прекратить выпуск этого продукта, Зейл выкупил его обратно, в 1990 году переименовав его в PowerBASIC, и основал PowerBASIC Inc. для продолжения его поддержки и развития/[3]
Описание языка
Структура кода
Основной структурной единицей кода является строка. Одна строка может содержать один или несколько операторов, разделенных двоеточием (допускается перенос оператора на другую строку при помощи знака переноса _). Пример:
a=1:b=1
a=1:b_ =1
Допускается необязательная нумерация строк, а также использование меток для перехода в нужные части программы. Метка размещается в отдельной строке, начинается с буквы и содержит любое количество букв и цифр. После метки ставится двоеточие. Пример:
aaa: x=x+1 ... GOTO aaa
Имена переменных, меток или процедур образуются из букв от A до Z (или от a до z), знака подчеркивания _ и цифр от 0 до 9 и должны начинаться с буквы.
Комментарии обозначаются при помощи апострофа (
'
) в начале строки.Типы данных
Допускаются следующие типы данных: целый (значения от −32 768 до 32 767, занимает 2 байта); длинный целый (от −2 147 483 648 до +2 147 483 647, 4 байта); вещественный (4 байта); вещественный двойной точности (8 байт); символьный (последовательность любых символов, каждый символ занимает 1 байт).
Тип переменной определяется типом данных, которые она представляет (определяется специальным символом). Если знак после имени отсутствует, то эта переменная считается по умолчанию вещественной обычной точности.
Массивы
В Turbo Basic допускается создание до 8-ми мерных массивов при помощи оператора
DIM
с указанием размеров. В описании массива вместо константы может использоваться переменная (например,DIM a(n)
), но значение n должно быть предварительно определено. При помощи оператораERASE
можно освободить память, выделенную под массив, и вернуть её для дальнейшего использования.Выражения
Предусмотрена поддержка двух типов выражений: символьные и числовые. Символьные выражения состоят из символьных констант (последовательность символов, заключенная в кавычки), символьных переменных, символьных функций, соединенных знаком + (конкатенация, или объединение). При помощи функций
LEFT$
,RIGHT$
,MID$
можно выбрать часть символьной переменной слева, справа или из середины.Числовые выражения включают в себя константы, переменные, функции, соединенные знаками арифметических операций, при этом могут использоваться величины разных типов.
Также поддерживаются приоритеты для арифметических операций.
Стандартные функции
В Turbo Basic присутствует набор из нескольких стандартных операций:
ABS (x)
— модуль xSIN (x)
— sin xCOS (x)
— cos xTAN (x)
— tg xATN (x)
— arctg xEXP (x)
— e 5xLOG (x)
— ln xLOG2(x)
— логарифм x по основанию 2LOG10(x)
— lg xINT (x)
— целая часть хSGN (x)
— знак х (+1 при х > 0, 0 при х=0, −1 при x < 0)SQR (x)
— квадратный корень из хLEN (а$)
— количество символов а$LEFT$(a$,n)
— выбирает из a$ n символов, начиная с первогоMID$ (a$,m, n)
— выбирает из a$ n символов, начиная с m-гоRIGHT$ (a$,n)
— выбирает n символов а$, начиная с последнегоSTR$ (x)
— преобразует число к символьному видуVAL (a$)
— определяет числовое значение а$ASC (a$)
— определяет код первого символа а$TAB (n)
— указывает номер позиции для вывода следующего элемента в списке вывода оператораPRINT
SPC (n)
— вывод n пробелов, используется в списке вывода оператораPRINT
RND [(x)]
— выдает случайное число из интервала (0,1)
Также предусмотрены операции отношения и логические операции:
AND
(логическое и),OR
(логическое или),XOR
(исключающее или),EQV
(эквивалентность),IMP
(импликация). Кроме этого, присутствует некоторая библиотека стандартных процедур.Примеры кода
Нижеследующая программа представляет собой пример Алгол-подобного диалекта Бейсика, поддерживаемого Turbo Basic. В отличие от традиционного Бейсика, использующего нумерацию строк и обладающего ограниченными управляющими структурами без поддержки подпрограмм в стиле Алгола, новые диалекты Бейсика, появившиеся в этот период, были расширены для обеспечения совместимости языка с новой теорией структурного программирования путем отказа от нумерации строк и добавлением управляющих структур и подпрограммных определений, необходимых для структурного программирования.
INPUT "Ваше имя:", A$ PRINT "Привет "; A$ DO S$ = "" INPUT "Сколько звезд вы хотите напечатать?"; S FOR I = 1 TO S S$ = S$ + "*" NEXT I PRINT S$ DO INPUT "Хотите ли вы напечатать еще звезд?"; Q$ LOOP WHILE LEN(Q$) = 0 Q$ = LEFT$ (Q$, 1) LOOP WHILE (Q$ = "Y") OR (Q$ = "y") PRINT "До свидания "; A$
Как и в других продуктах Borland этого периода, код исполнялся внутри самой IDE.
Примечания
Ссылки
- В. Л. Торхов. Турбо-Бейсик. Справочное руководство (1993)
- Описание Турбо Бейсика
- Turbo Basic 1.1. Руководство пользователя
Для улучшения этой статьи желательно?: - Проставить шаблон-карточку, который существует для предмета статьи. Пример использования шаблона есть в статьях на похожую тематику.
Диалекты языка программирования Бейсик Классические 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
Категории:- Basic
- Программное обеспечение Borland
- Программное обеспечение для DOS
Wikimedia Foundation. 2010.