
- •Методичні вказівки
- •«Системне програмування»
- •5.05010201«Обслуговування комп’ютерних систем і мереж»
- •Рецензія
- •Тема 3. Мова програмування Assembler ……………………………..……..135
- •1.1. Історія розвитку мов системного програмування Питання для опрацювання
- •Методичні рекомендації
- •1. Класифікація мов програмування
- •2. Розвиток мов системного програмування
- •Студент повинен
- •Питання для самоконтролю
- •Історія виникнення мови програмування с
- •2. Сфери застосування мови програмування с
- •1. Двійкова, вісімкова та шістнадцяткова системи числення.
- •2. Формати представлення чисел у різних системах числення.
- •3. Стандарти представлення чисел зі знаком.
- •Формати з плаваючою комою
- •Векторні формати
- •Приклади
- •Студент повинен
- •Питання для самоконтролю
- •Література
- •Питання для опрацювання
- •Методичні рекомендації
- •Приклад:
- •2. Керуючі послідовності
- •1. Види логічних операцій, які виконуються в комп’ютері.
- •За структурою
- •За типом запису даних
- •За архітектурними особливостями
- •За формою подання даних
- •Залежно від часу виконання операцій
- •Залежно від реалізації мікроалгоритму
- •Пристрій управління
- •Операційний пристрій
- •Регістри
- •2. Алгоритми виконання логічних операцій.
- •Побітові логічні операції
- •Бітові зсуви
- •Бітові операції як основа цифрової техніки[ред. • ред. Код]
- •Студент повинен
- •Питання для самоконтролю
- •Література
- •Питання для опрацювання
- •Методичні рекомендації
- •Студент повинен
- •Питання для самоконтролю
- •Література
- •Питання для опрацювання
- •Методичні рекомендації
- •Порядок використання вбудованих функцій під час написання програм.
- •2. Порядок практичного використання багатовимірних масивів під час створення програм.
- •Студент повинен
- •1. Порядок задання і створення масивів структур.
- •2. Порядок практичного використання масивів структур під час створення програм.
- •1. Створення динамічних масивів за допомогою вказівників.
- •2. Передача аргументів процедур та функцій з використанням вказівників.
- •3. Використання масивів вказівників.
- •Студент повинен
- •Питання для самоконтролю
- •1. Головні означення та властивості теорії графів.
- •Зображення графів на площині
- •1. Порядок переходу у графічний режим виводу інформації.
- •2. Функції для побудов геометричних фігур.
- •1. Базові поняття об’єктно‑орієнтованого програмування (ооп).
- •2. Успадкування та поліморфізм.
- •Практичні прийоми програмування з використанням об’єктів.
- •Студент повинен
- •Питання для самоконтролю
- •Література
- •Тема 3. Мова програмування Assembler
- •3.1. Спеціалізоване використання регістрів процесора Intel 8086 Питання для опрацювання
- •Методичні рекомендації
- •1. Спеціалізоване використання регістрів даних.
- •2. Спеціалізоване використання регістрів-вказівників.
- •3.2. Способи адресації пам’яті у процесорах Intel 8086
- •1. Регістрова адресація.
- •2. Безпосередня адресація.
- •3. Пряма адресація.
- •4. Непряма адресація та її різновиди.
- •Питання для самоконтролю
- •1. Особливості роботи з відеорежимами.
- •2. Порядок задання кольору для виведення даних.
- •1. Функції для керування роботою послідовного порту
- •2.Функції для керування роботою паралельного порту
Студент повинен
знати:
Означення масиву.
Види масивів
Організацію двовимірних масивів.
Організацію багатовимірних масивів.
Ініціалізацію елементів масивів.
Ініціалізацію елементів «розмірних» масивів.
«Безрозмірну» ініціалізацію елементів масивів.
вміти:
Оголошувати та працювати з двовимірними масивами.
Оголошувати та працювати з багатовимірними масивами.
Використовувати багатовимірні масиви при створення власних програм.
Питання для самоконтролю
Дайье означенняння масиву.
Назвіть види масивів
Як здійснити організацію двовимірних масивів?
Як здійснити організацію багатовимірних масивів?
Як здійснити ініціалізацію елементів масивів?
Як здійснити ініціалізацію елементів «розмірних» масивів?
Як здійснити «безрозмірну» ініціалізацію елементів масивів?
Література
[1] с. 78-82, [4] c. 112-114
1.9. Особливості роботи з масивами структур
Питання для опрацювання
1. Порядок задання і створення масивів структур.
2. Порядок практичного використання масивів структур під час створення програм
Методичні рекомендації
Під час вивчення даної теми студенти повинні освоїти особливості роботи з масивами структур у С++, навчитись використовувати масиви структур під час складання власних програм.
1. Порядок задання і створення масивів структур.
Уявімо собі, що нам треба написати програму, яка би рахувала кількість знайдених ключових слів C. Нам потрібен би був масив символьних ланцюжків, який би містив назви, і масив цілих для відліку. Одним з можливих варіантів було би використання двох паралельних масивів keyword і keycount, як от
char *keyword[NKEYS];
int keycount[NKEYS];
Але самий факт того, що масиви паралельні, підказує відмінну організацію — масив структур. Кожне ключове слово складатиметься з пари:
char *word;
int cout;
і ці пари утворюватимуть масив. Оголошення структури
struct key {
char *word;
int count;
} keytab[NKEYS];
заявляє про структуру типу key, і означує масив keytab, що міститиме структури цього типу, відводячи для них місце в пам'яті. Кожен елемент масиву буде структурою. Це можна також написати як
struct key {
char *word;
int count;
};
struct key keytab[NKEYS];
Оскільки структура keytab містить сталий набір імен, найлегшим буде зробити її зовнішньою змінною й ініціювати раз і назавжди під час її означення. Ініціалізація структури аналогічна попереднім — за визначенням слідує список ініціалізаторів, включених у фігурні дужки:
struct key {
char *word;
int count;
} keytab[] = {
"auto", 0,
"break", 0,
"case", 0,
"char", 0,
"const", 0,
"continue", 0,
"default", 0,
/* ... */
"unsigned", 0,
"void", 0,
"volatile", 0,
"while", 0
};
Ініціалізатори перелічено парами, згідно елементів структури. Було би точніше включити ініціалізатори кожного «рядка» структури у фігурні дужки, як от
{ "auto", 0 },
{ "break", 0 },
{ "case", 0 },
...
але внутрішні дужки необов'язкові, якщо ініціалізатори складаються з простих змінних або символьних ланцюжків, і коли всі присутні. Зазвичай, кількість елементів масиву keytabобчислюється автоматично, при наявності ініціалізаторів і порожньому []. Програма відліку ключових слів почнеться з означення keytab. Функція main читатиме ввід шляхом повторного виклику getword, яка добуватиме по одному слову за раз. Кожне слово шукатиметься вkeytab за допомогою нашої версії функції бінарного пошуку. Список ключових слів потрібно буде сортувати в зростаючій послідовності в таблиці.