Функції над дискретними типами
функція ord
Букви від 'A' до 'Z' слідують в порядку зростання, іншими словами, кожна буква має порядкове значення, відповідне її місця в алфавіті. Це порядкове значення може бути отримано за допомогою функції ord.
ord (вираз) - повертає порядковий номер літери або значення іншого дискретного типу.
ord ( 'I'), ord ( 'J'). Результат: 73, 74 (код ASCII)
Порядковий номер літери залежить від використовуваного коду. Але, незалежно від використовуваного коду, порядкові значення букв слідують по зростанню: Певного зв'язку між великими та відповідними малими літерами немає, але можна без побоювань покладатися на те, що ord ( 'a') - ord ( 'A') має те ж значення, що і ord ( 'z') - ord ( 'Z '). Незалежно від використовуваного коду, порядкові значення цифр також розташовані по зростанню: Паскаль підтримує типи char, integer і т.д. На додаток до них програміст має право визначити і інші типи шляхом перерахування послідовності констант. Наприклад, тип, заданий перерахуванням: Константи типу, заданого перерахуванням, мають порядкові значення, відлічувані від нуля. Наприклад, ord (mon) повертає 0, ord (sun) повертає 6; mon Тип boolean - перераховується тип, який автоматично задається як Зворотною для ord є функція chr. Порядкові значення рідко бувають потрібні самі по собі. Часто досить знати наступний або попередній елемент в установленому порядку. Для цієї мети служать функції succ і pred. Ці дві функції можна використовувати для визначення наступних і попередніх елементів для типу, заданого перерахуванням. Візьмемо тип days. визначений раніше: pred (sun) повертає sat, succ (mon) повертає tue. Функцію succ зручно використовувати для управління циклом:
ord ( 'A')
ord ( 'a')
ord ( '0')
value: = ord (d) - ord ( '0').
type days = (mon, tue, wed, thu, fri, sat, sun);
type boolean = (false, true);
отже, ord (false) дає 0, ord (true) дає 1; false функція chr
chr (вираз) - повертає літеру, порядкове значення якої задається параметром; неправильне значення тягне помилку.
chr (73), chr (74). Результат: I, J (кодування ASCII)
chr (1000). Результат: помилкаФункції succ і pred
succ (вираз) - повертає елемент, наступний за тим, що зазначений в якості параметра.
succ ( 'A'), succ ( '0'), succ (0). Результат: B, 1 (символ), 1 (число)
succ (false). Результат: true
pred (вираз) - повертає елемент, що передує тому, що зазначений в якості параметра.
pred ( 'Z'), pred ( '9'), pred (9). Результат: Y, 8 (символ), 8 (число)
pred (true). Результат: false