Переменные и данные, обрабатываемые Турбо Бейсиком
Турбо Бейсик обрабатывает как числовые так и символьные константы, переменные и массивы.
Константы
Константы ― это объекты программы, которые будучи заданы в программе, в процессе ее выполнения не изменяют своих значений.
Символьные константы записываются в виде цепочки символов, заключенной в кавычки. В качестве символов могут использоваться любые из 256 символов кода ASCII (American Standart Code for Information Interchange), в том числе и русские буквы, например:
Print"Лабораторная работа # 4"
Числовые константы включают пять видов: целые, вещественные c обычной точностью, вещественные с двойной точностью, восьмеричные и шестнадцатеричные. При записи положительных констант всех видов знак "+" можно опускать.
Целые числовые константы записываются в виде целых десятичных чисел в диапазоне от -32768 до +32767. В памяти ПК они представляются в виде двоичных целых чисел с фиксированной точкой (точка фиксирована справа) и занимают 2 байта.
Вещественные константы с обычной точностью могут записываться в программе в виде десятичных чисел с точкой, отделяющей целую
часть числа от дробной (с фиксированной десятичной точкой –fixed)
или порядком, обозначенным буквой Е (с плавающей десятичной точкой float). Диапазон представления вещественных констант лежит в пределах от IOE-38 до IOE+38. При представлении числа имеет смысл не более 7 десятичных цифр. Нуль целых можно не записывать. Порядок может включать более двух десятичных цифр. Знак “+” порядка можно опускать. В памяти ПК вещественные константы представляются в виде двоичных чисел с плавающей точкой длиной 4 байта. Примеры записи констант с обычной точностью:
|
|
с фиксированной точкой | с плавающей точкой |
5493,96 | I.24EI5 |
-.924 | -.678Е-2 |
-123.625 | 5Е5 |
Чтобы подчеркнуть, что указанное число является вещественной константой с обычной точностью, в конце его записи следует поставить символ "!", например, фрагмент программы вывода константы независимо от количества цифр):
Print 2697.53694!
На экране будет высвечено:
3697.537
Как видим, компилятор автоматически округляет до семи значащих цифр.
Вещественные константы с двойной точностью в памяти ПК представляются аналогично константам с обычной точностью, но занимают 8 байтов. Диапазон представления чисел такой же, но имеет смысл для записи использовать до 16 значащих разрядов. При записи чисел в форме fload, вместо буквы Е, используется буква D. Любое число, имеющее более семи значащих цифр, воспринимается компилятором как вещественная константа с двойной точностью. Чтобы некоторое число в ПК воспринималось с двойной точностью (независимо от количества цифр), необходимо в конце его записи поставить символ "# ". При этом недостающие разряды до 16 заполнятся нулями. Примеры записи констант с двойной точностью:
|
|
с фиксированной точкой | с плавающей точкой |
123.345678 | 12.765439D12 |
- .543 # | -.672D-3 |
Восьмеричные и шестнадцатеричные константы в основном используются при программировании в кодах команд ПК и на языке ассемблера. В программе константы записываются в восьмеричной и шестнадцатеричной системах счисления. Восьмеричной константе предшествует символ “&”, а шестнадцатеричной ― символы "&H". При этом константы могут принимать только целые значения в диапазонах: от -& 77777 до +&77777 ― для восьмеричных и от -&H7FFF до &ÍFFF для шестнадцатеричных. В памяти ПК каждая цифра константы преобразуется в их двоичный эквивалент.
Таким образом, типы и виды констант определяются формой их записи.
Переменные
Переменная ― это обозначение некоторой величины, которая в процессе счета программы может принимать различные значения. Обозначение переменной должно включать имя и тип.
Имя, или идентификатор ― любая последовательность латинских букв и цифр, начинающаяся с буквы. Количество символов не ограничивается, но компилятор воспринимает только первые 40 символов. Заглавные и строчные буквы не разделяются. Зарезервированные слова в языке не могут использоваться как имена переменных.
|
|
Тип переменной может описываться явно, неявно и с помощью операторов описания типа. При явном описании в конце имени добавляется специальный символ, определяющий тип переменной.
Имя целой переменной заканчивается символом “%”, например: f%=65.
В длинной целой переменной используется в конце амперсенд ("&"), например: а & - 12045&. В памяти ПК для целой переменной выделяется область в 2 байта.
Имя вещественной переменной заканчивается символом "!" , например: h.1 ! = -.45.В памяти ПК для обычной вещественной переменной выделяется область в 4 байта.
Имя вещественной переменной двойной точности заканчивается символом "# ", например: Ct1# = 5.892I7592. Для такой переменной выделяется область в 8 байт.
Имя символьной переменной (иногда эти переменные называют строковыми) заканчивается символом "$ ", например: ALPA$ -= "Угол альфа". В памяти ПК переменной символьного типа отводится такое количество байт, сколько символов содержится в значении переменной, но не более 256 байт.
|
|
При неявном описании типа переменной в конце не ставится никакого символа, при этом компилятор воспринимает переменную как вещественную с обычной точностью.
Операторы описания типа указывают тип переменной по первой букве ее имени. Существуют четыре разновидности операторов:
Defint | ― | для переменных целевого типа; |
Defsnt | ― | для переменных вещественного типа с обычной точностью; |
Defdbl | ― | для переменных вещественного типа с двойной точностью; |
Defstr | ― | для переменных символьного (строкового) типа. |
Рассмотрим фрагмент программы:
Defint а-е
Defstr s, t, x
Defdbl o – r
Здесь переменные, начинающиеся с букв от а до е, будут восприниматься как целые: переменные S, T, X ― как символьные; переменные от o до r ― как вещественные; переменные, начинающиеся с любых других букв ― как обычные вещественные, как неявное описание типа (иногда говорят: "по умолчанию").
Компилятор по типу переменной выделяет в оперативной памяти ячейку, длина которой определяется типом. Начальное значение переменной устанавливается равным нулю для числовых переменных и нулевой строке ― для символьных. Операторы описания типа переменных относятся к невыполняемым операторам и их рекомендуется записывать в начале программы.
Массивы
Массивы представляют собой упорядоченную совокупность однотипных (как правило, и одноразмерных) величин. Все массивы, используемые в программе, должны быть описаны специальным оператором dim. Различают одномерные и многомерные массивы. Под размерностью массива понимается характеристика, которая полностью описывает особенность расположения его элементов. Так, если говорим о последовательности произвольных чисел, то такой характеристикой может служить порядковый номер элемента, поэтому эту последовательность можно описать одномерным массивом. Если говорим о совокупности чисел, расположенных в матрице, нам потребуется две характеристики, первая определяет номер строки, а вторая ― номер столбца, на пересечении которых расположен элемент. То есть при описании массива потребуется двумерный массив. Это же относится и к информации, расположенной в таблице. В Турбо Бейсике допускаются массивы, имеющие от I до 255 измерений.
Имя и тип массива определяются аналогично простым переменным. Один оператор может описывать несколько массивов, имена которых отделяются запятыми. За именем массива в круглых скобках записывается его размерность, которая задается перечислением индексов каждой размерности через запятую. Каждый индекс может изменяться от 0 до некоторой величины, например:
Dim a(6,8), b#(I3), S&# (25)
Здесь a ― двумерный массив вещественных чисел, состоящий из 7x9=63 элементов, занимает 4x63=252 байт памяти (индекс первой размерности принимает значения: 0,1, 2 ... 6, индекс второй размерности принимает значения: 0,1,2,...,8);
b# ― одномерный массив вещественных чисел двойной точности, состоящий из 14 элементов, занимает 8x14 " 112 байт памяти (индекс первой размерности принимает значения: О 1,..., 13);
S$ ― одномерный символьный массив, состоящий из 26 элементов.
Если необходимо установить изменение индекса с единицы, то можно воспользоваться оператором Option . Base , который располагается в программе перед оператором dim.
Оператор OPTION BASE
Оператор OPTION BASE (точка отчета) устанавливает минимальное значение индексов в массиве. В процессе использования массивов в программе возникает неудобство, связанное с тем, что размерность массива не совпадает с максимальным значением индекса массива.
Формат оператора OPTION BASE:
OPTION BASE n
где n равно 0 или 1 и устанавливает нижнюю границу всех массивов в данной программе.
например:
Dim f(7)
option base 1
dim e(3,4), t$(10)
Здесь f ― одномерный массив из 8 элементов (индекс принимает значения: О, I, .., 7);
e, Т$ ― вещественный двумерный и символьный одномерный массивы соответственно, индексы каждой размерности начинаются с I.
Оператор описания массива (dim) и оператор установки начального значения индекса размерности (Option.base) являются невыполняемыми операторами языка, и их рекомендуется записывать в начале текста программы.
Турбо Бейсик: разрешает задавать размерность массивов не только целой положительной константой, но и переменной целого типа. В этом случае эта переменная должна быть определена до того, как записан оператор dim, например, в операторе присваивания (=) или в операторе ввода (Input):
n=6:m=1О input n,m
dim a(n,m) dim a(n,m)
. . . . . . . . . . . . . . . . . . .
В оперативной памяти элементы массива располагаются друг за другом так, что меняется сначала правый индекс, то есть для двумерного массива элементы следуют построчно. Общий объем выделенного пространства для массива не должен превышать 64 Кбайт.
Дата добавления: 2021-11-30; просмотров: 20; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!