МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
МЕТОДИЧНІ ВКАЗІВКИ
до курсової роботи
з дисципліни
“Об‘єктно-орієнтоване програмування”
для студентів базового напрямку 050103 "Програмна інженерія"
Затверджено
на засіданні кафедри
програмного забезпечення.
Протокол № 1 від 28 .08 .2008 р.
Львів – 2008
Технічне завдання для курсової роботи
з дисципліни «Об‘єктно-орієнтоване програмування»
Розробити програму засобами ООП на мові С++ згідно вказаного варіанту.
Продемонструвати викладачу роботу розробленої програми.
Сформувати звіт з курсової роботи. Звіт має містити: 1) завдання; 2) алгоритм розв‘язку задачі; 3) діаграми UML класів, послідовності виконання, взаємозв‘язків; 4) текст розробленої програми; 5) протокол роботи програми.
Варіанти завдань:
Створити таблицю в середовищі Bilder C++
№ | Прізвище | Ім‘я | Адреса | Телефон
За заданим прізвищем визначити номер телефону (врахувати наявність в таблиці однакових прізвищ)
За адресою визначити прізвище та телефон
За телефоном визначити прізвище та адресу
За адресою визначити всіх, хто проживає на даній вулиці та їх телефони
Вивести всі записи, що мають однакове поле «Ім‘я» (поле задається).
Створити таблицю в середовищі Bilder C++
№ | Прізвище | Ім‘я | група | Математика | Фізика | Іноземна мова
Порахувати середній бал в кожній групі за кожною дисципліною
Порахувати рейтинг груп по всіх 3-х предметах та впорядкувати записи за рейтингом відомим алгоритмом
Вивести дані з дисциплін для студентів із заданими однаковими іменами
Вивести студентів, що мають 5 і 4 по всіх трьох предметах; 4 і 3; 5 і 3.
Вивести студентів, що мають 5 з математики і 3 з іноземної; 5 з фізики і 5 з математики; 5 з іноземної і 3 з математики.
Створити таблицю в середовищі Bilder C++
№ | Прізвище | Ім‘я | Ріст | Вага | № одежі | № взуття
Відомим алгоритмом відсортувати записи таблиці за значенням росту; за вагою; за № одежі; за № взуття.
Вивести прізвища, що мають однаковий ріст і однаковий номер взуття (одночасно).
Вивести прізвища, що мають № одежі < 48 і № взуття < 37 (одночасно)
Порахувати середній ріст та середню вагу всіх записів в таблиці
Вивести прізвище людини, що має найбільший ріст з найменшим № взуття, та людину з найбільшим № одежі і найменшою вагою.
Створити таблицю в середовищі Bilder C++
№ | Марка машини | Колір | Ціна | Потужність
Відомим алгоритмом відсортувати записи за ціною
За заданою маркою авто визначити найдорожчу та найпотужнішу
Вивести марки авто однакового кольору
Визначити марки авто, ціна яких не виходить за задані межі
В кожній марці авто визначити найпотужнішу та найдешевшу (одночасно)
Створити таблицю в середовищі Bilder C++
№ | Прізвище | Ім‘я | Рік народж. | Стать | t | Гемоглобін
Відомим алгоритмом відсортувати записи за показником гемоглобіну для кожної статі
Серед жінок визначити тих, в кого підвищена t
Серед чоловіків визначити найстаршого з нормальною t та нормальним показником гемоглобіну
Визначити всіх людей молодших за 40 років, в кого підвищені t та гемоглобін
Всім пацієнтам з нормальними показниками вивести повідомлення «---Прізвище--- так триматись!»
Створити таблицю в середовищі Bilder C++
Рік | Місяць | Число | t | Тиск | Вологість | Напрям вітру
Визначити середню t за місяць
Визначити дні з найвищим тиском та найменшою вологістю
Визначити дні зміни вітру
Побудувати засобами Bilder графіки t , тиску та вологості
Спрогнозувати погоду на наступний місяць.
Створити таблицю в середовищі Bilder C++
Матеріал | Ціна за 1м.кв.
Розробити розкрій прямокутної коробки, що склеюється. Вивести малюнок.
За заданими розмірами (ширина, довжина, висота) та матеріалом вирахувати собівартість матеріалів на виготовлення коробки
Вирахувати витрати на комунальні послуги, зарплату, податки
Визначити собівартість коробки, додати 10% доходу
Визначити сумарний місячний дохід при заданих замовленнях (розмір – матеріал – кількість)
Розробити ієрархію класів: базовий клас «Персона» (ПІП, дата народження, телефон); похідні класи «Студент» (курс, група, кафедра, середній бал), «Викладач» (масив предметів, куратор якої групи). Для кожного класу створити: 1) конструктор за замовчуванням; 2) конструктор з параметрами; 3) конструктор копій; 4) перевизначити операції >>, << для зчитування та запису у файл.
Наповнити класи даними, прочитавши відповідні файли person.dat, student.dat, vykladach.dat. Реалізувати функції пошуку студента за прізвищем, за групою, за середнім балом. Вивести студента із максимальним середнім балом, для яких задано куратора. Для демонстрації роботи програми використати засоби Bilder C++.
Створити клас «Товар» (код, назва, країна-виробник, ціна) та похідні від нього: «Техніка» (гарантія, габарити, вага, масив комплектації), «Продукти» (вміст жирів, білків, вуглеводів; генна модифікація (bool), термін споживання, масив вітамінів). Для кожного класу створити: 1) конструктор за замовчуванням; 2) конструктор з параметрами; 3) конструктор копій; 4) перевизначити операції >>, << для зчитування та запису у файл.
Наповнити класи даними, прочитавши відповідні файли tovar.dat, technika.dat, produkty.dat. Реалізувати функції пошуку товару за кодом, назвою, пошук техніки за вагою, пошук продукту за вмістом корисних речовин. Вивести продукти, що не є генно-модифікованими та мають заданий вміст корисних речовин. Для демонстрації роботи програми використати засоби Bilder C++.
Створити клас «Продукти» (код, назва, країна-виробник, ціна, вміст жирів, білків, вуглеводів; генна модифікація (bool), термін споживання, масив вітамінів). Для класу створити: 1) конструктор за замовчуванням; 2) конструктор з параметрами; 3) конструктор копій; 4) перевизначити операції >>, << для зчитування та запису у файл. Наповнити клас даними, прочитавши відповідний файл produkty.dat. Реалізувати функції пошуку продукту за кодом, назвою, за вказаним вітаміном, за терміном споживання. Реалізувати функцію додавання даних у масив вітамінів. Вивести продукти, що вийшли за термін споживання та продукти, що містять заданий вітамін. Для демонстрації роботи програми використати засоби Bilder C++.
Створити файл song.dat з текстом пісні. Створити клас «Пісня» (автор, назва, кількість куплетів) та клас «Куплет» (порядковий номер куплету, масив стрічок куплету). Зчитати у класи дані з файлу song.dat. Перевизначити операції зчитування та запису у файл. Реалізувати пошук за заданим словом у куплеті, за заданим словом у пісні. Реалізувати функцію заміни стрічки куплету на іншу. Вивести останні стрічки всіх куплетів.
12. Написати програму для обрахунку математичних виразів.
Вирази вводяться у вікні у текстовому форматі. Результат математичного виразу обчислити при натисненні відповідної кнопки та вивести у вікно редагування.
Приклад виразу: 2+6*(4+6-9)-(2+9*(2-6))+10*sin(60)
13. Написати програму для роботи з плоскими фігурами (коло, трикутник, квадрат та інші). Необхідно відобразити неменше 10 фігур на екрані і при наведенні курсору мишки на певну фігуру вивести інформацію про цю фігуру (площа, периметр, радіус, довжина сторін, розмір кутів )
14. Написати програму для аналізу текстів, який передбачає: визначення кількості букв, кількості слів та речень в тексті, середню довжину слів, речень, а також частоту повторюваності для букв. Програма повинна забезпечувати введення данних як з клавіатури так із текстових файлів.
15. Написати програму визначення координат точок перетину відрізків в площині або в просторі. Відрізки задаються координатами крайніх точок з клавіатури або з файлу. Зобразити поточну задачу на екрані (для просторового випадку – проекцію на площину).
Завдання розробили
Доц. каф ПЗ Коротєєва Т.О.
асист. каф. ПЗ Тушницький Р.
асист. каф.ПЗ Ждан А. Р.