Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal ЛабРаб 1,2 укр КОНЕЦ вар14.doc
Скачиваний:
11
Добавлен:
21.02.2016
Размер:
1.47 Mб
Скачать
    1. Представлення символьних даних в еом

Серед даних, що зберігаються й обробляються в комп'ютері, значну частину складають символи (characters). Це програми на алгоритмічній мові, довідкові дані і тексти коментарів для реалізації діалогу користувач ‑ комп'ютер, облікові дані, пояснення і заголовки формованих документів і т.д. Саме вони забезпечують можливість спілкування з комп'ютером при впровадженні разнообразнейший систем обробки інформації.

Символи (букви латинського і російського алфавітів, арабські цифри від 0 до 9, множина спеціальних символів: + , - , / , * , @ , $ , ? , % і ін.), як і будь-яка інша інформація, зберігаються в комп'ютері в числовій формі. Для цього кожному символові ставиться у відповідність деяке позитивне число, що називається кодом символу, і це число записується в пам'ять комп'ютера в двійковому виді.

Frame31

У комп'ютері з операційною системою MS DOS код кожного символу зберігається в одному байті, тому коди символів можуть приймати значення від 0 до 255. Таке кодування називають однобайтным. Воно дозволяє використовувати до 256 різноманітних символів.

Найбільш розповсюдженим є стандартний американський код для обміну інформацією (American Standard Code for Information InterchangeASCII). Це основний 7-бітовий двійковий код, у якому представляються алфавітні, цифрові і спеціальні символи.

Символи можуть бути керуючі (коди 0..31, 127) і видимі на екрані дисплея або на папері при друку (коди 32..126) — з них утворяться рядки символів.

Керуючі символи ASCII ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐

│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│

├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤

│ 00 00│ ☺ 01 01│ ☻ 02 02│ ♥ 03 03│ ♦ 04 04│ ♣ 05 05│ ♠ 06 06│ ● 07 07│

│ ◘ 08 08│ ○ 09 09│ ◙ 10 0A│ ♂ 11 0B│ ♀ 12 0C│ ♪ 13 0D│ ♫ 14 0E│ ☼ 15 0F│

│ ► 16 10│ ◄ 17 11│ ↕ 18 12│ ‼ 19 13│ ח 20 14│ § 21 15│ ▬ 22 16│ ↨ 23 17│

│ ↑ 24 18│ ↓ 25 19│ → 26 1A│ ← 27 1B│ ∟ 28 1C│ ↔ 29 1D│ ▲ 30 1E│ ▼ 31 1F│

└─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘

де, ● ‑ 07 (дзвоник), ○ ‑ 09 (горизонтальна табуляція), ◙ ‑ 0A (переведення рядка),

♂ ‑ 0B (вертикальна табуляція), ♪ ‑ 0D (вороття каретки) , → ‑ 1A (конец текстового файла)

Фрагмент таблиці кодів ASCII (866 – MS DOS)

┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐

│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│

├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤

│ 32 20│ ! 33 21│ " 34 22│ # 35 23│ $ 36 24│ % 37 25│ & 38 26│ ' 39 27│

│ ( 40 28│ ) 41 29│ * 42 2A│ + 43 2B│ , 44 2C│ - 45 2D│ . 46 2E│ / 47 2F│

│ 0 48 30│ 1 49 31│ 2 50 32│ 3 51 33│ 4 52 34│ 5 53 35│ 6 54 36│ 7 55 37│

│ 8 56 38│ 9 57 39│ : 58 3A│ ; 59 3B│ < 60 3C│ = 61 3D│ > 62 3E│ ? 63 3F│

│ @ 64 40│ A 65 41│ B 66 42│ C 67 43│ D 68 44│ E 69 45│ F 70 46│ G 71 47│

H 72 48│ I 73 49│ J 74 4AK 75 4BL 76 4CM 77 4DN 78 4EO 79 4F

P 80 50│ Q 81 51│ R 82 52│ S 83 53│ T 84 54│ U 85 55│ V 86 56│ W 87 57│

X 88 58│ Y 89 59│ Z 90 5A│ [ 91 5B│ \ 92 5C│ ] 93 5D│ ^ 94 5E│ _ 95 5F│

│ ` 96 60│ a 97 61│ b 98 62│ c 99 63│ d 100 64│ e 101 65│ f 102 66│ g 103 67│

h 104 68│ i 105 69│ j 106 6Ak 107 6Bl 108 6Cm 109 6Dn 110 6Eo 111 6F

p 112 70│ q 113 71│ r 114 72│ s 115 73│ t 116 74│ u 117 75│ v 118 76│ w 119 77│

x 120 78│ y 121 79│ z 122 7A│ { 123 7B│ ¦ 124 7C│ } 125 7D│ ~ 126 7E│ ⌂ 127 7F│

└─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘

Неважко помітити, що для представлення символів досить одного байта.

Але в байті містяться 8 біт. Залишається незадіяної добра половина кодової таблиці. Тому коди 128..255 виділені для так званих національних символів і алфавітів, а також для символів псевдографіки.

Наприклад, для кирилиці в операційній системі MS DOS досить довгий час існували три різні кодові таблиці, поки не був прийнятий єдиний стандарт — зупинилися на так називаному альтернативному кодуванні (866).

┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐

│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│ C к10 16│

├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤

А 128 80│ Б 129 81│ В 130 82│ Г 131 83│ Д 132 84│ Е 133 85│ Ж 134 86│ З 135 87│

И 136 88│ Й 137 89│ К 138 8A│ Л 139 8B│ М 140 8C│ Н 141 8D│ О 142 8E│ П 143 8F│

Р 144 90│ С 145 91│ Т 146 92│ У 147 93│ Ф 148 94│ Х 149 95│ Ц 150 96│ Ч 151 97│

Ш 152 98│ Щ 153 99│ Ъ 154 9A│ Ы 155 9B│ Ь 156 9C│ Э 157 9D│ Ю 158 9E│ Я 159 9F

а 160 A0│ б 161 A1│ в 162 A2│ г 163 A3│ д 164 A4│ е 165 A5│ ж 166 A6│ з 167 A7│

и 168 A8│ й 169 A9│ к 170 AA│ л 171 AB│ м 172 AC│ н 173 AD│ о 174 AE│ п 175 AF│

└─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘

Тут розташовуються символи псевдографіки: коди від 176 (B0) до 223(DF).

┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐

р 224 E0│ с 225 E1│ т 226 E2│ у 227 E3│ ф 228 E4│ х 229 E5│ ц 230 E6│ ч 231 E7│

ш 232 E8│ щ 233 E9│ ъ 234 EA│ ы 235 EB│ ь 236 EC│ э 237 ED│ ю 238 EE│ я 239 EF

│ Ё 240 F0│ ё 241 F1│ Є 242 F2│ є 243 F3│ Ї 244 F4│ ї 245 F5│ ± 246 F6│ ≈ 247 F7│

│ ▬ 248 F8│ • 249 F9│ · 250 FA│ √ 251 FB│ ♦ 252 FC│ ○ 253 FD│ ● 254 FE│   255 FF│

└─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘

Аналіз таблиці ASCII-кодів, дозволяє констатувати наступне:

▪ Код пробілу менше коду будь-якої букви і цифри і взагалі менше коду будь-якого символу. Коди цифр упорядковані по зростанню і йдуть без пропусків.

▪ Коди великих і маленьких латинських букв упорядковані за алфавітом і йдуть без пропусків. В альтернативному кодуванні коди російських букв (великі і маленьких) упорядковані за алфавітом, але якщо коди великих букв йдуть без пропусків, то між кодами маленьких букв 'п' і 'р' вклиниваються коди інших символів.

Примітка: При локалізації Windows використана кодова таблиця ANSI 1251. У ній, у порівнянні з таблиці ASCII, коди символів від ′А′ до ′п′ більше на 6410 і від ′р′ до ′я′ більше на 1610.

Мова програмування Паскаль має наступний набір убудованих функцій роботи із символами:

Chr(X: Byte) : Char - Повертає символ ASCII перемінної X.

Ord(C: Char) : Byte - Повертає ASCII-код символу C.

Pred(C:Char): Char - Повертає попередній C символ

Succ(C:Char): Char - Повертає наступний за C символ

Upcase(C:Char):Char - Переводить символ (латинь) нижнього регістра у верхній регістр

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]