Тема. Порядковый тип данных.
К порядковым типам относятся: целые, логические, символьные, перечисляемые и тип-диапазон.
К любому из них применимы функции:
- Ord(a) - возвращает порядковый номер значения выражения;
- Pred(a) - предыдущее значение порядкового типа;
- Succ(a) - следующее значение порядкового типа.
1. Символьный тип данных
Значением символьного типа является множество всех символов ПК. Каждому слову приписывается целое число в диапазоне 0...255. Это число служит кодом внутреннего представления символа, его возвращает функция Ord. Для кодировки используется код ASCII (American Standard Code for Information Interchange - американский стандартный код для обмена информацией). Это 7-битный код. В то же время в 8-битном коде, отведенном для хранения символов в Паскаль, можно закодировать в 2 раза больше символов в диапазон от 0...255. Первая половина символов ПК соответствует стандарту ASCII. Вторая же ограничена жесткими рамками стандарта и может применяться на ПК разных типов. Символы с кодами 0...31 относятся к служебным кодам. Если эти коды используются в символьном тексте, то они считаются пробелами. К типа Char применимы следующие операции отношения, а также встроенные функции:
- Chr(b)- функция типа Char преобразует выражение b типа Byte в символ и возвращает его своим значением №
- Upcase(ch) - возвращает прописную букву.
Пример 10. Введенную строчную букву преобразовать в прописную.
program pr10_char;
var a: char;
begin
writeln('введите строчную английскую букву');
writeln(upcase(a)); // Upcase(а) - возвращает прописную букву
readln;
end.
2. Перечисляемый тип данных
Задается перечислением тех значений, которые он может получать.
Объявление: Var Manth: (Jen, Feb, March, April, May, June, July, August, Sep, Oct, Nov< Dec).
Переменная Manth может принимать только одно из перечисленных в скобках значений. Эти значения не являются строками, их нельзя вывести на печать, однако их удобно применять при программировании.
3. Логический тип данных
Переменная логического типа может принимать только два значения: false или true.
4. Тип - диапазон
Тип-диапазон есть подмножество своего базового типа, в качестве которого может выступать любой порядковый тип. Задается границами своих значений внутри базового типа.
Пример 11. С клавиатуры вводятся две даты. Выдать сообщение "Правильно", если первая введенная дата предшествует второй, "Неправильно", если наоборот.
program pr11_tupe_diapazon;
uses crt;
var
dn1,dn2:1..31;
mes1, mes2:1..12;
god1,god2:1900..2100;
begin
write('введите первую дату');
readln(dn1,mes1,god1);
write('введите вторую дату');
readln(dn2,mes2,god2);
if (((dn1<dn2) or (mes1<mes2)) and (god1=god2))or (god1<god2) then
writeln('правильно') else writeln('неправильно');
repeat until keypressed;
end.