Pascal ABC Язык Pascal ABC
Все порядковые типы, а также типы boolean, real и complex
называются простыми типами.
Порядковые типы
Тип integer (целый). Значения этого типа занимают 4 байта и находятся в диапазоне от -2147483648 до 2147483647. Константа MaxInt хранит значение 2147483647.
Тип byte (беззнаковый целый). Значения этого типа занимают 1 байт и находятся в диапазоне от 0 до 255.
Тип word (беззнаковый целый). Значения этого типа занимают 2 байта и находятся в диапазоне от 0 до 65535.
Тип char (символьный). Значения этого типа занимают 1 байт и представляют собой символы в кодировке Windows. Стандартная функция Chr(x) возвращает символ с кодом x. Константы этого типа могут быть записаны в виде #x, где x - целое число от 0 до 255.
Перечислимый тип определяется упорядоченным набором идентификаторов:
type
Season
= (Winter,Spring,Summer,Autumn);
DayOfWeek = (Mon,Tue,Wed,Thi,Thr,Sat,Sun);
Значения перечислимого типа занимают 4 байта.
Интервальный тип представляет собой подмножество значений целого, символьного или перечислимого типа и описывается в виде a..b, где a - нижняя, b - верхняя граница интервального типа:
var
a:
0..10;
c: 'a'..'z';
d: Mon..Thr;
Тип, на основе которого строится интервальный тип, называется базовым для этого интервального типа. Значения интервального типа занимают 4 байта.
Типы boolean, real и complex
Тип boolean (логический). Переменные и константы логического типа занимают 1 байт и принимают одно из двух значений, задаваемых предопределенными константами True (истина) и False (ложь).
Тип real (вещественный). Значения вещественного типа занимают 8 байт, содержат 15-16 значащих цифр и по модулю не могут превосходить величины 1.7∙10308. Самое маленькое положительное число вещественного типа равно 5.0∙10-324. Константы типа real можно записывать как в форме с плавающей точкой, так и в экспоненциальной форме: 1.7, 0.013, 2.5e3 (2500), 1.4e-1 (0.14).
Тип complex (комплексный). Значения комплексного типа занимают 16 байт. Константы этого типа записываются в виде (x,y), где x и y - выражения вещественного типа, представляющие собой вещественную и мнимую части комплексного числа. Если переменная c имеет тип complex, то обратиться к ее вещественной и мнимой частям можно как к полям записи: c.re и c.im. Например:
const ci=(0,1);
var c: complex;
...
c.re:=2*c.im;
c:=ci*c+(c.im,c.re);
К переменным типа complex применимы стандартные числовые функции: abs, sin, cos, exp, ln, sqrt, а также функция conj(c), возвращающая комплексно сопряженное к c, и функция carg(c), возвращающая главное значение аргумента комплексного числа c. При вычислении многозначных функций ln, sqrt, carg возвращается главное значение и предполагается, что разрез сделан по отрицательной вещественной оси, причем, верхний берег принадлежит разрезу. Так, carg(c) возвращает значение в диапазоне (-Pi,Pi].
Строковый тип
Строки в Pascal ABC имеют тип string и состоят из не более чем 255 символов. При описании
var s: string;
под переменную s отводится 256 байт, при этом в нулевом байте хранится длина строки.
Для экономии памяти предусмотрено описание вида
var s1: string[40];
В этом случае под строку отводится 41 байт (нулевой байт - под длину строки). В случае присваивания переменной s1 строки из более чем 40 символов лишние символы отсекаются, и длина строки s1 полагается равной 40.
При выполнении операции конкатенации вида s1+s1 результат считается строкой типа string, т.е.занимает 256 байт. Однако, если при конкатенации результат будет занимать более 255 символов, то программа завершится с ошибкой.
К символам в строке можно обращаться, используя индекс: s[i] обозначает i-тый символ в строке. Обращение к нулевому символу s[0] считается ошибочным. Чтобы изменить длину строки, следует воспользоваться процедурой SetLength. Если индекс i выходит за пределы памяти, отводимой под строку, то выдается сообщение об ошибке. Однако, если индекс i выходит лишь за пределы длины строки, то сообщение об ошибке не выдается.
© ООО «Знанио»
С вами с 2009 года.