Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры инфа.docx
Скачиваний:
6
Добавлен:
15.04.2019
Размер:
171.87 Кб
Скачать

21. Перечисляемый тип данных

Перечисленный тип.

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

type

Colors = (red, white, blue);

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

Type ТипМесяц = (янв, фев, мар …);

Var Месяц : ТипМесяц;

Begin

.......

if месяц = авг then writeln(‘Хорошо бы поехать к морю!’);

.......

end.

был бы, согласитесь, очень наглядным. Увы! В турбо Паскале нельзя использовать кириллицу в идентификаторах…

Соответствие между значениями перечисленного типа и порядковыми номерами этих значений устанавливается порядком перечисления: первое значение в списке получает порядковый номер 0, второе – 1 и т.д. Максимальная мощность перечисленного типа составляет 65 536 значений, поэтому фактически перечисленный тип задаёт некоторое подмножество целого типа WORD и может рассматриваться как компактное объявление сразу группы целочисленных констант со значениями 0, 1 и т.д.

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

Как уже упоминалось ранее, между значением перечисленного типа и множеством целых чисел существует однозначное соответствие, задаваемое функцией ORD(X). В Турбо Паскале допускается и обратное преобразование: любое выражение типа WORD можно преобразовать в значение перечисленного типа, если только значение целочисленного выражения не превышает мощности перечисленного типа. Такое преобразование достигается применением автоматически объявляемой функции с именем перечисленного типа.

Переменные любого перечисленного типа можно объявлять без предварительного описания типа, например:

Var

Col: (black, white, green);

22. Стандартные типы данных

Типы данных языка Pascal можно подразделить на

  • простые (порядковые и вещественные);

  • структурированные (массивы, записи, строки, множества, файлы).

Кроме того, можно отметить указатели, процедурные типы и объекты.

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

var

a, n : Integer; {переменные a, n  − целого типа}

x, y : Real; {переменные x, y  − вещественного типа}

logic : Boolean; {переменная logic  − логического типа}

symb : Char; {переменная symb  − символьного типа}

Порядковые типы данных

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

Среди нестандартных различают перечисляемый тип и тип-диапазон.

23. Символьный тип данных

СИМВОЛЬНЫЙ тип (Char) определяет упорядоченную совокупность символов, допустимых в данной ЭВМ. Значение символьной переменной или константы - это один символ из допустимого набора.

Символьная константа может записываться в тексте программы тремя способами:

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

'A' 'a' 'Ю' 'ю';

-с помощью конструкции вида #K, где K - код соответствущего символа, при этом значение K должно находиться в пределах 0..255;

-с помощью конструкции вида ^C, где C - код соответствущего управляющего символа, при этом значение C должно быть на 64 больше кода управляющего символа.

К величинам символьного типа применимы все операции отношения.

Для величин символьного типа определены две функции преобразования

Ord(C) Chr(K).

Первая функция определяет порядковый номер символа С в наборе символов, вторая определяет по порядковому номеру К символ, стоящий на К-ом месте в наборе символов. Порядковый номер имеет целый тип.

К аргументам символьного типа применяются функции, которые определяют предыдущий и последующий символы:

Pred(C) Succ(C). Pred('F') = 'E' ; Succ('Y') = 'Z' .

При отсутствии предыдущего или последующего символов значение соответствующих функций не определено.

Для литер из интервала 'a'..'z' применима функция UpCase(C), которая переводит эти литеры в верхний регистр 'A'..'Z'.

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