- Покажчики в мові C.
- Структури.
- Функції і передача параметрів.
3. Постановка задачі
Для заданої прикладної області розробити опис об'єктів цієї області. Розробити процедури, що реалізують базові операції над цими об'єктами, у тому числі:
- текстовий уведення-висновок (консольний і файловий);
- присвоювання;
- завдання константних значень;
- порівняння (не менш 2-х типів).
Процедури й описи даних повинні складати окремий модуль (модуль типу даних).
Підготувати на магнітному носії файл вихідних даних, утримуючих не менш 10 значень конкретних об'єктів.
Використовуючи процедури й описи модуля типу даних, розробити програму, що забезпечує уведення вихідних даних з першого файлу даних у пам'ять і збереження їх у пам'яті у виглядізв'язного списку, сортування списку по алфавітному і по числовому параметрі.
3. Варіанти індивідуальних завдань
Для кожної області перераховані параметри об'єкта. Серед параметрів обов'язково є ключове алфавітне поле (наприклад, прізвище), що ідентифікує об'єкт, у кожного об'єкта маються також одне чи кілька числових полів, по яких ймовірні звертання до об'єкта. Набір характеристик може бути розширений і ускладнений по розсуду виконавця.
Nпп | Прикладна область | Атрибути інформації |
Відділ кадрів | прізвище співробітника, ім'я, по батькові, посада, стаж роботи, оклад | |
Червона книга | вид тварини, рід, сімейство, місце обитания, чисельність популяції | |
Виробництво | позначення виробу, група до якої воно відноситься, рік випуску, обсяг випуску, витрата металу | |
Персональні ЕОМ | фірма-виготовлювач, тип процесора, тактова частота, ємність ОЗУ, ємність твердого диска | |
Бібліотека | автор книги, назва, рік видання, код УДК, ціна, кількість у бібліотеці | |
Супутники планет | назва, назва планети-хазяїна, рік відкриття, діаметр, період звертання | |
Радіодеталі | позначення, тип, номінал, кількість на схемі, позначення можливого замінника | |
Текстові редактори | найменування, фірма-виготовлювач, кількість вікон, кількість шрифтів, вартість | |
Телефонна станція | номер абонента, прізвище, адреса, наявність блокатора, заборгованість | |
Побут студентів | прізвище студента, ім'я, по батькові, факультет, розмір стипендії, число членів родини | |
Спортивні змагання | прізвище спортсмена, ім'я, команда, вид спорту, заліковий результат, штрафні окуляри | |
Змагання факультетів по успішності | факультет,кількість студентів, середній бал по факультеті, число відмінників, число двієчників | |
С/х роботи | прізвище студента, ім'я, по батькові, факультет, вид робіт, заробіток | |
Сельхозработы | найменування с/г підприємства, вид власності, число працюючих, основний вид продукції, прибуток | |
Відомості про родину | прізвище студента, ім'я, по батькові, факультет, спеціальність батька, спеціальність матері, кількість братів і сестер | |
Скотарство | вид тварин, кількість особей у череді у віці до 1 року, кількість особей 1 - 3 років, понад 3 років, смертність у кожній групі, народжуваність | |
Мікросхеми пам'яті | позначення, розрядність, ємність, час доступу, кількість на схемі, вартість | |
Опис зображення | тип фігури (квадрат, окружність і т.п.), координати на площини, числові характеристики (довжина строрны, радіус і т.п.). | |
Лісове господарство | найменування зеленого масиву, площа, основна порода, середній вік, щільність дерев на кв.км | |
Міський транспорт | вид транспорту, номер маршруту, початкова зупинка, кінцева зупинка, час у дорозі | |
Університет | ФИО і посада викладача, названиепредмета, кількість годин, тип контролю | |
Оптова база | назва товару, кількість на складі, вартість одиниці, назва постачальника, термін постачання | |
Мережа магазинів | номер, назва, адреса, телефон магазина, ФИО, адреса, капітал власників магазина. | |
Авторемонтні майстерні | номер, марка, потужність і колір автомобіля, ФИО і кваліфікація механіка, тип робіт | |
Зоопарк | вид тварини, кличка, вік, категорія рідкості, вага, добовий раціон м'яса, овочів, молока | |
Договірна діяльність організації | шифр договору, найменування організації, найменування контрагента терміни виконання, сума договору, вид договору. | |
Поліклініка | ФИО і дата народження пацієнта, ФИО, посада і спеціалізація лікуючого лікаря, діагноз | |
Домоуправління | номер квартири, загальна площа, корисна площа, кількість кімнат, прізвище квартиронаймача, кількість членів родини, кількість дітей у родині, є чи заборгованість по квартплаті | |
Аеропорт | номер рейса, пункт призначення, день рейса, тип літака, час вильоту, час у дорозі, чи є маршрут міжнародним, | |
Шахи | ФИО спортсмена, дата народження, країна, спортивний розряд, брав участь чи в боротьбі за звання чемпіона світу, рейтинг, | |
Іподром | кличка коня, масть, вік, рейтинг, вид забігу, прізвище наїзника, зайняте місце | |
Малі планети | Назва, назва планети-хазяїна (для супутників), дата відкриття, діаметр, період звертання | |
Автотранспортне підприємство | номерний знак автомобіля, марка, технічний стан, вантажопідйомність, витрата палива, табельний номер і ФИО закріпленого водія водія |
6. Приклад вирішення задачі
6.1. Індивідуальне завдання:
Прикладна область - кафедра. Атрибути:
- Ф.І.П викладача;
- посада;
- учене звання.
6.2. Опис методів рішення
6.2.1. Представлення в пам'яті
"База даних" в оперативній пам'яті представляється у виглядіодноспрямованого лінійного списку. Структура елемента списку містить чотири полючи:
struct _emlp{
char name[25]; /* Ф.И.О. */
іnt grade; /* Посада */
іnt hіght; /* Звання */
struct _emlp *next; /* Покажчик на наступний елемент */
};
Для скорочення запису ми визначаємо текст struct _emlp як _emlp:
#defіne emlp struct _emlp