- •Методичні вказівки
- •Методичні вказівки до лабораторних робіт з дисципліни “Основи програмування” для студентів спеціальності 6.050103/Викл.: н.О.Комлева. – Одеса: онпу, 2011. – 23 с.
- •Підготовка до виконання робіт
- •Виконання лабораторних робіт
- •Задание № 3. Тема: Одновимірні масиви
- •Завдання № 4. Тема: Двовимірні масиви
- •Завдання № 5. Тема: Функції. Динамічні масиви й структури
- •Завдання № 6. Тема: Робота з рядками.
- •Завдання № 7. Тема: робота з файлами (базові типи даних).
- •Завдання № 8. Тема: Робота з файлами (структури даних).
Завдання № 5. Тема: Функції. Динамічні масиви й структури
Сформувати одновимірний динамічний масив порядку N, елементи якого мають зазначену нижче структуру, і організувати обробку його даних відповідно до варіанта завдання.
Примітка: для зв'язаних даних, які обов'язково є в кожному варіанті (наприклад, прізвище, ім'я, по батькові або день, місяць, рік і ін.) формувати окрему одиницю структурного типу.
Програма повинна містити роздільні функції здійснюючі введення, вивід і реалізацію завдання.
Структура елемента масиву співробітник: прізвище, ім'я, по батькові, вік, ріст.
Визначити:
середній ріст співробітників у віці 18-20 років;
ім'я найвищого співробітника;
ПІБ співробітників, що мають однаковий ріст.
Структура елемента масиву анкета: прізвище, ім'я, по батькові, дата народження (число, місяць, рік), домашня адреса (місто, вулиця, будинок), оцінки в атестаті зрілості (математика, фізика, хімія), робочий стаж, факультет. Визначити абітурієнтів з максимальним робочим стажем на кожному факультеті. Назви факультетів визначати з масиву анкет.
Структура елемента масиву працівник: прізвище, число, місяць і рік народження, стать.
Визначити:
прізвище самого старшого чоловіка;
всі прізвища, що починаються із заданої літери;
список людей, що народилися в заданому місяці.
Структура елемента масиву атестаційна картка студента: прізвище, ім'я, по батькові, курс, група, дата народження (число, місяць, рік), 1-ий семестр (математика, фізика, програмування), 2-ий семестр (математика, фізика, програмування). Визначити середній бал студентів кожної групи в зимовій сесії. Номера груп визначати з масиву атестаційних карток (заздалегідь номера груп невідомі).
Структура елемента масиву знайомий: прізвище, номер телефону (5-значний), місце проживання – місто, вулиця, будинок, квартира.
Визначити:
чи є в книжці телефон даної людини;
кому належить даний телефон;
список людей, що живуть на даній вулиці.
Структура елемента масиву абітурієнт: прізвище, ім'я, по батькові, стать, рік народження, домашня адреса (поштовий індекс, місто, вулиця, будинок), оцінки в атестаті зрілості (математика, фізика), факультет. Визначити кількість міст України, з яких прибули абітурієнти. Назви факультетів визначати з масиву анкет.
Структура елемента масиву студент: прізвище, номер групи, оцінка по предмету № 1, оцінка по предмету № 2, оцінка по предмету № 3.
Визначити:
прізвище того, хто краще всіх здав іспити;
середній бал по групі по заданому предметі;
список боржників.
Структура елемента масиву студент: прізвище, ім'я, по батькові, стать, вік, № курсу.
Визначити:
№ курсу, на якому вчиться найбільший відсоток студентів чоловічої статі;
найпоширеніші чоловічі й жіночі імена (по одному імені);
список студентів заданої статі заданого курсу.
Структура елемента масиву атестаційна картка: прізвище, ім'я, по батькові, курс, група, захоплення, 1-ий семестр (математика, фізика, програмування), 2-ий семестр (математика, фізика, програмування). Визначити список студентів 3-го курсу, що не мали незадовільних оцінок у навчальному році.
Структура елемента масиву вступник у вуз: прізвище, ім'я, по батькові, домашня адреса (місто, вулиця, будинок), робочий стаж, місце останньої роботи, наявність прописки. Визначити кількість абітурієнтів з кожного міста. Назви міст визначати з масиву анкет.
Структура елемента масиву пасажир: прізвище, ім'я, по батькові, номер рейса, кількість багажних місць, загальна вага.
Визначити:
рейс із максимальною вагою багажу;
пасажира з найбільшою кількістю речей;
вивести список пасажирів, що летять заданим рейсом, і інформацію про їхній багаж.
Структура елемента масиву картка студента: прізвище, ім'я, по батькові, курс, група, 1-ий семестр (математика, фізика, історія), 2-ий семестр (математика, фізика, креслення), 3-ий семестр (математика, фізика, програмування), 4-ий семестр (математика, іноземна мова, програмування),. Підрахувати кількість студентів у кожній групі, що здала іспити в літніх сесіях за два роки тільки на «добре» і «відмінно». Номера груп визначати з масиву атестаційних карток (заздалегідь номера груп невідомі).
Структура елемента масиву власник: прізвище, адреса (рядок), марка автомобіля, реєстраційний номер, рік випуску.
Визначити:
кількість автомобілів кожної марки;
власника самого старого автомобіля;
прізвища власників і номера автомобілів даної марки.
Структура елемента масиву атестаційні картки групи: прізвище, ім'я, по батькові, курс, вік, 1-ий семестр (математика, фізика, програмування), 2-ий семестр (математика, фізика, креслення). По атестаційних картках групи визначити абсолютну успішність кожного студента за рік. Абсолютна успішність – це процентне відношення кількості позитивних оцінок до загальної кількості оцінок.
Структура елемента масиву дитина: прізвище, місце проживання – місто, вулиця, будинок, квартира, стать, кількість днів відвідування дитячого садку.
Визначити:
дитину, що дуже хворіє;
хто більше хворіє – хлопчики або дівчинки;
список дітей, що проживають на заданій вулиці.
Структура елемента масиву анкета: прізвище, ім'я, по батькові, рік народження, домашня адреса (місто, вулиця, будинок), оцінки в атестаті зрілості (математика, фізика, українська мова, інформатика), рік закінчення середнього навчального закладу. Визначити абітурієнтів-одеситів, що мають максимальний середній бал в атестаті зрілості.
Структура елемента масиву книга: автор, назва, видавництво – назва, рік видання, кількість сторінок.
Визначити:
чи є в бібліотеці книги даного автора;
знайти книгу з найбільшою кількістю сторінок;
знайти назви книг даного автора, виданих із зазначеного року, у даному видавництві.
Структура елемента масиву товар: найменування, країна, партія – загальний обсяг, обсяг розфасовки, ціна.
Визначити:
країну, у яку експортується товар на максимальну суму;
список країн, у які експортується даний товар;
знайти товари, що мають мінімальний обсяг партії, максимальний обсяг розфасовки.
Структура елемента масиву картка студента: прізвище, ім'я, по батькові, курс, факультет, дата народження (число, місяць, рік), 1-ий семестр (математика, фізика, культура), 2-ий семестр (математика, програмування, креслення). По атестаційних картках групи визначити якість навчання кожного студента за рік. Якість навчання – це процентне відношення кількості «четвірок» і «п'ятірок» до загальної кількості оцінок.
Структура елемента масиву іграшка: назва, ціна, віковий діапазон – нижня границя, верхня границя.
Визначити:
назва найдорожчої іграшки;
список іграшок, які пасують дітям заданого віку;
підібрати іграшки на задану суму грошей (всі варіанти, але не більше двох іграшок у комплекті).
Структура елемента масиву атестаційна картка: прізвище, ім'я, по батькові, номер курсу, факультет, захоплення, 1-ий семестр (теорія алгоритмів, фізика, історія), 2-ий семестр (програмування, фізика, креслення). По атестаційних картках групи визначити студентів, що захоплюються шахами, і мають не менш двох відмінних оцінок у кожній сесії.
Структура елемента масиву іграшка: назва, ціна, колір, віковий діапазон – нижня межа, верхня межа.
Визначити:
назви іграшок, ціна яких не перевищує задану і які пасують дітям заданого віку;
знайти найдешевшу іграшку заданої назви;
знайти найпоширеніший колір іграшок.
Структура елемента масиву пасажир: прізвище, номер рейса, багаж – кількість речей, загальна вага.
Визначити:
число пасажирів, кількість речей яких перевершує середнє число речей;
пасажирів із заданою кількістю речей і не більше заданої ваги;
вивести інформацію про кількість речей і загальну вагу кожного рейса.
Структура елемента масиву спортсмен: прізвище, країна, рік народження, результат (у балах), фізичні дані – ріст, вага.
Визначити:
середній ріст і вага спортсменів заданої країни;
знайти кращого спортсмена заданої країни;
список спортсменів заданого віку з результатом, не гірше заданого.
Структура елемента масиву спортсмен: прізвище, ім'я, по батькові, країна, тренер, рік народження, результат (у балах).
Визначити:
знайти наймолодшого спортсмена, що займається в даного тренера;
знайти кращого тренера даної країни;
список тренерів із вказівкою країни.
Структура елемента масиву предмет: назва, кількість годин, викладач, кафедра, максимальна кількість балів за контрольну № 1, максимальна кількість балів за контрольну № 2.
Визначити:
викладача, у якого найбільша кількість годин;
список предметів, по яким максимальні кількості балів по контрольним № 1 і 2 рівні заданими;
кафедру й викладача, що веде заданий предмет.
Структура елемента масиву предмет: назва, кількість годин, викладач, кафедра, методичні посібники – кількість в електронному виді, кількість на паперовому носії.
Визначити:
викладача, що написав більше всіх методичних посібників в електронному виді, менше всіх у паперовому виді;
кафедру, на якій читається найбільша кількість предметів;
список викладачів даної кафедри.
Структура елемента масиву предмет: назва, кількість годин, викладач, кафедра, форма звітності – кількість заліків, кількість іспитів.
Визначити:
знайти середнє навантаження по даній кафедрі;
список предметів, по яким є тільки іспити; заліків більше, ніж іспитів;
список предметів, що читаються даною кафедрою.
Структура елемента масиву викладач: прізвище, атрибути – посада, звання, предмет, факультет, курс, кількість годин.
Визначити:
викладача із заданими посадою й званням, що має саме більше навантаження;
список предметів, які читає даний викладач;
обсяг годин на заданому факультеті й заданому курсі.
Структура елемента масиву магазин: назва, сфера продажу, кількість працівників, адреса – місто, вулиця, будинок.
Визначити:
магазин заданої сфери продажу з найбільшою кількістю працівників;
список магазинів, розташованих на заданій вулиці;
список магазинів з повторюваними назвами із вказівкою їхньої повної адреси й сфери продажу.