Математические операции
Для обработки ЭВМ данные представляются в виде величин и их совокупностей. С понятием величины связаны такая важная характеристика, как ее тип.
Тип определяет:
- возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;
- внутреннюю форму представления данных в ЭВМ;
- операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.
В языке Паскаль тип величины задают заранее. Все переменные, используемые в программе, должны быть объявлены в разделе описания с указанием их типа. Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня.
Иерархия типов в языке Паскаль такая:
- Простые
- Порядковые
- Целые
- Логические
- Символьные
- Перечисляемые
- Интервальные
- Вещественные
- Структуированные
- Массивы
- Строки
- Множества
- Записи
- Файлы
- Указатели
Простые типы данных
В таблице приведены простые типы данных Турбо Паскаль, объем памяти, необходимый для хранения одной переменной указанного типа, множество допустимых значений и применимые операции.
Идентификатор |
Длина (байт) |
Диапазон значений |
Операции |
Целые типы |
|||
integer
|
2 |
-32768..32767 |
+, -, /, *, Div, Mod, |
byte
|
1 |
0..255 |
+, -, /, *, Div, Mod, |
word
|
2 |
0..65535 |
+, -, /, *, Div, Mod, |
shortint
|
1 |
-128..127 |
+, -, /, *, Div, Mod, |
longint
|
4 |
-2147483648..2147483647 |
+, -, /, *, Div, Mod, |
Вещественные типы |
|||
real
|
6 |
2,9x10-39 - 1,7x1038 |
+, -, /, *, |
single
|
4 |
1,5x10-45 - 3,4x1038 |
+, -, /, *, |
double
|
8 |
5x10-324 - 1,7x10308 |
+, -, /, *, |
extended
|
10 |
3,4x10-4932 - 1,1x104932 |
+, -, /, *, |
Логический тип |
|||
boolean
|
1 |
true, false |
Not, And, Or, Xor, |
Символьный тип |
|||
char
|
1 |
все символы кода ASCII |
+, |
Перечисляемый и интервальный тип относятся к типам, определяемым пользователем и будут рассмотрены нами позже.
Дополнительные сведения о типах данных..
Порядковые типы, выделяемые из группы простых типов, характеризуются следующими свойствами:
- все возможные значения порядкового типа представляют собой ограниченное упорядоченное множество;
- к любому порядковому типу может быть применена стандартная функция Ord, которая в качестве результата возвращает порядковый номер конкретного значения в данном типе;
- к любому порядковому типу могут быть применены стандартные функции Pred и Succ, которые возвращают предыдущее и последующее значения соответственно;
- к любому порядковому типу могут быть применены стандартные функции Low и High, которые возвращают наименьшее и наибольшее значения величин данного типа.
В языке Паскаль введены понятия эквивалентности и совместимости типов. Два типа Т1 и Т2 являются эквивалентными (идентичными), если выполняется одно из двух условий:
- Т1 и Т2 представляют собой одно и то же имя типа;
- тип Т2 описан с использованием типа Т1 с помощью равенства или последовательности равенств. Например:
· type
· T1 = Integer;
· T2 = T1;
· T3 = T2;
Менее строгие ограничения накладываются на совместимость типов. Так, типы являются совместимыми, если:
- они эквивалентны;
- являются оба либо целыми, либо действительными;
- один тип - интервальный, другой - его базовый;
- оба интервальные с общим базовым;
- один тип - строковый, другой - символьный.
В Турбо Паскаль ограничения на совместимость типов можно обойти с помощью приведения типов. Приведение типов позволяет рассматривать одну и ту же величину в памяти ЭВМ как принадлежащую разным типам. Для этого используется конструкция
Напрмер, Integer('Z') представляет собой значение кода символа 'Z' в двухбайтном представлении целого числа, а Byte(534) даст значение 22, поскольку целое число 534 имеет тип Word и занимает два байта, а тип Byte занимает один байт, и в процессе приведения старший байт будет отброшен.