- •Затверджую Начальник спеціальної кафедри № 5
- •Методична розробка
- •Тема 1. Мови асемблера та їх використання для побудови базових елементів системних програм.
- •Тема 1/5
- •Контрольні запитання про архітектуру базового процесора
- •Короткі теоретичні відомості
- •Команди умовної передачі управління та їх використання на мові асемблера
- •Перевірки умов та відношень порядку ключів на мові асемблера
- •3. Типи циклів та перевірка умов закінчення циклів лінійного пошуку на мові асемблера
- •Завдання на підготовку до роботи з комп’ютерного практикуму
Завдання на підготовку до роботи з комп’ютерного практикуму
Завдання на підготовку до роботи на комп’ютері:
1. Визначити варіант завдання для основної задачі за Табл.5.2.
Таблиця 5.2
Варіанти завдань для виконання пошуку
№ вар. |
Тип ключа для прямої адреси |
Тип ключа для інших видів пошуку |
Тип функціонального поля |
Тип вибірки |
1 |
unsigned char |
char*_ unsigned short |
float |
Перший |
2 |
unsigned char |
char*_ unsigned int |
double |
Всі |
3 |
unsigned char |
char*_ unsigned long |
struct |
Черговий |
4 |
unsigned char |
char*_ unsigned char |
union |
Перший |
5 |
unsigned char |
char*_ unsigned short |
enum |
Всі |
6 |
unsigned short |
char*_ unsigned int |
float |
Черговий |
7 |
unsigned short |
char*_ unsigned long |
double |
Перший |
8 |
unsigned short |
char*_ unsigned char |
struct |
Всі |
9 |
unsigned short |
char*_ unsigned short |
union |
Черговий |
10 |
unsigned short |
char*_ unsigned int |
enum |
Перший |
11 |
unsigned int |
char*_ unsigned long |
float |
Всі |
12 |
unsigned int |
char*_ unsigned char |
double |
Черговий |
13 |
unsigned int |
char*_ unsigned short |
struct |
Перший |
14 |
unsigned int |
char*_ unsigned int |
union |
Всі |
15 |
unsigned int |
char*_ unsigned long |
enum |
Черговий |
16 |
unsigned long |
char*_ unsigned char |
float |
Перший |
17 |
unsigned long |
char*_ unsigned short |
double |
Всі |
18 |
unsigned long |
char*_ unsigned int |
struct |
Перший |
19 |
unsigned long |
char*_ unsigned long |
union |
Всі |
20 |
unsigned long |
char*_ unsigned char |
enum |
Черговий |
Варіанти типу вибірки означають:
“Перший” – складання програми пошуку першого елементу поля з унікальними значеннями або з повтореннями значень;
“Всі” – складання програми багатоваріантного пошуку всіх можливих результатів для ключа з повтореннями значень;
“Черговий” – складання програми пошуку чергового варіанта результату для ключового поля з повтореннями значень.
2. Настроїти в файлі реалізації table.cpp функції пошуку та корекції за прямою адресою (struct recrd*selNmb(struct recrd*tb, int nElm), struct recrd* insNmb(struct recrd*pElm, struct recrd*tb, int nElm, int *pQnElm), struct recrd* delNmb(struct recrd *tb, int nElm), struct recrd* updNmb(struct recrd*pElm, struct recrd*tb, int nElm, int *pQnElm)) відмітки про вилучення, упакування таблиці, впорядкування таблиці і вставку до таблиці за значенням ключових полів з використанням різних методів.
для таблиці з доступом за прямою адресою (1 бал за налагоджену функцію) – налагодження виконати в файлах tables.h, table.cpp і vistab.cpp;
5. Настроїти програми виведення з модуля так, щоб вони давали можливість відображувати потрібні типи даних так, щоб забезпечити відповідність специфікаторів виведення типам і кількості даних функціональних полів. Перед початком заняття показати викладачу текст оператора виведення функціональних полів.
6. Скласти вставки на мові Асемблера функцій вставки, вилучення і корекції в таблицях на базі методу двійкового пошуку і підготувати програмні модулі, які забезпечують вставку, вилучення і корекцію елемента таблиці за значенням ключового елемента.
За останньою цифрою номера залікової книжки або за порядковим номером студента в списку підгрупи визначте варіант завдання для задач за табл. 2.6.
Завдання на самостійну роботу: повторити матеріал лекції; вивчити основні поняття.
/ В.І.Пустоваров /