Общая структура типов данных. Простые типы в языке Паскаль

Вопросы для проверки знаний.

1. Какие символы могут входить в идентификаторы языка Паскаль и на какой позиции в записи имени допускается их использование?

2. Выделить среди предложенных записей правильно записанные идентификаторы языка Паскаль и неверные имена (у них указать, в чем заключается ошибка):

а) name№1; б) number_2; в) 1_const; г) const_1_2; д) var_1*; е) _ var_; ж) VAR1_; з) NA_0_.

3. Что означает комментарий в алгоритмических языках и как он оформляется в языке Паскаль?

4. В каких системах счисления в языке Паскаль можно записывать целые числа ?

5. Что такое строки в языке Паскаль?

При составлении алгоритмов решения расчетных задач необходимые данные представляют собой одиночные величины и их совокупности. Важнейшей характеристикой данных является их тип.

Принадлежность данных к определенному типу автоматически в соответствии с соглашениями самого алгоритмического языка задает для них следующие свойства:

- математическую форму представления соответствующих величин и их диапазон изменения;

- внутреннюю форму представления данных в ЭВМ;

- операции и функции, которые могут выполняться над величинами данного типа.

Каждая одиночная величина в алгоритмических языках занимает целое число байтов (совокупностей из 8 подряд стоящих двоичных разрядов - бит).

В общем случае в алгоритмических языках присвоение типов переменным (которое также называют декларацией переменных) может производиться:

- явно - при помощи полного описания, которое обычно помещают в начало программы, но в некоторых языках (например, в Visual Basic) описание может стоять в произвольном месте программы;

- неявно(косвенно) простым указанием имени переменной, у которой тип задается начальной ее буквой (Fortran), окончанием специального вида-суффиксом (Visual Basic) либо другими способами.

В языке Паскаль типы всех используемых величин задают обязательно явно в начале программы (в разделе описаний). Все переменные, используемые в программе, должны быть указаны (объявлены) в данном разделе с указанием их типа. Объявления типов величин в программе дают компилятору необходимую информацию о свойствах данных величин, в соответствии с которой он отводит им необходимое место в памяти, задает форму представления в ней и порядок выполнения операций.

Обязательное описание типа в Паскале приводит к некоторой избыточности в тексте программ. Однако, в то же время, оно позволяет избежать целый ряд коллизий, возникающих при различного рода случаях неявного описания.

Основными разновидностями типов в Паскале являются:

- простые (скалярные) типы, задающие одиночные величины;

- структурированные типы, задающие совокупности из величин одного или нескольких типов;

- указатели - переменные, которые содержат адреса других переменных или более сложных объектов.

Простой (скалярный)тип данных. Этой разновидности принадлежат следующие типы одиночных величин: 1)целые, 2)логические, 3)символьные, 4)перечисляемые, 5)интервальные, 6)вещественные.

По способу образования у одиночных величин выделяют стандартныетипы-1) целые, 2) логические, 3) символьные, 6) вещественные. Такие типы пользователь может выбирать только из заданных в языке вариантов. Помимо них есть типы,определяемые пользователем - 4) перечисляемые и 5) интервальные.

Также среди простых выделяют порядковые(1-5)и вещественные(6)типы. Порядковые величины характеризуются тем, что множества их значений ограничены и могут быть упорядочены, что позволяет использовать различные функции для установления и изменения порядка, организации различных выборок.

Стандартные типы языка Паскале даны в Таблице 3.1.

Таблица 3.1. Стандартные типы простых типов данных в Паскале

Идентификатор Длина (байт) Диапазон значений Операции
Целые типы
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 +, >=, <=, =, <>, <, >

Переменные типа shortint, integer и longint являются целыми числами со знаком, переменные byte и word - целые числа без знака.

Структурированные типы имеют четыре разновидности: массивы, строки, множества, записи и файлы.

В виде схемы общая система типов в языке Pascal показана на рис.3.1.

Рис.3.1. Общая система типов в языке Pascal