Понятие типа данных в Турбо Паскаль
Для обработки ЭВМ данные представляются в виде величин и их совокупностей. С понятием величины связаны такая важная характеристика, как ее тип.
Тип определяет:
- возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;
- внутреннюю форму представления данных в ЭВМ;
- операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.
В языке Паскаль тип величины задают заранее. Все переменные, используемые в программе, должны быть объявлены в разделе описания с указанием их типа. Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня.
Иерархия типов в языке Паскаль такая:
- Простые
- Порядковые
- Целые
- Логические
- Символьные
- Перечисляемые
- Интервальные
- Вещественные
- Структуированные
- Массивы
- Строки
- Множества
- Записи
- Файлы
- Указатели
Оглавление - содержание
Простые типы данных
В таблице приведены простые типы данных Турбо Паскаль, объем памяти, необходимый для хранения одной переменной указанного типа, множество допустимых значений и применимые операции.
Идентификатор | Длина (байт) | Диапазон значений | Операции |
Целые типы | |||
integer | -32768..32767 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > | |
byte | 0..255 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > | |
word | 0..65535 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > | |
shortint | -128..127 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > | |
longint | -2147483648..2147483647 | +, -, /, *, Div, Mod, >=, <=, =, <>, <, > | |
Вещественные типы | |||
real | 2,9x10-39 - 1,7x1038 | +, -, /, *, >=, <=, =, <>, <, > | |
single | 1,5x10-45 - 3,4x1038 | +, -, /, *, >=, <=, =, <>, <, > | |
double | 5x10-324 - 1,7x10308 | +, -, /, *, >=, <=, =, <>, <, > | |
extended | 3,4x10-4932 - 1,1x104932 | +, -, /, *, >=, <=, =, <>, <, > | |
Логический тип | |||
boolean | true, false | Not, And, Or, Xor, >=, <=, =, <>, <, > | |
Символьный тип | |||
char | все символы кода 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 занимает один байт, и в процессе приведения старший байт будет отброшен.
Переменные и константыОглавление - содержание
Переменной называют элемент программы, который предназначен для хранения, коррекции и передачи данных внутри программы. Все переменные программы в Турбо Паскаль должны быть объявлены в разделе описания переменных (см. далее).
Наряду с переменными в пограммах используются и константы. Константа - это идентификатор, обозначающий некоторую неизменную величину определенного типа. Константы, как и переменные, должны объявляться в соответствующем разделе программы.
В Турбо Паскаль применяется несколько стандартных видов констант:
- Целочисленные константы. Могут быть определены посредством чисел, записанных в десятичном или шестнадцатиричном формате данных. Это число не должно содержать десятичной точки.
- Вещественные константы. Могут быть определены числами, записанными в десятичном формате данных с использованием десятичной точки.
- Символьные константы. Могут быть определены посредством некоторого символа (заключенного в апострофы).
- Строковые константы. Могут быть определены последовательностью произвольных символов (заключенных в апострофы).
- Типизированные константы. Представляют собой инициализиованные переменные, которые могут использоваться в программах наравне с обычными переменными. Каждой типизированной константе ставится в соответствие имя, тип и начальное значение. Например:
- year: integer = 2001;
- symb: char = '?';
- money: real = 57.23;
ВыраженияОглавление - содержание
Выражение задает правило вычисления некоторого значения. Выражение состоит из констант, переменных, указателей функций, знаков операций и скобок.
Оглавление - содержание
Математические операции
В таблице приведены основные математические операции Турбо Паскаль.
Символ операции | Название операции | Пример |
* | умножение | 2*3 (результат: 6) |
/ | деление | 30/2 (результат: 1.5E+01) |
+ | сложение | 2+3 (результат: 5) |
- | вычитание | 5-3 (результат: 2) |
div | целочисленное деление | 5 div 2 (результат: 2) |
mod | остаток от деления | 5 mod 2 (результат: 1) |
Оглавление - содержание
Логические операции
Над логическими аргументами в Турбо Паскаль определены следующие операции:
- NOT - логическое отрицание ("НЕ")
- AND - логическое умножение ("И")
- OR - логическое сложение ("ИЛИ")
- XOR - логическое "Исключающее ИЛИ"
Результаты выполнения этих операций над переменными А и В логического типа приведены в таблице истинности.
A | B | not A | A and B | A or B | A xor B |
true | true | false | true | true | false |
true | false | false | true | true | |
false | true | true | false | true | true |
false | false | false | false | false |
Оглавление - содержание
Операции отношения
К операциям отношения в Турбо Паскаль относятся такие операции, как:
- > - больше
- < - меньше
- = - равно
- <> - не равно
- >= - больше или равно
- <= - меньше или равно
В операциях отношения могут принимать участие не только числа, но и символы, строки, множества и указатели.
Приоритет операций
Порядок вычисления выражения определяется старшинством (приоритетом) содержащихся в нем операций. В языке Паскаль принят следующий приоритет операций:
- унарная операция not, унарный минус -, взятие адреса @
- операции типа умножения: * / div mod and
- операции типа сложения: + - or xor
- операции отношения: = <> < > <= >= in
Порядок выполнения операций переопределить можно с помощью скобок. Например 2*5+10 равно 20, но 2*(5+10) равно 30.
Оглавление - содержание