ВУЗ:
Составители:
Рубрика:
32
4.2. Ограниченные типы
Если переменная принимает не все значения своего типа, а только значения,
содержащиеся в некотором ограниченном диапазоне, то ее можно объявить как переменную
ограниченного типа, например:
Type
mounth = (jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec);
summer = jun..aug; { ограниченный тип }
В данном примере тип mounth
, из которого выделен тип summer, является базовым
относительно типа summer
.
При определении ограниченного типа указывается начальное и конечное значения,
которые может принимать константа базового типа. Граничные константы разделяются
двумя точками. Описание ограниченного типа имеет вид:
Type
< имя типа > = < левая константа .. правая константа >;
При использовании ограниченных типов данных необходимо помнить следующие правила:
Обе граничные константы должны быть одинакового типа.
В качестве базового типа можно использовать любой простой тип, кроме действительного
типа. Например, возможны отрезки:
целого типа - index = 0..63;
символьного типа - letter = 'A'..'Z';
перечислимого типа - summer = jun..aug.
Левая граничная константа должна быть меньше правой.
Переменные ограниченного типа должны быть описаны в разделе переменных с помощью
имен этих типов. Например:
Var
simv : letter;
pole : index;
Переменные ограниченного типа, как и перечислимого, можно описывать, не обращаясь к
разделу описания типов. Например:
Var
simv : 'A'..'Z';
pole : 0 .. 63;
Интервалы перечислений подчинены тем же самым ограничениям, что и сам перечислимый
тип. Так элементы интервала jun..aug не могут вводиться или выводиться, к ним нельзя
применять арифметические действия, их нельзя присваивать переменным никаких других
типов, кроме summer, так как summer - базовый тип, по отношению к которому jun..aug
является интервалом.
Константы любого ограниченного типа имеют порядковые номера, совпадающие с их
порядковыми номерами в базовом типе. Например:
ORD(jun) - имеет порядковый номер 5;
ORD(aug) - имеет порядковый номер 7.
Если базовый тип переменных ограниченного типа INTEGER, то значения переменных
могут обрабатываться как целые числа. Такая обработка включает чтение, запись и целую
арифметику. Например:
Read(pole);
score := sqr(pole);
Write(score);
Если базовый тип CHAR, то значения из интервала могут обрабатываться как литеры,
поэтому их можно вводить, выводить и использовать в логических выражениях, например:
Read(simv);
If simv <= 'D' then Write (' очень хорошо! ')
еlse Write (' надо поработать ');
4.2. Ограниченные типы Если переменная принимает не все значения своего типа, а только значения, содержащиеся в некотором ограниченном диапазоне, то ее можно объявить как переменную ограниченного типа, например: Type mounth = (jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec); summer = jun..aug; { ограниченный тип } В данном примере тип mounth, из которого выделен тип summer, является базовым относительно типа summer. При определении ограниченного типа указывается начальное и конечное значения, которые может принимать константа базового типа. Граничные константы разделяются двумя точками. Описание ограниченного типа имеет вид: Type < имя типа > = < левая константа .. правая константа >; При использовании ограниченных типов данных необходимо помнить следующие правила: Обе граничные константы должны быть одинакового типа. В качестве базового типа можно использовать любой простой тип, кроме действительного типа. Например, возможны отрезки: целого типа - index = 0..63; символьного типа - letter = 'A'..'Z'; перечислимого типа - summer = jun..aug. Левая граничная константа должна быть меньше правой. Переменные ограниченного типа должны быть описаны в разделе переменных с помощью имен этих типов. Например: Var simv : letter; pole : index; Переменные ограниченного типа, как и перечислимого, можно описывать, не обращаясь к разделу описания типов. Например: Var simv : 'A'..'Z'; pole : 0 .. 63; Интервалы перечислений подчинены тем же самым ограничениям, что и сам перечислимый тип. Так элементы интервала jun..aug не могут вводиться или выводиться, к ним нельзя применять арифметические действия, их нельзя присваивать переменным никаких других типов, кроме summer, так как summer - базовый тип, по отношению к которому jun..aug является интервалом. Константы любого ограниченного типа имеют порядковые номера, совпадающие с их порядковыми номерами в базовом типе. Например: ORD(jun) - имеет порядковый номер 5; ORD(aug) - имеет порядковый номер 7. Если базовый тип переменных ограниченного типа INTEGER, то значения переменных могут обрабатываться как целые числа. Такая обработка включает чтение, запись и целую арифметику. Например: Read(pole); score := sqr(pole); Write(score); Если базовый тип CHAR, то значения из интервала могут обрабатываться как литеры, поэтому их можно вводить, выводить и использовать в логических выражениях, например: Read(simv); If simv <= 'D' then Write (' очень хорошо! ') еlse Write (' надо поработать '); 32
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »