Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
sd_lab_1.doc
Скачиваний:
23
Добавлен:
17.11.2018
Размер:
3.44 Mб
Скачать

2. Простые типы

Язык Pascal является статическим языком. Это означает, что тип переменной определяется при ее описании и не может быть изменен. Тип переменной определяет множество допустимых для нее значений и, следовательно, виды операций, которые могут выполняться над этой переменной.

Базовыми в системе типов являются простые типы: скалярные (стандартные скалярные и перечислимые) и ограниченные. Стандартные скалярные делятся на четыре группы:

- целые типы (Byte, Integer, Shorting, Word, Longint),

- вещественные типы (Real – основной),

- символьный тип (Char),

- булевский тип (Boolean).

Целые типы

Byteпозволяет представить целые значения в диапазоне 0..255 (занимает 1 байт);

Shorting – в диапазоне -128..127 (1 байт);

Integer – в диапазоне -32768..32767 (2 байта);

Word – в диапазоне 0..65535 (2 байта);

Longint – для значений | x |<=2*(10^9) (4 байта).

Над целыми значениями определены операции ‘+’, ‘-‘, ‘*’ (дают целый результат), ‘/’ (вещественный результат), а также дополнительные операции деления:

Div – деление нацело (дробная часть отбрасывается),

Mod – остаток от целочисленного деления.

Основной вещественный тип

Real – служит для представления значений с плавающей запятой в интервале 2,9Е-39<=|x|<=1,7E+38 (занимает 6 байт). Мантисса содержит до 11 значащих цифр. Для выполнения операций с переменными типа Real математический сопроцессор не требуется.

Над значениями вещественного типа допустимы операции ‘+’, ‘-‘, ‘*’, ‘/’. Все они дают вещественный результат, если хотя бы один операнд вещественный.

Символьный тип

Charслужит для представления символов ASCII – кода (американский стандартный код для обмена информацией). Это множество состоит из 256 различных символов, упорядоченных определенным образом (символы цифр, заглавных и строчных букв, специальные управляющие символы). Каждый символ имеет порядковый номер, который можно определить с помощью специальной функции. Значение переменной типа Char занимает 1 байт.

Для символьных переменных возможны только операции сравнения.

Булевский тип

Имеет два значения, обозначаемые ключевыми словами true (истина, “да”) и false (ложь, “нет”). Над булевскими переменными допустимы операции сравнения, причем считается, что false<true. Кроме того, определены четыре стандартные логические операции:

andконъюнкция (логическое умножение, “и”),

or - дизъюнкция (логическое сложение, “или”),

xor – сложение по модулю 2 (исключающее “или”),

not – логическое отрицание (“не”).

Значения булевского типа занимают 1 байт.

Перечислимые типы

В ТР имеется возможность определения нового скалярного типа путем

явного перечисления всех возможных его значений, причем каждое такое

значение будет определяться только именем.

Например,

TYPE

Cvet = (красный, желтый, зеленый);

Days = (понедельник, вторник, среда, четверг, пятница, суббота, воскресенье);

Считается, что значения перечислимого типа указаны в списке в порядке возрастания.

Ограниченные типы

Можно образовать новый тип, указав допустимый диапазон значений некоторого стандартного скалярного типа. Например,

TYPE

ind1 = 1..10;

ind2 = -100..100;

simv = ‘a’..’z’;

Значения переменных, описанных такими типами, не должны выходить за границы указанного диапазона.

Все скалярные типы, кроме вещественных, а также перечислимые типы называются дискретными.

Стандартные функции преобразования типов (типы аргумента и результата выполнения функции различны):

- odd (x)

х – целого типа; возвращает true, если аргумент нечетный, и false, если аргумент четный;

- trunc (x)

х – вещественного типа; результатом является целая часть аргумента (дробная часть отбрасывается); результат – целого типа;

- round (x)

х – вещественного типа; округляет значение аргумента до ближайшего целого (например, round(1.5) 2; round(1.45) 1; round(-1.5) -2;

round(-1.45) -1);

- ord (х)

х – скалярного типа; возвращает порядковый номер (нумерация от 0) значения аргумента в данном типе (например, ord('a') 97, ord (‘d’)100);

- chr (x)

х – целый тип (byte); возвращает ASCII-символ, соответствующий заданному номеру (например, chr(100)’d’).

Описание переменных

Описание (определение, объявление) должно содержать имя переменной и ее тип, разделяемые двоеточием. Заканчивается описание символом ' ; '. Если нужно описать несколько переменных одного и того же типа, то перед двоеточием следует перечислить их имена.

Пример описаний:

VAR

x, y, z : real;

i, j : integer;

fl : Boolean;

ind1, ind2 : 1..100;

cvet : (красный, желтый, зеленый);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]