logo
методичка_1_05_ВНУ

Символьний тип

Значенням змінної символьного типу є символ - елемент деякої скінченної та упорядкованої множини символів. Така множина є в кожній обчислювальній системі, оскільки вона потрібна для обміну інформацією з системою. На жаль, нема єдиної стандартної множини символів, різноманітні системи відрізняються як самими символами, так і порядковими номе­рами. Однак стандартом мови Паскаль передбачено такі влас­тивості множин:

  1. кожний символ має порядковий номер;

  2. десяткові цифри впорядковані за зростанням і йдуть одна за одною;

  3. букви впорядковані за алфавітом, їхні номери не обо­в'язково йдуть підряд.

Найчастіше застосовують множину символів ASCII (Ame­rican Standard Code for Information Interchange).

У програмах символьні сталі, що мають значення, запису­ють між одинарними лапками: 'а' '*' '”' (апостроф ставлять двічі).

Для відображення заданої множини символів на порядкові номери і навпаки є дві функції:

ord(C) - дає порядковий номер символу С в заданій упо­рядкованій множині символів;

chr(i) - дає символ з номером і в цій множині. Нехай С1 і С2 мають символьний тип

var

С1, С2: char;

Тоді якщо С1<>С2, то ord(C1)<>ord(C2).

Над символьними змінними можна виконувати операції порівняння, причому С1<С2 еквівалентне ord(C1)<ord(C2).

З останньої властивості випливає, що ord('1'), ord('2'), ..., ord('9') - зростаюча послідовність чисел, що йдуть підряд. Зви­чайно в множинах ord('0')<>0.

Обернена до ord функція chr має цілий аргумент, видає сим­вольне значення і визначена тільки в діапазоні значень функції ord. Наприклад, нехай

var

і: integer;

тоді chr(i) буде визначене, якщо є символ sym такий, що ord(sym)=i. У цьому випадку chr(i)=sym. Зокрема, якщо

var

і: integer;

і відомо, що 0<cf<9, то відповідним символом буде chr(cf+ord('0')). Символи з вхідного файлу читають за допомогою стан­дартної процедури read (пропусками ігнорують, на відміну від уведення цілих і дійсних чисел):

var

sym: char;

. . .

read(sym);

Оператором процедури write(sym) записують символ у вихід­ний файл. Зокрема, оператор write(sym: р), де р - ширина поля, виведе пропуски в кількості p-1, і після того - символ sym;

Оператор write(' ': р) виведе пропуски в кількості р.