Головна

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

  1.  Символьний тип даних

У всіх сучасних мовах програмування є стандартний (вбудований) символьний тип. У мові Паскаль він називається CHAR. Змінні і константи цього типу зберігають символи. Символьні змінні і константи в Turbo Pascal займають 1 байт пам'яті. Символьне значення можна вводити з клавіатури, виводити на екран, можна зберігати / завантажувати з файлу, символи можна об'єднувати в будь-структури даних.

приклад:

Var

C, c1, c2: char; {C, c1, c2 - змінні символьного типу}

S: array [1..10] of char; {S - масив символів}

Const

Space = ''; {Символьна константа - пробіл}

XChar = '@'; {Символьна константа - собачка}

F = '' ''; {Символьна константа - апостроф}

BigK = # 75; {Символьна константа - символ з кодом 75 -

велика латинська літера K}

Насправді значення символьного типу є КОД символу. Код - це ціле число. Кожному можливого значенням цілого числа ставиться у відповідність символ. В результаті виходить таблиця кодування. В принципі, можна створити нескінченне число варіантів таблиць кодувань. На практиці ж використовується дуже обмежена кількість таких таблиць. В даний час найбільш поширеними є кодування ASCII (MS DOS), ANSI (Windows), KOI-8 (Unix), Unicode (універсальна кодування, містить коди символів майже всіх сучасних алфавітів). Кодування ASCII, ANSI, KOI-8 є однобайтового: в них кожен символ кодується одним байтом. Кодування Unicode - двухбайтовая. Однобайтового кодування дозволяє зберігати код одного з 256 символів, двухбайтовая - одного з 65536 символів.

При роботі в MS DOS використовується кодування ASCII (American ... - Американський стандартний код передачі інформації). Існують варіанти кодування ASCII для різних алфавітів. Нас з вами цікавить тільки кирилиця. Ось таблиця ASCII кодування для кирилиці:

 код
                               
                               
  ! " # $ % & ' ( ) * + , - . /
: ; < = > ?
@ A B C D E F G H I J K L M N O
P Q R S T U V W X Y Z [ \ ] ^ _
' a b c d e f g h I j k l m n o
p q R s t u v w x y z { | } ~  
А Б В Г Д Е Ж З И Й К Л М Н О П
Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
а б В Г д е ж з и й к л м н о п
- - - ¦ + ¦ ¦ ¬ ¬ ¦ ¦ ¬ - - - ¬
L + T + - + ¦ ¦ L г ¦ T ¦ = + ¦
¦ T T L L - г + + - - - - ¦ ¦ -
р с Т У ф х ц ч ш щ ъ ы ь э ю я
Ё ё                            

В даній таблиці частина осередків залишилися порожніми. Осередок з номером 32 - пробіл. Осередки з номерами менше 32 - "керуючі символи". Такими ж є символи з кодом 127 і 255. Символи з кодами більше ніж 241 - нестандартні символи.

Символи з кодами від 176 до 223 - це символи псевдографіки. За допомогою цих символів в MS DOS створюються таблиці. В текстовому редакторі Turbo Pascal ці символи можна вводити за допомогою Alt-комбінацій - при утримуваної клавіші Alt на цифровій клавіатурі (цифрова клавіатура розташована на правій стороні клавіатури) набирається код потрібного символу. Символ з'явиться після того, як буде відпущена клавіша Alt. Таким способом можна вводити будь-які символи, але актуальний цей спосіб тільки для псевдографіки, так як цих символів немає на клавіатурі.

Хоча символ насправді і є код, який є ціле число, але, з метою захисту програміста від помилок, символ в Turbo Pascal цілим числом не вважається. На противагу такому підходу, в мовах Сі та С ++, наприклад, символ є одночасно і цілим числом. Якщо програміст розглядає значення як число - значить, це число, якщо як символ - значить, це символ. Такий підхід повністю відповідає принципам побудови комп'ютерів - згадайте принципи фон Неймана. Однак такий підхід має на увазі, що програміст "знає що робить", тобто програміст має досить високу кваліфікацію і відповідає за свої дії. Мова Паскаль спочатку створювався для цілей навчання, і в ньому не довіряють програмістам так, як в Сі / С ++. Тому символи в Turbo Pascal не є цілими числами.

Значення символу в Turbo Pascal можна записати двома способами. Перший спосіб - символ полягає в апострофи:

'' - Пробіл, '@' - собачка, '1' - цифра один, 'A' - латинська буква A,

'А' - російська буква А.

Особливий випадок - символ апостроф. Щоб поставити це символ, потрібно вказати два апострофа поспіль. Якщо ж нам потрібна символьний константа апостроф, то записується вона так - '' ''.

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

# 32 - пробіл, # 64 - собачка, # 49 - цифра один, # 65 - латинська буква A,

# 128 - російська буква А, # 39 - апостроф.

Якщо в програмі потрібно перейти від символу до його коду, тоді використовується функція Ord. Якщо потрібно перейти від коду символу до символу, то використовується функція Chr. Для отримання символу з кодом більше або менше на одиницю, використовуються функції Succ і Pred. Щоб збільшити або зменшити коду на певне значення використовуються процедури Inc і Dec. Нарешті, для перетворення маленьких латинських літер в великі латинські літери використовується функція UpCase.

Крім цього, до символів можна застосовувати операції порівняння. При цьому порівнюються коди символів. Наприклад, символ 'C' менше символу 'D', а символ 'я' більше символу 'Я'.




 Вбудований тип STRING |  Операції над рядками string |  Стандартні процедури та функції для роботи з рядками string |  процедура Val |  безлічі |  Операції над множинами |  Приклад використання множин |  Приклад Обробки масиву рядків |  Загальна завдання |

© 2016-2022  um.co.ua - учбові матеріали та реферати