- •Лабораторна робота №1
- •5.1.1. Запуск середовища. Головне меню.
- •5.1.3. Знайомство із мовою Паскаль.
- •5.1.4. Збереження програми.
- •5.1.5. Компіляція програми.
- •6. Варіанти індивідуальних завдань до лабораторної роботи
- •Лабораторна робота n 2
- •5. Короткі теоретичні відомості
- •5.1. Послідовність рішення задачі на еом.
- •5.2. Алгоритмізація задач
- •5.2.1. Представлення алгоритмів за допомогою блок-схем
- •5.2.2 Представлення алгоритмів за допомогою схем Нассі-Шнейдермана.
- •5.2.3. Базові структури алгоритмів
- •5.2.4. Додаткові керуючі структури
- •5.3. Оператори вибору, розгалуження і циклу в мові паскаль.
- •5.3.1. Оператор розгалуження на мові Pascal
- •If b then s1 [else s2]; або if b then s1,
- •5.3.2. Оператор різноманітного розгалуження (вибору) case.
- •5.3. 3. Оператори циклу.
- •5.3. 3.1. Оператор циклу з параметром.
- •5. 3. 3. 2. Оператор циклу з передумовою.
- •5.3.3.3. Оператор циклу з післяумовою.
- •5.4. Правила запису операторів мови паскаль для наочного відображення структури програми.
- •Представлення символьних даних в еом
- •6. Приклади розробки алгоритмів і програм теми «Представлення символьних даних в еом»
- •Блок-схема
- •7. Індивідуальні завдання до лабораторної роботи
Представлення символьних даних в еом
Серед даних, що зберігаються й обробляються в комп'ютері, значну частину складають символи (characters). Це програми на алгоритмічній мові, довідкові дані і тексти коментарів для реалізації діалогу користувач ‑ комп'ютер, облікові дані, пояснення і заголовки формованих документів і т.д. Саме вони забезпечують можливість спілкування з комп'ютером при впровадженні разнообразнейший систем обробки інформації.
Символи (букви латинського і російського алфавітів, арабські цифри від 0 до 9, множина спеціальних символів: + , - , / , * , @ , $ , ? , % і ін.), як і будь-яка інша інформація, зберігаються в комп'ютері в числовій формі. Для цього кожному символові ставиться у відповідність деяке позитивне число, що називається кодом символу, і це число записується в пам'ять комп'ютера в двійковому виді.
У комп'ютері з операційною системою MS DOS код кожного символу зберігається в одному байті, тому коди символів можуть приймати значення від 0 до 255. Таке кодування називають однобайтным. Воно дозволяє використовувати до 256 різноманітних символів.
Найбільш розповсюдженим є стандартний американський код для обміну інформацією (American Standard Code for Information Interchange — ASCII). Це основний 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 4A│ K 75 4B│ L 76 4C│ M 77 4D│ N 78 4E│ O 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 6A│ k 107 6B│ l 108 6C│ m 109 6D│ n 110 6E│ o 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 - Переводить символ (латинь) нижнього регістра у верхній регістр