Типы данных в языке программирования паскаль
При решении задач выполняется обработка информации различного характера. Это могут быть целые и дробные величины, строки и др. Соответственно константы и переменные должны быть описаны как целые, дробные, строковые и т.д.
Для описания множества допустимых значений величины и совокупности операций, в которых может участвовать данная величина, используется указание ее типа данных. Тип данных (data type) – множество величин, объединенных определенной совокупностью допустимых операций.
Каждый тип данных имеет свой диапазон значений и специальное зарезервированное слово для описания. Например, значения 1 и 2 относятся к целочисленному типу, их можно складывать, умножать и выполнять над ними другие арифметические операции.
Все типы данных можно разделить на две группы: скалярные и структурированные (составные). Скалярные типы в свою очередь, делятся на стандартные и пользовательские.
Стандартные типы предлагаются пользователям разработчиками системы Турбо Паскаль. К ним относятся целочисленные, вещественные, литерные, булевские типы данных и указатели.
Пользовательские типы разрабатываются пользователями системы программирования Турбо Паскаль.
Перечень типовых данных в Турбо Паскале.
Перечень типов данных в языке Турбо Паскаль можно представить в виде следующей схемы:
1. Простые типы (скалярные типы).
Порядковые типы.
Целые типы:
byte,
shortint,
integer,
word,
longint.
Логический тип boolean.
Символьный тип char.
Перечисляемый тип.
Интервальный тип (диапазон).
Вещественные типы:
real,
single,
double,
extended,
comp.
Ссылочный тип.
2. Структурированные типы.
Строковый (string).
Регулярный (array).
Комбинированный (record).
Множественный (set).
Файловый (file).
3. Процедурные типы.
Скалярные типы данных.
К скалярным (scalar – простые) типам данных относятся типы данных таких величин, значения которых не содержат составных частей.
Целочисленные типы данных
Целочисленные типы данных представляют собой значения, которые могут использоваться в арифметических выражениях и занимать в памяти от 1 до 4 байт.
Целочисленные типы данных
Типы | Диапазон | Требуемая память (байт) |
byte shortint integer word longint | 0..255 – 128..127 – 32768.. 32767 0..65535 – 2147483648.. 2147483647 |
Вещественные типы данных
Вещественные типы данных представляют собой вещественные значения, которые используются в арифметических выражениях и занимают в памяти от 4 до 10 байт. Паскаль допускает представление вещественных значений, и с плавающей, и с фиксированной точкой.
Вещественные типы данных
Типы | Диапазон | Мантисса | Требуемая память (байт) |
real single double extended comp | 2.9*10Е – 39..1.7*10Е38 1.5*10Е – 45..3.4*10Е38 5.00Е – 324..1.7*10Е308 1.9*10Е – 4951..1.1*10Е4932 – 2 Е+63+1..2Е+63 – 1 | 11 – 12 7 – 8 15 – 16 19 – 20 10 – 20 |
Вещественные значения могут изображаться в форме с фиксированной точкой, например 7.32, 456.721 или 0.015, а также в форме с плавающей точкой, т.е. парой чисел вида <мантисса>Е<порядок>.
Числа из предыдущего примера в форме с плавающей точкой будут записаны так: 7.32Е+00, 4.56721Е+02, 1.5Е – 02.
Литерный (символьный) тип
Литерный (символьный) тип char определяется множеством значений кодовой таблицы ПЭВМ. Каждому символу приписывается целое число в диапазоне от 0 до 255. Для кодировки используется код ASCII.
Для размещения в памяти переменной литерного типа требуется один байт.
Пример:
var
Ch: char;
Letter, Symbol: char;
В программе значения переменных и констант типа char должны быть заключены в апострофы. Например, 'A' обозначает букву А, ' ' – пробел, ';' – точку с запятой.
Над данными символьного типа определены следующие операции отношения: =,<>,<,>,<=,=>, вырабатывающие результат логического типа.
Для данных символьного типа определены следующие стандартные функции:
chr(x) – преобразует выражение х типа byte в символ и возвращает значение символа;
ord(ch) – преобразует символ ch в его код типа byte и возвращает значение кода;
pred(ch) – возвращает предыдущий символ;
succ(ch) – возвращает следующий символ.
Примеры:
ord (':') = 58
ord ('A') = 65
chr (128) = Б
pred ('Б') = А
succ ('Г') = Д
Булевский тип
Булевским типом называют тип данных, представляемый двумя значениями: True (истина) и False (ложь). Он широко применяется в логических выражениях и выражениях отношения. При описании величин этого типа указывают слово boolean. Для размещения в памяти переменной булевского типа требуется 1 байт
Пример:
var
Flag, Rezult: boolean;
Пользовательские типы
Кроме стандартных типов данных Паскаль поддерживает скалярные типы, определенные самим пользователем. К ним относятся перечисляемый и интервальный типы.
Данные этих типов занимают в памяти один байт, поэтому скалярные пользовательские типы не могут содержать более 256 элементов. Их применение обеспечивает семантический контроль вводимых данных, значительно улучшает наглядность программы, делает более легким поиск ошибок и экономит память.
Перечисляемый тип
Перечисляемый тип (enumerated type) – тип данных, заданных списком принадлежащих ему значений.
Объявление перечисляемого типа описывает множество идентификаторов, которые являются возможными значениями перечисляемого типа. Идентификаторы в описании типа представляют собой константы. Отдельные значения указываются через запятую, а весь список заключается в круглые скобки. Первая константа имеет порядковый номер нуль, вторая – 1 и т.д.
Формат:
type
<имя типа> = (<значение1, значение2,…, значение n>);
var
<идентификатор,…> : <имя типа>;
Пример:
type
Gaz = (Ge, C, O, N);
Metall = (Na, K, Li, Cu, Zn);
var
G1, G2, G3 : Gaz;
Met1, Met2 : Metall;
Season: (Winter, Spring, Summer, Autumn);