Паскаль: тип символів та інші перелічувані, Детальна інформація

Паскаль: тип символів та інші перелічувані
Тип документу: Реферат
Сторінок: 4
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 11.6
Скачувань: 1180
ПАСКАЛЬ: ТИП СИМВОЛІВ ТА ІНШІ ПЕРЕЛІЧУВАНІ

1. Тип символів

Нарешті ми розглянемо останній з базових типів – тип символів. Множина символів, представних у сучасному комп'ютері, як правило, складається з 256 елементів.

У мові Паскаль символ позначається символьною сталою, що є символом в апострофах: 'A', '1', '.' тощо. Сам символ "апостроф" задається символьною сталою ''''.

Символьна стала – це не символ, а його позначення в мові Паскаль.

Не всі символи позначаються сталими мови Паскаль, але будь-який символ можна задати за допомогою виклику функції chr. Символам у комп'ютері ставляться у відповідність номери від 0 до 255. Якщо i – цілий вираз із значенням від 0 до 255, то вираз вигляду chr(i) задає символ із номером, що є значенням i. Відповідність символів та номерів від 0 до 127 зафіксовано в Американському стандартному коді для обміну інформацією (ASCII). Наприклад, chr(48) позначає те ж саме, що й стала '0', chr(48+1) – то ж саме, що '1', chr(65) є синонімом сталої 'A', chr(97) – сталої 'a'.

Цілий номер символу породжується викликом функції "порядковий номер", тобто виразом вигляду ord(c), де значенням виразу c є символ. Наприклад, ord('0')=48, ord('A')=65, ord('a')=97. За своїм означенням, функції chr і ord взаємно обернені, тобто chr(ord(c))=c за будь-якого символу c, і ord(chr(n))=n за будь-якого n=0, 1, … , 255.

Крім функції ord, для символів означені порівняння, причому

a
З таблиці у додатку 2 очевидно, наприклад, що ' ' < '_' < '0' < '1' < … < '9' < 'A' < 'B' < ... < 'Z' < 'a' < 'b' < … < 'z'. До символів застосовна операція катенації, або дописування, що позначається знайомим знаком "+". Її результатом є не символ, а послідовність із двох символів, або рядок. Наприклад, '1'+'2' є послідовність символів, яку можна задати літералом '12'. Ще дві операції над символами будуть означені в такому параграфі.

Множина символів і операції, означені для них, утворюють тип символів, іменований char. Змінні цього типу називаються символьними.

Задачі

1. Указати різницю між 0 і '0', A і 'A', - і '-'.

2.* Обчислити значення виразу:

а) chr(ord('0')+9); б) chr(ord('A')+1); в) chr(ord('A')+25);

г) chr(ord('0')-16); д) 'Z'>'a'; е) ord('9')-ord('0').

3. Написати вираз, що задає перевірку, чи є значення символьної змінної ch:

а) цифрою від '0' до '9'; б) малою латинською буквою;

в) латинською буквою (великою чи малою).

4.* Написати вираз, що задає обчислення:

а) цілого числа від 0 до 9 за значенням символьної змінної ch від '0' до '9';

б) символу від '0' до '9' за цілим значенням змінної dg від 0 до 9.

5.* У шістнадцятковій системі числення літерами 'A', 'B', … , 'F' позначають числа, що в десятковій системі зображаються відповідно як 10, 11, … , 15. Написати оператор, що задає обчислення:

а) цілого числа від 0 до 15 за значенням символьної змінної ch, яким може бути цифра від '0' до '9' або буква від 'A' до 'F';

б) символу від '0' до '9' або від 'A' до 'F' за цілим значенням змінної dg від 0 до 15.

6. Написати програму друкування таблиці символів та їх номерів, починаючи з символу ' ' (пропуск), номер якого 32.

2. Перелічувані типи

Елементи кожного з типів Boolean, char і integer упорядковані відповідно до операції порівняння <. У цьому порядку їх можна взаємно однозначно зіставити натуральним числам 0, 1, … (перелічити їх). За будь-яким натуральним числом можна указати наступне за ним і попереднє перед ним (крім числа 0). Так само за будь-яким елементом, крім найбільшого, цих типів можна назвати наступний за ним і за будь-яким елементом, крім найменшого, – попередній перед ним. Наприклад, наступним за false є true, наступним за chr(0) – chr(1), за chr(254) – chr(255).

Елементи типу real теж упорядковані, але поставити їм у відповідність натуральні 0, 1, … неможливо, як і за дійсним числом указати наступне за ним. Отже, всім базовим типам, окрім типу real, притаманно те, що для них означено операції "наступний", "попередній" та "порядковий номер".

У мові Паскаль перелічуваним називається тип, для якого означено операції SUCC (наступний), PRED (попередній) і ORD (порядковий номер елемента), а також порівняння =, <>, <, >, <=, >=.

The online video editor trusted by teams to make professional video in minutes