Переменные и данные, обрабатываемые Турбо Бейсиком



Турбо Бейсик обрабатывает как числовые так и символьные константы, переменные и массивы.

Константы

Константы ― это объекты программы, которые будучи заданы в программе, в процессе ее выполнения не изменяют своих значений.

Символьные константы записываются в виде цепочки символов, заключенной в кавычки. В качестве символов могут использоваться любые из 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!