
- •Типы данных Данные и их типы
- •Числовые типы данных
- •Символьные типы данных
- •Пользовательские типы данных (записи)
- •Константы
- •Неименованные константы
- •Именованные константы
- •Переменные
- •Имена переменных
- •Переменные числового типа
- •Переменные символьного типа
- •Переменные пользовательского типа данных
- •Сводная таблица описания типов данных
Переменные символьного типа
Переменные символьного типа (строки) — могут включать в себя любые символы из таблицы ASCII. Для присваивания значения символьной переменной, значение берется в кавычки. Попутно замечу, что только символьным переменным можно присваивать значения, содержащие русские буквы (символы с кодами 128-175 и 224-241 согласно Альтернативной кодировке).
Символьные переменные бывают переменной длины и фиксированной длины.
Строка переменной длины (STRING) — это последовательность длиной до 32567 символов из таблицы ASCII. В памяти она занимает столько байт, какова ее длина + 4 байта на описатель. Присвоить символьной переменной тип строки переменной длины можно следующим образом:
а) поставить в начало программы оператор объявления типа строки переменной длины DEFSTR (DEFINE STRING):
'объявить переменные, начинающие с буквы L
'как строки переменной длины
DEFSTR L
'Переменная Language – строка переменной длины, так как
'она начинается с буквы L
Language = "QuickBASIC – навсегда!"
б) Явно задать переменную с помощью суффикса "$":
'Переменная Languages – строка переменной длины
Languages = "QuickBASIC – навсегда!"
в) Использовать оператор описания переменной:
'описываем переменную как строку переменной длины
DIM Determinant AS STRING
Строка фиксированной длины (STRING * num) — символьная строка длинною num байт. В памяти такая строка занимает num байт.
Присвоить символьной переменной тип строки переменной длины можно, используя оператор описания переменной:
'описываем переменную как строку фиксированной длины
DIM Language AS STRING * 10
Language = "QuickBASIC – навсегда!"
PRINT ">";Language;"<"
Результат:
>QuickBASIC<
Переменные пользовательского типа данных
Если данные, которые вы используете в программе, необходимо сгруппировать по какому-либо признаку, то для этого очень удобно использовать пользовательский тип данных (записи). Он составляется из простых типов данных (числовых и символьных), описанных выше.
Например, нам необходимо ввести табельный номер работника, его фамилию и тарифную ставку.
'Определим пользовательский тип данных Record
'с помощью оператора TYPE TYPE Record
TabNomer AS INTEGER
Family AS STRING * 15
Stavka AS DOUBLE
END TYPE
'Присваиваем переменной Rabotnik пользовательский тип
'данных Record
DIM Rabotnik AS Record
'Последовательно вводим значение каждого элемента записи
INPUT "Введите табельный номер"; Rabotnik.TabNomer
INPUT "Введите фамилию работника"; Rabotnik.Family
INPUT "Введите тарифную ставку"; Rabotnik.Stavka
Пользовательский тип данных занимает в памяти столько байт, сколько занимают в сумме каждый из составляющих его элементов. Для нашего примера запись Rabotnik включает целое число (2 байта), строку фиксированной длины (15 байт) и число удвоенной точности (8 байт). Таким образом она имеет размер 25 байт.
Типы данных, определяемые пользователем, могут включать любые типы стандартных данных, кроме строк переменной длины и массивов.