Turbo Basic

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску
Эта статья о компиляторе компанииBorland; о диалекте языка дляAtari 400/800 см.Turbo-Basic XL.
Turbo Basic
Скриншот программы Turbo Basic
Среда разработки Turbo Basic
ТипИнтегрированная среда разработки
РазработчикBorland
Написана наБейсик
Операционная системаMS-DOS
Языки интерфейсаBasic
Первый выпуск1987
Аппаратная платформаx86
Последняя версия1.1
СостояниеAbandonware
ЛицензияПроприетарная

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 страницах[2][3]. Файлы были датированы4 ноября1987 года 01:10.[4]

В отличие от большинства реализаций Бейсика того периода, Turbo Basic был полным компилятором, генерировавшим родной код для MS-DOS. Прочие реализации были или лишь интерпретаторами или сильно зависели отбиблиотеки времени исполнения. В самой IDE можно было запускать программы на языке Бейсик для традиционной отладки Бейсик-кода (см. ниже) или генерировать отдельныйисполнимый файл для MS-DOS, который можно было запускать на других системах без установки Turbo Basic или библиотек для запуска.

Когда Borland приняла решение прекратить выпуск этого продукта, Зейл выкупил его обратно, в 1990 году переименовав его вPowerBASIC, и основал PowerBASIC Inc. для продолжения его поддержки и развития/[5]

Описание языка

[править |править код]

Структура кода

[править |править код]

Основной структурной единицей кода является строка. Одна строка может содержать один или несколько операторов, разделенных двоеточием (допускается перенос оператора на другую строку при помощи знака переноса _). Пример:

a=1:b=1
a=1:b_=1

Допускается необязательная нумерация строк, а также использование меток для перехода в нужные части программы. Метка размещается в отдельной строке, начинается с буквы и содержит любое количество букв и цифр. После метки ставится двоеточие. Пример:

aaa:x=x+1...GOTOaaa

Имена переменных, меток или процедур образуются из букв от 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) — модуль x
  • SIN (x) — sin x
  • COS (x) — cos x
  • TAN (x) — tg x
  • ATN (x) — arctg x
  • EXP (x) — e^(x)
  • LOG (x) — ln x
  • LOG2(x) — логарифм x по основанию 2
  • LOG10(x) — lg x
  • INT (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)

Также предусмотрены операции отношения и логические операции:NOT (логическое не),AND (логическое и),OR (логическое или),XOR (исключающее или),EQV (эквивалентность),IMP (импликация). Кроме этого, присутствует некоторая библиотека стандартных процедур.

Примеры кода

[править |править код]

Нижеследующая программа представляет собой примерАлгол-подобного диалекта Бейсика, поддерживаемого Turbo Basic. В отличие от традиционного Бейсика, использующего нумерацию строк и обладающего ограниченными управляющими структурами без поддержки подпрограмм в стиле Алгола, новые диалекты Бейсика, появившиеся в этот период, были расширены для обеспечения совместимости языка с новой теориейструктурного программирования путём отказа от нумерации строк и добавлением управляющих структур и подпрограммных определений, необходимых для структурного программирования.

INPUT"Ваше имя:",A$PRINT"Привет ";A$DOS$=""INPUT"Сколько звезд вы хотите напечатать?";SFORI=1TOSS$=S$+"*"NEXTIPRINTS$DOINPUT"Хотите ли вы напечатать еще звезд?";Q$LOOPWHILELEN(Q$)=0Q$=LEFT$(Q$,1)LOOPWHILE(Q$="Y")OR(Q$="y")PRINT"До свидания ";A$

Как и в других продуктах Borland этого периода, код исполнялся внутри самой IDE.

Примечания

[править |править код]

Ссылки

[править |править код]
Перейти к шаблону «Диалекты языка программирования Basic»
Диалекты языка программированияБейсик
Классические
Переходные
Процедурные
Объектные
Мобильные
Консольные
Источник —https://ru.wikipedia.org/w/index.php?title=Turbo_Basic&oldid=139426271
Категории:
Скрытые категории: