Иерархия типов
В Паскале любая переменная характеризуется своим типом. Под типом здесь понимается множество значений, которые может принимать переменная, и множеством операций, допустимых над данной переменной.
Паскаль является типизированным, или статическим языком, то есть тип переменной определяется при ее описании и не может быть изменен в процессе выполнения программы. Транслятором контролируется допустимость операций с величинами данного типа, чем повышается надежность программы.
Паскаль имеет развитую систему типов. На основе стандартных типов можно конструировать данные произвольной структуры и сложности, адекватно отражающие информационную природу задачи, используя раздел описания типов.
Турбо-Паскаль наследует систему типов стандартного языка, но несколько расширен, что представлено на схеме рис. 3.1.
Базовыми являются стандартные типы, на основе которых по определенным правилам образуются все остальные. Новые типы, появившиеся в Турбо-Паскале, отмечены звездочкой, в языке Delphi введены и еще дополнительные типы. Каждому типу соответствует свое имя, указываемое при описании переменных или введении новых типов.
Рис. 3.1. Иерархия стандартных типов языка Паскаль.
§3.1. Целые типы
В Паскале есть только один целый тип – Integer. В Турбо-Паскале это группа из пяти типов, обозначающих множества целых чисел в разных диапазонах. Их характеристики приведены в табл. 3.1.
Таблица 3.1. Целые типы данных
Обозначение целого типа
|
Диапазон значений
|
Размер памяти в байтах
|
Shortint
|
-128...127
|
1
|
Integer
|
-32768...32767
|
2
|
Longint
|
-2 147 483 648...2 147 483 647
|
4
|
Byte
|
0...255
|
1
|
Word
|
0...65535
|
2
|
Целая константа – это последовательность цифр со знаком или без знака. Константы записываются в десятичной системе счисления, но в Турбо-Паскале может использоваться и шестнадцатеричная. В этом случае перед числом ставится знак $ и разрешается дополнительно к цифрам использовать буквы от А до F ($f5). Обычно шестнадцатеричная система счисления используется с целыми типа Byte и Word. Пример описания типа:
Const X:Word=$ff25;
Var i:byte;
l,m:integer;
Над целыми значениями допустимы следующие арифметические операции:
+ сложение,
- вычитание,
* умножение,
/ деление.
Если первые три операции дают целый точный результат, то последняя – вещественный, который может быть приближенным, например 1/3=0.3333333. Для точного выполнения деления используются операции целочисленной арифметики:
div – деление нацело;
mod – остаток от целочисленного деления. Например:
1 div 3 = 0
1 mod 3 = 1
Кроме этого, над целыми числами в Турбо-Паскале допускается применять логические операции, обычно над данными типа Byte и Word. Так же над всеми простыми типами данных, включая целые, допустимо использование операций отношения (сравнения). Эти два класса операций будут рассмотрены с логическим типом данных.
§3.2. Вещественные типы
В Паскале есть только один вещественный тип – Real. В Турбо-Паскале это группа из пяти типов, обозначающих множества вещественных чисел в разных диапазонах и с различной точностью, ориентированных на представление информации в конкретных процессорах – фирмы Intel. Их характеристики приведены в табл. 3.2.
Таблица 3.2. Вещественные типы данных
Обозначение типа
|
Диапазон значений
|
Число десятичных цифр мантиссы
|
Размер памяти в байтах
|
Real
|
2.9*10-39 ... 1.7*10+38
|
11-12
|
6
|
Single
|
1.5*10-45 ... 3.4*10+38
|
7-8
|
4
|
Double
|
5.0*10-324 ... 1.7*10+308
|
15-16
|
8
|
Extended
|
3.4*10-4932 ... 1.1*10+4932
|
19-20
|
10
|
Comp
|
-9.2*10+18 ...9.2*10+18
|
19-20
|
8
|
Использование последних четырех типов возможно только с использованием математического сопроцессора (должна быть включена соответствующая опция транслятора). Тип Comp хотя и считается вещественным, но на самом деле содержит целые числа из весьма большого диапазона.
Вещественные константы имеют две формы представления: с фиксированной и плавающей точкой. В первом случае число представляется как целая и дробная часть:
[<знак>]<целая часть>.<дробная часть>
Наличие точки является признаком вещественного типа числа.
В представлении с плавающей точкой, или экспоненциальном, число условно разбивается на две части: мантиссу и порядок (иначе называемый характеристикой), поэтому в общем виде число выглядит как:
[<знак мантиссы>]<целая часть мантиссы> [.<дробная часть мантиссы>] E [<знак порядка>]<порядок>
Здесь буква Е является разделителем, отделяющим мантиссу от порядка или характеристики. Числа представляются только в десятичной системе счисления, например
1234.5610 = 1.23456E3 ( 1,23456103) = 1234.56E0 ,
то есть положение десятичной точки зависит от значения порядка и может изменяться.
Таким образом, признаком вещественного числа является наличие точки или разделителя. Так, число «единица» может быть представлено в трех разных форматах:
1Е0 – вещественное число с плавающей точкой;
1.0 – вещественное число с плавающей точкой;
1 – целое число.
Над вещественными значениями допустимы следующие операции:
+ сложение;
- вычитание;
* умножение;
/ деление.
Все они дают вещественный результат, если хотя бы один операнд вещественный.
Применение операций отношения дает логический результат.
Достарыңызбен бөлісу: |