СИМВОЛИ

Дані символьного типу призначені для зберігання одного символу.

Символьний тип позначається ідентифікатором Char.

Кожен елемент якого може займати в оперативної пам'яті комп'ютера один байт.

Значенням змінної символьного типу може бути будь-який символ, який відображується:

ü буква російського або латинського алфавітів;

ü цифра;

ü розділовий знак;

ü спеціальний символ.

Кожному символу відповідає свій код з кодової таблиці комп'ютера.

Якщо ви робите в операційній системі сімейства Windows, то використовуєте таблицю кодів ANSI (абревіатура від American National Standards Institute – Національний інститут стандартизації США – організація американських промислових та ділових кіл, що присвятила себе розробленню стандартів зв’язку та торгівлі).

Якщо операційна система MS DOS – ANCII (абревіатура Amerісan Standart Code for Information Interchange – американський стандартний код для обміну інформацією).

Усього в кожній таблиці 256 символів, які кодуються значеннями від 0 до 255.

Обидві таблиці збігаються, у першій половині від 0 до 127 (цифри та букви англійського алфавіту).

Вони ідентичні для всіх IBM-сумісних комп’ютерів.

Символи з кодами 128..255 можуть варіюватися залежно від типу комп’ютера та програмного забезпечення.

Від 0 до 31 – службові символи, призначені не для відображення інформації, а для керування нею. Наприклад, символ з кодом 9 вставляє в текст знак табуляції, символ з кодом, а символ з кодом 13 означає кінець абзацу, тобто еквівалентний натисканню клавіші Enter.

32..47 – розділові знаки (32 – пробіл)

48..57 – цифри від 0 до 9

58..64 – знаки

65..90 – A..Z

91..96 – знаки

97..122 – a..z

123..127 – знаки

Змінна символьного типу повинна бути оголошена в розділі оголошення змінних. Інструкція оголошення символьних змінних у загальному виді:

var ім'я : Char;

де ім'я – ім'я змінної символьного типу;

Char – зарезервоване слово, що позначає символьний тип.

 

Наприклад:

var ch:Char; cr:Char;

 

Як і будь-яка змінна, змінна типу Char може одержувати значення в результаті виконання інструкції присвоєння.

Якщо змінна типу Char одержує значення в результаті виконання оператора присвоєння, то праворуч від знака := повинен стояти вираз типу Char, наприклад змінна типу Char або символьна константа – символ записаний у лапках.

 

Наприклад:

ch:='*';

cr:=ch;

 

Також символьна змінна може получити значення після використання процедури readln. Але треба пам’ятати, що при введенні символів в рядок, на відміну від числових значень, символ пробіл не пропускається.

Наприклад:

var a, b, c:char;

Необхідно, щоб змінні одержали наступні значення a=’s’, b=’f’, c=’k’

Тоді розглянемо дію процедури введення

readln(a, b, c);

Процедура Значення при введенні Результат
readln(a, b, c); s f k a=’s’, b=’ ’, c=’s’
readln(a, b, c); sfk a=’s’, b=’f’, c=’k’

Отже іноді, зручніше використати для введення кожного символу одну процедуру вводу.

Процедура Значення при введенні Результат
readln(a); readln(b); readln(c); s f k a=’s’, b=’f’, c=’k’

 

До значень символьних типів можна застосовувати операції порівняння.

Символи вважаються рівними, якщо рівні їх коди.

Один символ вважають більшим за другий, якщо його код більший. Наприклад:

'A'<'B', '9'<'A', 'A'<'a'.

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

ord(і) – повертає порядковий номер (код) символу (і – змінна типу Char);

chr(і) – повертає символ з порядковим номером і (і – вираз типу byte).

Наприклад, якщо є наступне оголошення:

var k:byte;

c:char;

то істинні оператори

k:=ord(‘A’); //k=65

c:=chr(65); //c=’A’

Замість функції chr можливо використовувати префікс #, котрий також поверне символ, код якого вказаний після нього.

c:= #65; //c=’A’

Для перетворення маленьких літер на великі використовують функцію Upcase(символ), де символ маленька латинська літера. Функція Upcase не обробляє кирилицю.

Оскільки символьні типи належать до порядкових типів, для них визначені такі функції, як Pred, Succ

c:= Pred(‘B’); // c ® ‘A’,

c:=Succ(‘B’); //c ®’C’