КОНСТАНТЫ
ПЕРЕМЕННЫЕ
Вещественные типы.
Тип-диапазон.
В любом порядковом типе можно выделить подмножество значений, определяемое минимальным и максимальным значением, в которое входят все значения исходного типа, находящиеся в этих границах, включая и сами границы. Такое подмножество определяет тип-диапазон.
Type
<имя типа> = <минимальное значение>..<максимальное значение> ;
например:
Type
Number = 1..100;
Var num: Number;
Таблица 2
Тип | Диапазон десятичного порядка | Число значащих цифр | Размер в байтах |
Real | -39…+38 | 11 – 12 | |
Single | -45…+38 | 7 – 8 | |
Double | -324…+308 | 15 – 16 | |
Extended | -4951…+4932 | 19 – 20 | |
Comp | -2*1063+1…2*1063-1 | 19 – 20 |
Типы Single, Double, Extended, Comp можно использовать в программе при наличии арифметического сопроцессора или при включенном эмуляторе сопроцессора.
Определяются:
в разделе объявления переменных программы;
в разделе объявления переменных подпрограммы;
в разделе объявления переменных модуля;
в заголовке подпрограммы.
Например, определение переменных в разделе объявления переменных программы может выглядеть следующим образом:
Var
<список переменных 1> : <тип 1> ;
<список переменных 2> : <тип 2> ;
……………………………………
<список переменных N> : <тип N> ;
Или с использованием раздела Type:
Type
Days = (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
Var
X, Y, Z : real; {предопределенный тип}
I, J, K : integer; {предопределенный тип}
D : Days; {ранее определенный тип}
Digit : 0..9; {объявление нового типа}
В разделе объявления переменных можно использовать как стандартные, так и ранее объявленные типы, а также объявлять новый тип. В заголовке подпрограммы при объявлении переменных можно использовать только стандартные или ранее определенные типы.
Переменные объявленные не в подпрограмме называются глобальными, так как они доступны в любой части программы, в том числе и в подпрограмме. Они размещаются в сегменте данных, объем которого 65520 байт.
Переменные объявленные в подпрограмме называются локальными, так как они доступны только подпрограмме, в которой они объявлены.
Локальные переменные размещаются в стековом сегменте. По умолчанию его размер составляет 16384 байта. Однако, размер стека можно изменить в пределах от 1024 до 65520 байт.
Глобальные переменные находятся в памяти постоянно, локальные переменные размещаются в стеке лишь во время выполнения подпрограммы.
Используются двумя способами:
непосредственное использование значения константы;
использование имени константы.
Задание константы именами в разделе объявления констант. Имеется две разновидности констант:
обычные, у которых типы определяются их значением;
типизированные константы, для которых тип указывается в явном виде.
Обычные константы могут быть целого, вещественного, символьного, логического типа, а так же типа string.
Типизированные константы - это константы любого типа, кроме файлового типа.
Для обычных констант задаются имена и их значения, разделенные знаком равенства.
Const
<имя константы 1> = <значение 1> ;
<имя константы 2> = <значение 2> ;
..................................................
<имя константы N> = <значение N> ;
Целые константы.
Состоят из знаков и цифр. Диапазон целых десятичных чисел от -2147483648 до 2147483647, шестнадцатеричных от $00000000 до $FFFFFFFF.
В Turbo Pascal заданы два предопределенных целых числа:
MaxInt = 32767;
MaxLongInt = 2147453647.
Вещественные константы.
Содержат десятичную точку или показатель степени.
Const
X = 0.5 ;
Y = 7.5e+15 ;
Строковые и символьные константы.
Строка символов – это последовательность любого количества символов из набора АSСII, расположенных на одной строке и заключенных в апострофы (не более 126). Строка, состоящая из одного символа, называется символьной константой. При необходимости поместить в строку символ «апостроф», его следует написать дважды, например:
Язык ‘«Турбо-Паскаль»’ .
Константные выражения.
Это такие выражения, которые могут быть вычислены на стадии компиляции.
Const
Simv = ‘A’ ;
P = pi / 4 ;
Типизированные выражения.
Задается имя, тип и начальное значение.
Const
Max : integer = 999 ;
R : real = -0.5 ;