Смекни!
smekni.com

Описание языка Turbo Basic для студентов всех специальностей (стр. 1 из 5)

АННОТАЦИЯ

Настоящее пособие содержит описание основных средств языка

Турбо-Бейсик, а также необходимые сведения по среде Турбо-Бейсика.

Пособие в основном ориентировано на использование при выпол-

нении практикума по курсу "Основы прикладной информатики". Может

также использоваться в качестве справочника по языку Турбо-Бейсик.

С Московский государственный

институт стали и сплавов

1994 г.


- 3 -

С О Д Е Р Ж А Н И Е

1. Основные средства языка.............................. 4

1.1. Структура программы............................. 4

1.2. Типы данных..................................... 4

1.3. Массивы......................................... 5

1.4. Выражения....................................... 5

1.5. Стандартные функции............................. 6

1.6. Основные операторы.............................. 8

1.7. Операторы цикла................................. 10

1.8. Подпрограммы, функции и процедуры............... 12

2. Цвет и графика....................................... 16

3. Файлы. Работа с файлами данных последовательного и

прямого доступа...................................... 20

3.1. Файлы последовательного доступа................. 20

3.2. Файлы прямого доступа........................... 23

4. Движущиеся изображения, звуковые эффекты и нестандар-

тный ввод с клавиатуры............................... 26

4.2. Оператор DRAW................................... 26

4.3. Операторы GET и PUT............................. 27

4.4. Оператор BEEP................................... 28

4.5. Оператор SOUND.................................. 28

4.6. Оператор PLAY................................... 28

4.7 Функция INKEY$.................................. 30

5. Библиотека стандартных процедур в Турбо-Бейсике...... 31

6. Рекомендуемый порядок работы на ПЭВМ при создании и

выполнении программ на языке Турбо-Бейсик............ 32


- 4 -

1. ОСНОВНЫЕ СРЕДСТВА ЯЗЫКА

1.1. Структура программы

Программа состоит из строк. Одна строка содержит один или

несколько операторов, разделенных двоеточием. Например,

a=1:b=1

Перенос оператора на другую строку допускается. В этом слу-

чае используется знак переноса _. Например,

a=1:b_

=1

Строки могут нумероваться (но это не обязательно). Ссылка в

нужное место программы может осуществляться также по метке.

_Метка . размещается в отдельной строке, начинается с буквы и

содержит любое количество букв и цифр. После метки ставится двое-

точие. Например,

aaa:

x=x+1

...

GOTO aaa

Если первым символом в строке является апостроф ('), то

строка воспринимается как комментарий.

_Имя . образуется из букв от A до Z (или от a до z), знака под-

черкивания _ и цифр от 0 до 9, начинается с буквы. Имя использу-

ется для обозначения переменных, меток, процедур и т.п.

1.2. Типы данных

Целый (значения от -32767 до 32767, занимает 2 байта); длин-

ный целый (от 2 5-31 0до 2 531 0, 4 байта); вещественный (4 байта); ве-

щественный двойной точности (8 байт); символьный ( последователь-

ность любых символов, каждый символ занимает 1 байт).

_Тип переменной .определяется типом данных, которые она предс-

тавляет. Указание типа переменной задается соответствующим знаком

после имени.

a$ - символьный

a% - целый

a& - длинный целый


- 5 -

a! - вещественный обычной точности

а# - вещественный двойной точности

Если знак после имени отсутствует, то эта переменная счита-

ется по умолчанию вещественной обычной точности. То есть

a!=1.1

и

а=1.1

одно и то же.

1.3. Массивы

_Описание массивов . осуществляется с помощью оператора DIM с

указанием размеров. Например, оператор

DIM a(10), b(10:20, 25:45)

описывает одномерный массив a, элементы которого имеют индексы от

0 до 10, и двухмерный массив b, элементы которого имеют индексы :

первый от 10 до 20, второй от 25 до 45.

Если нижняя граница индексов в описании не указана, то она

считается равной 0.

Используя оператор _OPTION BASE n ., можно задать нижнюю грани-

цу индексов равной n. Например,

OPTION BASE 1

DIM a(10)

В этом случае индекс элементов массива a 2 0будет принимать значе-

ния, начиная с 1. Если описание массива отсутствует, то по умол-

чанию верхний индекс равен 10 ( нижний - 0). В описании массива

вместо константы может использоваться переменная. Например,

DIM a(n)

Значение n должно быть предварительно определено.

Используя _оператор ERASE ., можно освободить память, выделен-

ную под массив, и вернуть ее для дальнейшего использования. Нап-

ример, оператор

ERASE a

возвращает память, выделенную под массив a.

1.4. Выражения

_Символьные выражения . состоят из символьных констант (после-

довательность символов, заключенная в кавычки), символьных пере-


- 6 -

менных, символьных функций, соединенных знаком + (конкатенация,

или объединение). Например,

a$="КАТЯ"

b$="ЛЕНА"

f$=a$+" И "+b$

В результате f$ будет иметь значение "КАТЯ И ЛЕНА". При помощи

функций LEFT$, RIGHT$, MID$ можно выбрать часть символьной пере-

менной слева, справа или из середины. Например,

F1$=LEFT$(f$,4)

F2$=RIGHT(f$,4)

F3$=MID$(f$,6,1)

В результате будет F1$ = "КАТЯ", F2$ = "ЛЕНА" и F3$ = "И".

_Числовые выражения . включают в себя константы, переменные,

функции, соединенные знаками арифметических операций, при этом

могут использоваться величины разных типов.

_Приоритеты . арифметических операций:

1. Возведение в степень (^)

2. Умножение, деление (*,/ )

3. Деление нацело (\) (например, 5\2 равно 2)

4. Вычисление остатка от деления (MOD) (например, 45 MOD 19

равно 7)

5. Сложение, вычитание (+,-)

1.5. Стандартные функции

Запись на Бейсике Математическая запись

ABS (x) │x│

SIN (x) sin x

COS (x) cos x

TAN (x) tg x

ATN (x) arctg x

EXP (x) e 5x

LOG (x) ln x

LOG2(x) log 42 0x

LOG10(x) lg x

INT (x) целая часть х

SGN (x) знак х (+1 при х > 0,

0 при х=0, -1 при x < 0)

SQR (x) квадратный корень из х


- 7 -

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)

Замечания. 1. [] обозначают необязательный параметр.

2. Если х=0, то повторяется последнее сгенерированное число; если

х < 0, то для каждого x 2 0генерируется новая последовательность

случайных чисел; если x > 0 или отсутствует, то генерируется оче-

редное случайное число, но при повторном запуске последователь-

ность повторяется. Можно использовать оператор RANDOMIZE (перед

первым использованием функции RND), чтобы при новом запуске прог-

раммы получать новую последовательность случайных чисел.

_Операции отношения .: <, <=, >, >=, <>.

Левая и правая части отношения - это числовое или символьное

выражение (в последнем случае сравниваются числовые коды симво-

лов). Если отношение удовлетворяется (является истинным), то его

значение равно -1 , если не удовлетворяется (является ложным), то

его значение 0. Отношения могут быть использованы также в число-

вых выражениях. Например, при выполнении оператора

PRINT 5 > 6, 5 < 6, (5 < 6) * 15

будет напечатано 0, -1 и -15.

_Логические операции .: AND (логическое и ), OR (логическое

или), XOR (исключающее или ), EQV (эквивалентность), IMP (импли-

кация).


- 8 -

Логические операции осуществляются над целыми числами -1

(TRUE) и 0 (FALSE).

-1, если A = -1, B = -1

A AND B 0, в остальных случаях

0, если A = 0, B = 0

A OR B -1, в остальных случаях

-1, если A и B не совпадают

A XOR B 0, если A и B совпадают

-1, если A и B совпадают

A EQV B 0, если A и B не совпадают

0, если A = -1, B = 0

A IMP B -1, в остальных случаях

1.6. Основные операторы

_Оператор присваивания . имеет вид

1переменная 0 = 1 выражение

_Оператор безусловного перехода . имеет вид

GOTO 1метка

_Условный оператор . имеет вид

IF 1условие 0 THEN 1операторы 0 [ELSE 1операторы 0]

Например,

IF a < b THEN t=15 : V=16 ELSE t=17

В качестве условия может использоваться целое выражение, которое

интерпретируется как FALSE, если его значение равно 0, и TRUE,

если не равно 0.

Если после THEN или после ELSE располагается целая группа

операторов, то можно использовать _IF блок ., который имеет следую-

щую структуру

IF 1условие 0 THEN

1операторы

ELSE

1операторы

END IF

При этом ELSE и операторы за ним могут отсутствовать, т.е. воз-


- 9 -

можна конструкция

IF 1условие 0 THEN

1операторы

END IF

Если после ELSE необходима проверка условия, то используется опе-

ратор ELSEIF

IF 1условие 0 THEN

1операторы

ELSEIF 1условие 0 THEN

1операторы

ELSE

1операторы

END IF

_Оператор конца END . используется для окончания выполнения

программы. Может использоваться в программе несколько раз. Ис-

пользуется также с IF, SUB, DEF, SELEСT (см.ниже)

_Оператор очистки экрана CLS .обычно располагается в начале

программы для очистки экрана перед выводом результатов программы.

_Оператор ввода INPUT . имеет вид

INPUT [;] [ 1поясняющий текст 0], 1список переменных

Поясняющий текст заключается в кавычки. Переменные в списке отде-

ляются друг от друга запятыми. ";" после INPUT означает, что кур-

сор останется на той же строке, когда будет нажат "Ввод".

_Оператор вывода PRINT . имеет вид

PRINT [ 1список вывода 0]

Элементы списка разделяются "," или ";" или пробелом. В первом

случае вывод следующего элемента начинается в новую зону (строка

экрана условно разделена на 5 зон по 14 позиций каждая), во вто-

ром - через пробел (для чисел) или непосредственно вслед (для

символьных строк) за предыдущим элементом.

Элементом списка может быть имя переменной, константа (сим-

вольная заключается в кавычки) или выражение (перед выводом вы-

числяется).

_Оператор вывода PRINT USING . имеет вид