Курс: “Засоби Системного Програмування”
Лабораторна робота № 8
Назва роботи: Створення багатомодульних програм.
Мета роботи: Закріпити теоретичні знання та оволодіти практичними навиками створення багатомодульних програм. Засвоїти техніку передавання даних функціям через параметри.
Завдання на лабораторну роботу
Розробити багатомодульне програмне забезпечення для опрацювання структурованих даних відповідно до заданого варіанту.
Для створення багатомодульного програмного забезпечення використовувати файл проекту. У вигляді окремої функції (оформляється як окремий модуль) реалізувати підкреслену частину варіанту завдання. Даними з підпрограмами (функціями) обмінюватися через параметри функцій.
Функції, що реалізовані в окремих модулях, повинні описуватися в файлах заголовків.
Для внутрішнього представлення даних, що опрацьовуються, розробити відповідні структури даних.
Під зберігання символьних рядків виділяти тільки мінімальні об’єми пам’яті.
Прямокутники (у межах даних задач) однозначно представляються координатами верхнього лівого та нижнього правого кутів.
Кількість записів передавати програмі через аргументи функції main().
Дані вводити зі стандартного пристрою вводу а результати виводити на стандартний пристрій виводу.
Забезпечити коректне звільнення динамічно виділеної пам’яті при завершенні використання даних під які вона виділена.
Звернути особливу увагу на обробку помилок, які користувач може зробити при використанні програми.
При вирішенні задач забезпечити дружній інтерфейс з користувачем.
Варіант 1. Ввести прізвища, імена та номер залікової книжки довільного числа студентів групи. Впорядкувати введені записи в алфавітному порядку за прізвищем та вивести результати.
Варіант 2. Ввести прізвища, імена та номер залікової книжки довільного числа студентів групи. Впорядкувати введені записи в алфавітному порядку за іменем та вивести результати.
Варіант 3. Ввести прізвища, імена та номер залікової книжки довільного числа студентів групи. Впорядкувати введені записи за зростанням номеру залікової книжки та вивести результати.
Варіант 4. Ввести прізвища, імена та номер залікової книжки довільного числа студентів групи. Впорядкувати введені записи за прізвищем у зворотному до алфавітного порядку та вивести результати.
Варіант 5. Ввести прізвища, імена та номер залікової книжки довільного числа студентів групи. Впорядкувати введені записи за іменем у зворотному до алфавітного порядку та вивести результати.
Варіант 6. Ввести прізвища, імена та номер залікової книжки довільного числа студентів групи. Впорядкувати введені записи за спаданням номеру залікової книжки та вивести результати.
Варіант 7. Ввести групу, прізвища, імена та рейтинг успішності довільного числа студентів потоку. Впорядкувати введені записи в алфавітному порядку за прізвищем у межах групи та вивести результати.
Варіант 8. Ввести групу, прізвища, імена та рейтинг успішності довільного числа студентів потоку. Впорядкувати введені записи в алфавітному порядку за іменем у межах групи та вивести результати.
Варіант 9. Ввести групу, прізвища, імена та рейтинг успішності довільного числа студентів потоку. Впорядкувати введені записи за зростанням рейтингу в межах групи та вивести результати.
Варіант 10. Ввести групу, прізвища, імена та рейтинг успішності довільного числа студентів потоку. Впорядкувати введені записи за прізвищем у зворотному до алфавітного порядку в межах групи та вивести результати.
Варіант 11. Ввести групу, прізвища, імена та рейтинг успішності довільного числа студентів потоку. Впорядкувати введені записи за іменем у зворотному до алфавітного порядку в межах групи та вивести результати.
Варіант 12. Ввести групу, прізвища, імена та рейтинг успішності довільного числа студентів потоку. Впорядкувати введені записи за спаданням рейтингу в межах групи та вивести результати.
Варіант 13. Ввести групу, прізвища, імена та рейтинг успішності довільного числа студентів потоку. Знайти в кожній з груп по три студенти з найвищим рейтингом та вивести результати.
Варіант 14. Ввести групу, прізвища, імена та рейтинг успішності довільного числа студентів потоку. Знайти в кожній з груп студентів з рейтингом вищим від заданого та вивести результати.
Варіант 15. Ввести групу, прізвища, імена та рейтинг успішності довільного числа студентів потоку. Знайти в кожній з груп по три студенти з найнижчим рейтингом та вивести результати.
Варіант 16. Ввести групу, прізвища, імена та рейтинг успішності довільного числа студентів потоку. Знайти в кожній з груп студентів з рейтингом нижчим від заданого та вивести результати.
Варіант 17. Ввести групу, прізвища, імена та рейтинг успішності довільного числа студентів потоку. Знайти в кожній з груп студентів із заданим рейтингом та вивести результати.
Варіант 18. Ввести довільне число іменованих прямокутників. Впорядкувати введені прямокутники в алфавітному порядку за іменами та вивести результати.
Варіант 19. Ввести довільне число іменованих прямокутників. Впорядкувати введені прямокутники за зростанням площі та вивести результати.
Варіант 20. Ввести довільне число іменованих прямокутників. Впорядкувати введені прямокутники за спаданням площі та вивести результати.
Варіант 21. Ввести довільне число іменованих прямокутників. Вибрати із введених прямокутників тільки ті, що мають однакову площу та вивести результати.
Варіант 22. Ввести довільне число іменованих прямокутників. Вибрати із введених прямокутників тільки ті, що перетинаються та вивести результати.
Варіант 23. Ввести довільне число іменованих прямокутників. Вибрати із введених прямокутників тільки ті, що не перетинаються та вивести результати.
Варіант 24. Ввести довільне число іменованих прямокутників. Вибрати із введених прямокутників тільки ті, котрі лежать в середині інших та вивести результати.
Варіант 25. Ввести довільне число іменованих прямокутників. Впорядкувати введені прямокутники так, щоб кожен наступний прямокутник лежав не вище попереднього та вивести результати.
Варіант 26. Ввести довільне число іменованих прямокутників. Впорядкувати введені прямокутники так, щоб кожен наступний прямокутник лежав не нижче попереднього та вивести результати.
Варіант 27. Ввести довільне число іменованих прямокутників. Впорядкувати введені прямокутники так, щоб кожен наступний прямокутник лежав не лівіше попереднього та вивести результати.
Варіант 28. Ввести довільне число іменованих прямокутників. Впорядкувати введені прямокутники так, щоб кожен наступний прямокутник лежав не правіше попереднього та вивести результати.
Варіант 29. Ввести довільне число іменованих прямокутників. Впорядкувати введені прямокутники так, щоб кожен наступний прямокутник лежав не лівіше і не вище попереднього та вивести результати.
Варіант 30. Ввести довільне число іменованих прямокутників. Впорядкувати введені прямокутники так, щоб кожен наступний прямокутник лежав не правіше і не нижче попереднього та вивести результати.
Зміст звіту
Титульна сторінка.
Мета роботи.
Завдання (індивідуальне) на лабораторну роботу.
Аналіз завдання та опис алгоритму вирішення задачі. Блок-схема алгоритму.
Текст програми (в електронному вигляді).
Описання результатів тестування.
Висновки.
Література
Керниган Б., Ритчи Д. Язык программирования СИ:Пер. с англ..- М.: Финансы и статистика, 1992. -271с.
Бочков С. О., Субботин Д. М. Язык программирования для персонального компьютера. -М.: Радио и связь, 1990. -384с.
Уинер Р. Язык Турбо СИ: Пер. с англ. -М.: Мир, 1991. -384с.
Касаткин А. И. Профессиональное программирование на языке СИ: Системное программрование - Мн.: Выш. шк. 1993. -301с.
Касаткина А. И., Вальвачев А. Н. Профессиональное программирование на языке СИ: От Turbo C к Borland C++: Справочноэ пособие, Мн.:Выш. шк.,1992.-240с.
Проценко В. С. та ін. Техніка програмування мовою СІ: Навчальний посібник -К.:Либідь, 1993, -224с.
Уэйт М., Прата С., Мартин Д. Язык СИ: Пер. с англ. -М.:Мир, 1988. -512с.
Березко Л. О., Троценко В. В., Камінський Е. А., Мархивка В. С. Інструкція до циклу лабораторних робіт з дисципліни "Програмування на мові СІ". -Львів:ЛПІ,1991.
Прата С. Язык программирования С. Лекции и упражнения. Учебник: Пер. С англ – СПб.: ООО «ДиаСофтЮП», 2002. – 896 с.