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

Var имя переменной: имя типа;

Константы любые, разделяются запятой

Пример:

TYPE GOD=(ZIMA, VESNA, LETO, OSEN);

VAR A:GOD;

Допускается указывать константы непосредственно в разделе переменных без TYPE:

VAR A: (ZIMA, VESNA, LETO, OSEN);

Порядковый номер начинается с 0 (ZIMA).

Упорядоченность констант позволяет применять к ним операции отношения (>, <, =, <=, >=, <> (не равно)).

Задача 1.

Имеется перечень зверей. Определить в этом списке порядковый номер тигра и порядковый номер зверя после косули.

PROGRAM Q1;

TYPE ZVER=(LISA, VOLK, ZAYATS, TIGR, LEV, MEDVED,

KOSULYA, OLEN, BARS);

VAR P1,P2: ZVER;

N1, N2: INTEGER;

BEGIN

P1:=TIGR;

P2:=SUCC(KOSULYA);

N1:=ORD(P1)+1; {т.к. счет перечисляемых данных начинается от 0, то необходимо добавить 1}

N2:=ORD(P2)+1;

WRITELN(‘Порядковый номер тигра=‘, n1:2);

WRITELN(‘Порядковый номер зверя после косули=‘, n2:2);

END.

ЗАДАНИЕ:

Задайте перечисляемый тип данных Numbers (zero,one,two,three,four,five). Напишите программу, которая при вводе числа от 0 до 5 выводит на экран название числа по-русски. Перебор организовать с помощью оператора CASE, используя перечисляемый тип данных.

Ограниченный тип данных

Если в работе Вы будете использовать не весь диапазон данных, а только его часть (например, из всего числового типа только первые 10 чисел), то можно ограничить тип данных нужным диапазоном.

Когда какая-то переменная принимает не все значения своего типа, а только значения, содержащиеся в некотором ограниченном диапазоне, то ее можно рассматривать как переменную ограниченного типа.

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

TYPE имя_типа=константа .. константа;

Правила ограничения типа:

  1. Обе граничные константы должны быть одинакового типа.

  2. В качестве базового типа можно использовать любой простой тип, кроме REAL.

I=0..63; L=‘A’..’Z’; osen=sent .. nov;

  1. Начальное значение при определении ограниченного типа не должно быть больше конечного значения.

  2. Переменные должны быть описаны в VAR с помощью имен этих типов.

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

Использование ограниченных типов в программе делает их наглядными, позволяет экономить память машины и проводить во время выполнения программы контроль присваиваний.

Пример: Программа проверяет совпадение дня, месяца и двух последних цифр года.

program z1;

var m: 1..12;

d:1..31;

y: 1901 .. 2000;

g, n: integer;

t: boolean;

begin

write (‘введите d,m,y ’);

read (d, m, y);

g:=y mod 100;

if (d=m) and (m=g) and (d=g) then t:=true else t:=false;

writeln(t);

end.

ЗАДАНИЕ

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

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

Протокол работы программы для исходной даты 30 сентября 1994 года пятница:

Ввод данных => 3 30 9 1994 5

Вывод на экран: