- •Створення, виконання та відлагодження програм в інтегрованих середовищах програмування
- •Завдання
- •Дослідження цілих та дійсних типів та операцій над значеннями даних типів
- •Опис програмних об’єктів
- •Ініціалізація змінних при створенні
- •Оператор привласнення
- •Операції над значеннями цілих та дійсних типів
- •Загальна спрощена структура програми
- •Методичні вказівки Правила складання ідентифікаторів
- •Правила опису об’єктів у програмі
- •Завдання 1
- •Завдання 2
- •Завдання 3
- •Дослідження бітових операцій над цілими значеннями
- •Бітові операції
- •Завдання
- •Дослідження логічних типів, логічних операцій та операцій відношення
- •Завдання
- •Лабораторна робота 1.5 дослідження вказівних типів та операцій над значеннями даних типів
- •Завдання
- •Лабораторна робота 1.6 дослідження символьних типів
- •Завдання
- •Лабораторна робота 1.7 дослідження виразів
- •Теоретичні відомості
- •Методичні вказівки Правила написання операторів привласнення та виразів
- •Завдання
- •Контрольні запитання
- •Завдання
- •Контрольні запитання
- •Мета лабораторної роботи - вивчити блочну організацію програм та стратегії розподілу пам'яті.
- •Динамічний розподіл пам’яті у блоці
- •Методичні вказівки Правила написання програм
- •Своєчасно звільняйте пам'ять, “захоплену” в “купі” (оператори dispose/ delete) Завдання
- •Контрольні запитання
- •Лабораторна робота 1.10
- •Дослідження структурних операторів
- •Мета лабораторної роботи - вивчити устрій структурних операторів та дослідити можливості та особливості застосування різноманітних форм структурних операторів.
- •Теоретичні відомості
- •Правила написання програм
- •Завдання
- •Методичні вказівки
- •Контрольні запитання
- •Завдання
- •Контрольні питання
- •Література
Лабораторна робота 1.6 дослідження символьних типів
Мета лабораторної роботи - дослідити та вивчити символьні типи, устрій їх значень та операції над значеннями цих типів.
Теоретичні відомості
Змінні символьного типу забезпечують зберігання символів, які можуть бути відображені на відображаючих та друкуючих пристроях. Фактично, такі змінні містять коди символів. У мовах Pascal та C використовуються символи ASCII (American Standard Code for Information Interchange). Відповідність між зображеннями символів та їх кодами представлена у додатку А.
Множина ASCII містить 256 символів: букви, цифри, спеціальні та керуючі символи. Ці символи розділені на два типи: такі що відображаються (видимі) та такі, що не відображаються (невидимі).
Символи, що відображаються, можуть бути відображені за допомогою відповідних пристроїв: комп’ютеру – монітору, принтеру та інших. Невидимі символи не можуть бути відображені, але вони виконують певні дії під час виведення на ці пристрої. Наприклад, символ 07hex дає короткий звук (Bell), 0Ahex (повертання каретки) переміщує курсор монітору на першу позицію текстового рядка.
Існують спеціальні позначення визначених символів, що не відображуються, у мові С – так звані ESC-послідовності. Ці послідовності починаються з символу "\" та позначають один символ. Деякі символи ESC- послідовностей наведено у додатку 3.
В програмі символ може бути представлено літералом. Літерал повинен бути обмежений апострофами у мові Pascal та лапками у мові С. Наприклад: 'a', '*', 'K' , '4' (Паскаль), "a", ")", "7", "\", "\\", "\n" (Сі).
Із значенням символу дозволено виконання операцій відношення, результат яких буде таким як результат порівняння їх кодів.
Символьні типи є дискретними типами, тому що мають кінцеву упорядковану множину значень.
Завдання
Написати програми на мовах Паскаль та Сі, які складаються з наступних дій:
Опису змінних символьного типу.
Опису констант символьного типу.
Ініціювання об'єктів при опису.
Ініціювання об'єктів оператором привласнення, використовуючи значення з варіанта (табл. 2.11), які наведені у вигляді символьних літералів та кодів символів.
Використання базової операції – атрибут (тільки в мові Паскаль).
Примітка: При написанні програми дослідити опис символьних літералів.
Таблиця 2.11
№ варіанта |
Літерал |
Код символу |
1 |
'%', 'k', '8' |
0x12, 0x70, 0x5a |
2 |
'[', 'T', '2' |
0x2d, 0x32, 0x4 |
3 |
'4', '@', 'Y' |
0x2, 0x56, 0xb6 |
4 |
'S', '6', '?' |
0x11, 0x4f, 0x2c |
5 |
'=', '5', 'd' |
0x56, 0x10, 0x72 |
6 |
'9', 'Q', '#' |
0x3, 0x67, 0x36 |
7 |
':', '0', 'j' |
0x40, 0x5, 0x53 |
8 |
'V', '|', '3' |
0x14, 0x5e, 0x2e |
9 |
'1', 'p', '№' |
0x7a, 0x3b, 0x9 |
10 |
'>', '7', 'R' |
0x1a, 0x32, 0x63 |
11 |
'i', '}', '2' |
0x7e, 0x4f, 0x19 |
12 |
'8', 'C', ',' |
0xf, 0x6e, 0x24 |
13 |
'+', '4', 'f' |
0x30, 0x7, 0x79 |
14 |
'U', '*', '6' |
0x7b, 0x4c, 0x18 |
15 |
'5', 'b', '!' |
0xc, 0x68, 0x2b |
Контрольні запитання
Наведіть види змінних, покажіть їх схеми
Наведіть різницю між типiзованими та нетипiзованими вказівними змінними.
Наведіть схеми оператора привласнення для змінних різних видів.
Поясніть сутність базових операцій взяття адреси та розіменування.
Наведіть можливі базові операції з простими та вказівними змінними.