Тип символів та інші перелічувані
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. Змінні цього типу називаються символьними.
Задачі
6.1. Указати різницю між 0 і '0', A і 'A', - і '-'.
6.2.* Обчислити значення виразу:
а) chr(ord('0')+9); б) chr(ord('A')+1); в) chr(ord('A')+25);
г) chr(ord('0')-16); д) 'Z'>'a'; е) ord('9')-ord('0').
6.3. Написати вираз, що задає перевірку, чи є значення символьної змінної ch:
а) цифрою від '0' до '9'; б) малою латинською буквою;
в) латинською буквою (великою чи малою).
6.4.* Написати вираз, що задає обчислення:
а) цілого числа від 0 до 9 за значенням символьної змінної ch від '0' до '9';
б) символу від '0' до '9' за цілим значенням змінної dg від 0 до 9.