Целочисленные типы позволяют переменной принимать значения целых чисел согласно следующей таблице:
Тип
Диапазон значений
Сколько байтов занимает одно значение
Byte
0..255
ShortInt
-128..127
Word
0..65535
Integer
-32768..32767
LongInt
-2147483648..2147483647
Зачем нужны Byte и ShortInt, если есть Integer? Они занимают меньше места в памяти. Если, например, ваша переменная по смыслу задачи обозначает минуты (то есть целое число в диапазоне от 0 до 60), то полный смысл придать ей тип Byte.
Вещественные типы позволяют переменной принимать значения вещественных чисел согласно следующей таблице:
Тип
Примерный диапазон значений
Точность
(значащих цифр)
Сколько байтов занимает одно значение
Real
2.9´10-39 - 1.7´1038
11-12
Single
1.5´10-45 - 3.4´1038
7-8
Double
5´10-324 - 1.7´10308
15-16
Extended
3.4´10-4932 - 1.1´104932
19-20
Comp [9]
примерно от -1019 до 1019
Типы Single, Double, Extended и Comp могут потребовать для своей работы некоторой настройки Паскаля.
Следует помнить, что дробные числа (например, 1/3) компьютер хранит примерно в таком виде: 0,3333333333333. Вы знаете, что такое представление дробных чисел приблизительно. Чтобы точно представить 1/3, компьютеру понадобилось бы бесконечное количество троек, но память компьютера ограничена. Ячейка под переменную типа Real позволяет хранить всего 11-12 таких троек. Эту приблизительность нужно иметь в виду, когда вы многократно выполняете арифметические действия над переменными вещественных типов. При определенном сочетании чисел и действий вы можете немедленно получить совершенно неправильный результат. Попробуйте, например, выполнить такую программу:
VAR a,b,y : Real;
BEGIN
a:=55555555555.1; b:=55555555555.0;
y:=a-b;
WriteLn (y :30:3)
END.
Вы обнаружите, что вместо результата 0.100 компьютер выдает результат 0.125.