Описание языка Turbo Basic для студентов всех специальностей
ОСНОВЫ ПРИКЛАДНОЙ ИНФОРМАТИКИ
Раздел: Описание языка Турбо-Бейсик
Справочное пособие для студентов всех специальностей
АННОТАЦИЯ
Настоящее пособие содержит описание основных средств языка Турбо-Бейсик, а также необходимые сведения по среде Турбо-Бейсика.
Пособие в основном ориентировано на использование при выполнении практикума по курсу "Основы прикладной информатики". Может также использоваться в качестве справочника по языку Турбо-Бейсик.
С О Д Е Р Ж А Н И Е
Основные средства языка
Структура программы
Типы данных
Массивы
Выражения
Стандартные функции
Основные операторы
Операторы цикла
Подпрограммы, функции и процедуры
Цвет и графика
Файлы. Работа с файлами данных последовательного и прямого доступа
Файлы последовательного доступа
Файлы прямого доступа.
Движущиеся изображения, звуковые эффекты и нестандартный ввод с клавиатуры
Оператор DRAW
Операторы GET и PUT.
Оператор BEEP
Оператор SOUND
Оператор PLAY
Функция INKEY$
Библиотека стандартных процедур в Турбо-Бейсике
Рекомендуемый порядок работы на ПЭВМ при создании и выполнении программ на языке Турбо-Бейсик
ОСНОВНЫЕ СРЕДСТВА ЯЗЫКА
Структура программы
Программа состоит из строк. Одна строка содержит один или несколько операторов, разделенных двоеточием. Например, a=1: b=1 Перенос оператора на другую строку допускается. В этом случае используется знак переноса Например, a=1: b_ =1 Строки могут нумероваться (но это не обязательно) . Ссылка в нужное место программы может осуществляться также по метке.
Метка размещается в отдельной строке, начинается с буквы и содержит любое количество букв и цифр. После метки ставится двоеточие. Например, aaa: x=x+1...
GOTO aaa Если первым символом в строке является апостроф (') , то строка воспринимается как комментарий.
Имя образуется из букв от A до Z (или от a до z) , знака подчеркивания и цифр от 0 до 9, начинается с буквы. Имя используется для обозначения переменных, меток, процедур и т.п.
Типы данных
Целый (значения от -32767 до 32767, занимает 2 байта) ; длинный целый (от 2я5-31 до 2я531,4 байта) ; вещественный (4 байта) ; вещественный двойной точности (8 байт) ; символьный (последовательность любых символов, каждый символ занимает 1 байт) .
Тип переменной определяется типом данных, которые она представляет. Указание типа переменной задается соответствующим знаком после имени.
a$ - символьный a% - целый a& - длинный целый - 5 a! - вещественный обычной точности а# - вещественный двойной точности Если знак после имени отсутствует, то эта переменная считается по умолчанию вещественной обычной точности. То есть a! =1.1 и а=1.1 одно и то же.
Массивы
Описание массивов осуществляется с помощью оператора 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 будет принимать значения, начиная с 1. Если описание массива отсутствует, то по умолчанию верхний индекс равен 10 (нижний - 0) . В описании массива вместо константы может использоваться переменная. Например, DIM a(n) Значение n должно быть предварительно определено.
Используя оператор ERASE., можно освободить память, выделенную под массив, и вернуть ее для дальнейшего использования. Например, оператор ERASE a возвращает память, выделенную под массив a.
1.4. Выражения Символьные выражения. состоят из символьных констант (последовательность символов, заключенная в кавычки) , символьных переменных, символьных функций, соединенных знаком + (конкатенация, или объединение) . Например, 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) log42 x 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 генерируется новая последовательность случайных чисел; если x > 0 или отсутствует, то генерируется очередное случайное число, но при повторном запуске последовательность повторяется. Можно использовать оператор RANDOMIZE (перед первым использованием функции RND) , чтобы при новом запуске программы получать новую последовательность случайных чисел.
Операции отношения: <, <=, >, >=, <>.
Левая и правая части отношения - это числовое или символьное выражение (в последнем случае сравниваются числовые коды символов) . Если отношение удовлетворяется (является истинным) , то его значение равно -1, если не удовлетворяется (является ложным) , то его значение 0. Отношения могут быть использованы также в числовых выражениях. Например, при выполнении оператора PRINT 5 > 6,5 < 6, (5 < 6) * 15 будет напечатано 0, -1 и -15.
Логические операции: AND (логическое и) , OR (логическое или) , XOR (исключающее или) , EQV (эквивалентность) , IMP (импликация) .
Логические операции осуществляются над целыми числами -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. Основные операторы Оператор присваивания имеет вид переменная = выражение Оператор безусловного перехода имеет вид GOTO метка Условный оператор имеет вид IF условие THEN операторы [ELSE операторы] Например, IF a < b THEN t=15: V=16 ELSE t=17 В качестве условия может использоваться целое выражение, которое интерпретируется как FALSE, если его значение равно 0, и TRUE, если не равно 0.
Если после THEN или после ELSE располагается целая группа операторов, то можно использовать IF блок, который имеет следующую структуру IF условие THEN операторы ELSE операторы END IF При этом ELSE и операторы за ним могут отсутствовать, т.е. возможна конструкция IF условие THEN операторы END IF Если после ELSE необходима проверка условия, то используется оператор ELSEIF IF условие THEN операторы ELSEIF условие THEN операторы ELSE операторы END IF Оператор конца END используется для окончания выполнения программы. Может использоваться в программе несколько раз. Используется также с IF, SUB, DEF, SELEСT (см. ниже) Оператор очистки экрана CLS обычно располагается в начале программы для очистки экрана перед выводом результатов программы.
Оператор ввода INPUT имеет вид INPUT [;] [поясняющий текст], список переменных Поясняющий текст заключается в кавычки. Переменные в списке отделяются друг от друга запятыми. ";" после INPUT означает, что курсор останется на той же строке, когда будет нажат "Ввод".
Оператор вывода PRINT имеет вид PRINT [список вывода] Элементы списка разделяются ", " или ";" или пробелом. В первом случае вывод следующего элемента начинается в новую зону (строка экрана условно разделена на 5 зон по 14 позиций каждая) , во втором - через пробел (для чисел) или непосредственно вслед (для символьных строк) за предыдущим элементом.
Элементом списка может быть имя переменной, константа (символьная заключается в кавычки) или выражение (перед выводом вычисляется) .
Оператор вывода PRINT USING имеет вид PRINT USING формат; список вывода Формат задается в виде символьной строки (заключенной в кавычки) , задающей форму вывода каждого элемента с