9.2. Індивідуальні завдання
Написати програму обробки файлу даних, що складаються із структур, в якій реалізовані наступні функції: з тандартная обробка файлу (створення, перегляд, додавання); лінійний пошук у файлі; сортування масиву (файлу) методами прямого вибору і QuіckSоrt; двійковий пошук у відсортованому масиві.
1. У магазині формується список осіб, що записалися на купівлю товару. Вид списку : номер, Ф.И. О., домашня адреса, дата обліку. Видалити із списку усі повторні записи, перевіряючи Ф.И. О. і адреса. Ключ: дата постановки на облік.
2. Список товарів на складі включає: найменування товару, кількість одиниць товару, ціну одиниці і дату вступу товару на склад. Вивести в алфавітному порядку список товарів, що зберігаються більше місяця, вартість яких перевищує 100 000 р. Ключ: найменування товару.
3. Для отримання місця в гуртожитку формується список: Ф.И. О. студента, група, середній бал, дохід на кожного члена сім'ї. Гуртожиток в першу оче-редь надається тим, у кого дохід менше двох мінімальних зарплат, потім іншим в порядку зменшення середнього балу. Вивести список черговості. Ключ: дохід на кожного члена сім'ї.
4. У довідковій автовокзалу зберігається розклад руху автобусів. Для кожного рейсу вказані його номер, пункт призначення, час відправлення і прибуття. Вивести інформацію про рейси, якими можна скористатися для прибуття в пункт призначення раніше заданого часу. Ключ: час прибуття.
5. На міжміській АТС інформація про розмови містить дату раз-говора, код і назву міста, час розмови, тариф, номер телефону в цьому місті і номер телефону абонента. Вивести по кожному місту загальний час розмов з ним і суму. Ключ: загальний час розмов.
6. Інформація про співробітників фірми включає: Ф.И. О., табельний номер, кількість годин, що пропрацювали, за місяць, почасовою тариф. Робочий час понад 144 ч. вважається наднормовим і оплачується в подвійному розмірі. Вивести розмір заробітної плати кожного співробітника фірми за вирахуванням прибуткового податку (12% від суми заробітку). Ключ: розмір заробітної плати.
7. Інформація про учасників спортивних змагань містить: Ф.И. О. гравця, ігровий номер, вік, ріст, вагу, найменування країни, назву команди. Вивести інформацію про наймолодшу команду. Ключ: вік.
8. Для книг, що зберігаються у бібліотеці, задаються: номер книги, автор, назва, рік видання, видавництво і кількість сторінок. Вивести список книг з прізвищами авторів в алфавітному порядку, виданих після заданого року. Ключ: автор.
9. Різні цехи заводу випускають продукцію декількох найменувань. Відомості про продукцію включають: найменування, кількість, номер цеху. Для заданого цеху необхідно вивести вироби по кожному найменуванню в порядку убування їх кількості. Ключ: кількість випущених виробів.
10. Інформація про співробітників підприємства містить: Ф.И. О., номер відділу, посаду, дату початку роботи. Вивести списки співробітників по відділах в порядку убування стажу. Ключ: дата початку роботи.
11. Відомість абітурієнтів, що склали вступні іспити в униве-рситет, містить: Ф.И. О., номер групи, адреса, оцінки. Визначити кількість абітурієнтів, що проживають в м. Мінську і що склали іспити з середнім балом не нижче 8.5, вивести їх прізвища в алфавітному порядку. Ключ: Ф.И. О.
12. У довідковій аеропорту зберігається розклад вильоту літаків на наступну добу у виді: номер рейсу, тип літака, пункт призначення, час вильоту. Вивести інформацію для заданого пункту призначення в порядку зростання часу вильоту. Ключ: пункт призначення.
13. У касі зберігається інформація про потяги на найближчий тиждень: дата виїзду, пункт призначення, час відправлення, число вільних місць. Необхідно зарезервувати m місць до міста N на k -й день тижня з часом відправлення потягу не пізніші за t годинник. Вивести час відправлення або повідомлення про неможливість виконати замовлення. Ключ: число вільних місць.
14. Відомість абітурієнтів, що склали вступні іспити в університет, містить: Ф.И. О. абітурієнта, 4 оцінки. Визначити середній бал по університету і вивести список абітурієнтів, середній бал яких вище за середній балу по університету в порядку убування балу. Ключ: середній бал.
15. У ательє зберігаються квитанції про здану в ремонт апаратуру у виді: найменування групи виробів (телевізор, радіоприймач і тому подібне), марку виробу, дату приймання, стан готовності замовлення (виконаний, не виконаний). Вивести інформацію про стан замовлень на поточну добу по групах виробів. Ключ: дата приймання в ремонт.
16. Інформація про співробітників інституту містить: Ф.И.О., факультет, кафедру, посаду, об'єм навантаження (годинника). Вивести списки співробітників по кафедрах в порядку убування навантаження. Ключ: об'єм навантаження.
Контрольні питання
-
Дайте визначення масиву.
-
Дайте визначення структури.
-
Проведіть порівняльний аналіз масиву та струтури – опишіть спільні та відмінні риси.
-
Яке відношення мають структури до організації баз даних? Наведіть приклад.
-
Що, в вашому розумінні, пошук? Навіщо потрібна дана операція?
-
Які алгоритми пошуку вам відомі? Що в них спільного та відмінного?
-
Опишіть алгоритм Лінійного пошуку.
-
Опишіть алгоритм Пошуку діленням навпіл.
-
Що, в вашому розумінні, сортування? Навіщо потрібна дана операція?
-
Які алгоритми сортування вам відомі? Що в них спільного та відмінного?
-
Дайте короткий опис Методу прямого обміну в сортуванні.
-
Дайте короткий опис Методу прямого вибору в сортуванні.
-
Дайте короткий опис сортування за допомогою прямого (двійкового) включення.
-
Дайте короткий опис шейкерного сортування.
-
Дайте короткий опис Метод Д. Шелла в сортуванні.
-
Дайте короткий опис Сортування за допомогою дерева.
-
Дайте короткий опис Сортування за допомогою розподілу.