Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

AP_RGZ_2015

.pdf
Скачиваний:
9
Добавлен:
07.02.2016
Размер:
1.26 Mб
Скачать

81

б) Результати навчання студентів за семестр представлені прізвищем, ім’ям, по батькові студента, курсом, номером групи, результатами останньої сесії (масив, що містить кількість балів за вісьмома дисциплінами та назви відповідних дисциплін) та розміром стипендії. Дана інформація міститься у файлі, адреса якого задається з командного рядка під час запуску.

Програма повинна реалізовувати наступну функціональність:

пошук інформації про кількість боргів за останній семестр вказаного студента (виводити також перелік дисциплін);

обчислення розміру стипендії студентів наступним способом: стипендію у програмно зазначеному розмірі отримують 50 % найкращих студентів (за середнім балом), а 10 % студентів отримують стипендію в розмірі на 25 % вище стандартної;

обчислення розміру стипендії студентів наступним способом: стипендію отримують всі студенти, середній бал яких дорівнює «добре», всі студенти середній бал яких «відмінно» отримують стипендію в розмірі на 25 % вище стандартної;

визначення середнього балу студентів окремо для кожної групи за вказаною дисципліною (виводити в алфавітному порядку за назвою групи).

Програмні функції для виконання вказаних завдань виділити у окремий програмний файл.

2.3.2.19 Завдання для варіанта № 19:

а) Користувач задає натуральне число, яке визначає довжину рядка. Вирівняти кожний рядок у текстовому файлі, тобто додати у відповідний рядок рівномірно стільки пробілів між словами, щоб довжина рядка стала рівною заданому натуральному числу. Перед вирівнюванням спочатку вилучити зайві пробіли на початку речення та між словами. Вивести вирівняні рядки з першого файлу в другий файл. Імена файлів задаються користувачем з клавіатури. Якщо задана довжина менше початкової довжини найдовшого рядка, вивести відповідне повідомлення. Передбачити створення всіх необхідних функцій.

б) Для збереження даних про ноутбук використати структуру виду: найменування, частота процесора, обсяг оперативної пам’яті, обсяг пам’яті жорсткого диску, розмір діагоналі дисплея в дюймах (число з десятковою крапкою з чотирьох символів, включаючи

82

крапку), роздільна здатність дисплея у пікселях (два цілих числа, розділені 'х'), габаритні розміри, вага, ціна.

Програма має бути багатофайловою, у одному з файлів виконується виклик функцій з другого, які дозволяють:

виводити дані про ноутбуки, що відповідають обмеженням на обсяг оперативної пам’яті, розмір діагоналі дисплея, обсяг пам’яті HDD, заданим користувачем;

виводити дані про ноутбуки, ціна яких знаходиться в заданому діапазоні, сортуючи їх за ціною та найменуванням. При цьому виводити загальну кількість таких ноутбуків та перелік з найменуванням та ціною, а за бажанням користувача деталізувати дані зазначеного ноутбуку;

вводити у файл та виводити з файлу дані, а також змінювати деякі параметри ноутбуків, які вже містяться в файлі.

Роботу користувача з програмою реалізувати у вигляді меню. Ім’я файлу задається користувачем з клавіатури під час роботи програми.

2.3.2.20 Завдання для варіанта № 20:

а) У файлі міститься деякий текст, редагування якого необхідно виконати. У другому файлі містяться слова та словосполучення, які необхідно вилучити з даного тексту. Деякі слова або слова у словосполученнях можуть задаватися маскою (‘*’ позначає будь-яку кількість будь-яких символів, ‘?’ позначає будь-який символ). Програма повинна працювати у двох режимах: вилучаються тільки відповідні слова і словосполучення або вилучаються цілі речення, у яких дані слова або словосполучення зустрічаються. Адреси файлів передаються програмі під час запуску з командного рядку. Виділити необхідні функції.

б) Каталог фотоапаратів, наявних у інтернет-магазині, представлений у файлі та включає: модель, виробника, тип фотоапарату, розмір матриці, країну виробництва, кількість пікселів, формат відео, вартість, кількість запитів, кількість замовлень. Адреса каталогу задається програмно.

Реалізувати багатофайлову програму, у якій програмні функції, що реалізують наступні пункти меню для роботи користувача, виділені у окремий файл:

пошук моделей фотоапаратів, ціна яких не перевищує задану (якщо задано не додатне значення, то без обмежень);

83

пошук моделей фотоапаратів, які виготовлені у вказаній

країні;

визначення найпопулярніших моделей фотоапаратів (за запитами або замовленнями на вибір користувача; кількість моделей, які виводяться на екран задається користувачем).

Для перших двох пунктів результати, що виводяться на екран, сортувати за вартістю або назвою (в алфавітному порядку) на вибір користувача.

Дозволити користувачу змінювати деякі параметри для даних, які вже містяться в файлі.

2.3.2.21 Завдання для варіанта № 21:

а) У файлі міститься інформація про кількість, координати вікон, які відкрито в операційній системі, та їх розташування за порядком (1 – знизу). Координати кожного вікна задаються абсцисою

іординатою відносно лівого верхнього кута та шириною і висотою вікна. Інформація про вікна задана в файлі в довільному порядку, тобто порядок їх розташування визначає тільки відповідний показник, заданий для кожного вікна у файлі. Визначити, які з вікон видно користувачу на екрані. Вважати, що вікно видно, якщо видно хоча б один з його пікселів.

б) У файлі міститься інформація про потяги: номер, пункти слідування, час прибуття та відправлення з кожної станції, тип потягу.

Інформація про квитки на кожний потяг міститься в другому файлі та включає дату, номер потягу, номер вагону, тип вагону (люкс

– 18 місць, купе – 36 місць, плацкартний – 54 місця), номер місця, зайняте/вільне. Імена файлів задаються під час запуску програми через командний рядок.

Програма повинна надавати наступні функції, виділені в окремий файл проекту:

визначення кількості вільних місць на потяги, за допомогою яких можна дістатися з першої станції у заданий день на другу станцію (параметри задаються користувачем; дані виводяться в порядку за номером потягу);

продаж квитків на зазначений потяг на вказану дату (місця повинні обиратися користувачем з переліку доступних);

пошук потягів, які дозволять дістатися на вказану станцію раніше вказаної дати та часу зі вказаної станції (виводити за часом прибуття на цільову станцію).

84

Роботу з програмою реалізувати за допомогою меню. Заповнення файлу новими даними та внесення змін до файлів (наприклад, внесення даних про продаж квитків) реалізовувати також за допомогою меню.

2.3.2.22 Завдання для варіанта № 22:

а) Програма реалізує гру в слова. Тематикою гри може бути будь-яка, обрана користувачем (набір задається програмно). Для гри використовується база даних, яка складається з набору текстових файлів, кожний з яких містить слова за відповідною тематикою.

Правила гри: користувач називає слово, а програма у відповідь видає слово, яке починається з тієї літери, на яку закінчується введене користувачем слово. На виведене слово користувач відповідає своїм словом. Процес продовжується поки один з гравців не зможе назвати чергове слово (у такому випадку задано порожній рядок у відповідь).

Якщо користувач вводить нове слово (відсутнє у відповідному файлі), то після уточнення воно може бути занесене програмою у файл. Якщо слово у файл не заноситься, то вважається, що користувач помилився під час введення та повинен визначити інше слово.

б) У текстовому файлі зберігаються дані про книги, наявні у бібліотеці: назва книги, прізвище та ініціали автора, кількість екземплярів, жанр, рік видання, видавництво. У другому текстовому файлі зберігається інформація про видачу книг: дата видачі, дата повернення, назва книги, автор. Шлях до файлів задається під час запуску програми з командного рядка.

Програма складається з декількох файлів. У першому має бути реалізовано роботу головної функції та виклик всіх інших функцій. У другому файлі повинні міститись функції, які забезпечують виконання наступних дій:

визначення книг, мінімальний відсоток наявності яких протягом року був найменший. Відсоток наявності розраховується як відношення кількості книг, які лишались у бібліотеці у деякий момент, до кількості екземплярів даної книги у бібліотеці загалом. Результати виводити на екран та у файл для виконання замовлення;

визначення середньої популярності книг трьох вікових категорій (розбити в залежності від року їх видавництва) протягом останнього року. Отримані результати виводити разом з кількістю екземплярів книг відповідної вікової категорії;

85

виконання пошуку книг заданого користувачем автора. Результати сортувати за назвами книг. Для кожної книги представити також кількість її замовлень за кожний з останніх місяців.

Роботу з програмою реалізувати за допомогою меню. Заповнення файлу новими даними та внесення змін до файлів реалізовувати також за допомогою меню.

2.3.2.23 Завдання для варіанта № 23:

а) Матриця, кожний елемент якої є рівнем інтенсивності пікселя деякого зображення, представлена у текстовому файлі, адреса якого задається користувачем з клавіатури. Якщо такого фалу не існує, то сформувати файл випадковим чином (елементи дорівнюють цілим значенням від 1 до 255). Передбачити функції, які дозволять обробити дані з файлу за допомогою фільтру заданого користувачем розміру: розмір поля для кожного пікселя може складати 3 на 3, 5 на 5, 7 на 7 пікселів тощо. Медіаною набору елементів {a, b, c}, відсортованого за збільшенням значень (a < b < c), є значення b, а набору {a, b, c, d} – значення (b + c)/2. Значення елементу mas[i][j] змінюється на медіану

знабору значень {mas[i-1][j-1], mas[i-1][j], mas[i-1][j+1], mas[i][j-1], mas[i][j], mas[i][j+1], mas[i+1][j-1], mas[i+1][j], mas[i+1][j+1]}.

б) У файлі містяться результати проведення групового турніру чемпіонату світу з футболу. Відомо, що було сформовано 4 групи, у кожній з яких 4 команди. Для кожної групи представлено таблицю результатів 4x4. Всі елементи даного масиву, розташовані на головній діагоналі, дорівнюють нулю, а кожний елемент, що головній діагоналі не належить, дорівнює кількості м’ячів, що забила команда розташована у даному рядку, у матчі з командою, що розташована у даному стовпці.

У другому файлі містяться назви команд. Адреси файлів задаються під час запуску програми з командного рядка. Всі програмні функції, що реалізують задану функціональність, повинні міститись у окремому файлі програми.

Програма має забезпечувати виконання наступних дій:

визначення пар чвертьфіналістів (команда, що посіла перше місце у своїй групі, виходить на команду, що посіла друге місце у своїй групі. Пари таких груп задано у кінці другого файлу (наприклад,

А B, C D));

86

визначення команд, які у груповому турнірі забили найбільше м’ячів, пропустили найменше та мають найкращу різницю забитих та пропущених м’ячів;

визначення турнірної таблиці у кожній групі (за перемогу у матчі команда отримує 3 очки, за нічию – 1, за поразку – 0).

Програма також повинна дозволяти заповнювати файл даними та змінювати дані в ньому.

2.3.2.24 Завдання для варіанта № 24:

а) У текстовому файлі міститься перелік слів. Створити максимально можливий прямокутник з літер таким чином, щоб кожний рядок та кожний стовпець даного прямокутника утворювали слова з файлу. Враховувати, що читання слів у прямокутнику відбувається тільки зліва направо та згори вниз. Слова можуть бути розташовані у довільному порядку. Ім’я файлу та повний шлях до нього задаються під час запуску програми з командного рядка.

б) Створити файл, що містить відомості про кількість виробів, складених робітниками цеху протягом тижня. Інформація включає прізвище, ім'я та по батькові робітника, його розряд, кількість складених деталей за кожен день тижня. У другому файлі містяться розцінки за розрядами за кожну деталь, мінімальна кількість деталей та мінімальна зарплатня. Повний шлях до файлів задається користувачем з клавіатури.

Реалізувати функції, які виконують зчитування даних з файлів, виведення даних у файл, визначення зарплати кожного працівника (працівник отримує мінімальну зарплатню, якщо він за тиждень склав деталей менше ніж мінімальна допустима кількість деталей, або мінімальну зарплатню та додаткову оплату за кожну деталь, складену

урозмірі більше мінімального рівня) та середньої зарплати на підприємстві за тиждень, загальну кількість складених виробів, прізвище робітника, який склав найбільшу кількість виробів, і день тижня, в який була досягнута найбільша продуктивність праці. Дані функції мають бути реалізовані у окремому файлі програми та викликатись з іншого програмного файлу. Вибір функцій виконувати за допомогою меню.

2.3.2.25 Завдання для варіанта № 25:

а) Вивести всі коректні комбінації пар круглих дужок, які можна сформувати з n дужок, що закриваються і відкриваються. Кількість

87

дужок задається користувачем. Передбачити виділення необхідних функцій.

б) Інформація про торги на фондовому ринку міститься у файлі та представлена датою та часом, тікером цінних паперів (коротка назва), ціною відповідної угоди. У другому файлі міститься інформація про кожний цінний папір: тікер, назва підприємства, галузь, адреса. Назва та повний шлях до файлів задаються з командного рядка під час запуску програми.

Головна функція програми та функції завантаження даних з файлу і виведення даних у файл містяться у першому файлі програми,

ау другому – набір функцій, які виконують наступні дії:

визначення результатів торгів за кожний день для кожного цінного паперу (дата, тікер цінного паперу, ціна угод чотирьох типів: open (перша угода за день), high (найдорожча угода за день), low (найдешевша угода за день), close (остання угода за день)) та виведення отриманих даних у новий файл;

визначення середньої вартості кожного цінного паперу протягом кожного дня;

виведення інформації про цінний папір відповідного емітента разом з динамікою зміни середньої вартості протягом заданого користувачем інтервалу часу;

визначення середньої кількості угод на фондовому ринку протягом заданого інтервалу часу.

Робота користувача з програмою реалізована у вигляді меню. Через меню виконується додавання даних у файл. Зчитування даних виконувати на початку роботи програми.

2.3.2.26 Завдання для варіанта № 26:

а) Дано файл, який містить історію котирування акцій: тікер (коротка назва), дату та вартість акцій. Припустити, що розмір файлу може бути достатньо великим для завантаження всіх даних у пам’ять одночасно (до 10 Гб). Відсортувати дані в ньому за тікером (в алфавітному порядку) і за датою (для однакових тікерів) та сформувати другий файл.

б) Затверджені проекти будівництва в місті розміщені у файлі та включають назву об’єкту будівництва, адресу будівництва, назву будівельної компанії, дату початку будівництва, заплановану дату завершення будівництва, стан (будується, здано, заморожено тощо), заплановану вартість, поточну вартість.

88

Всі функції роботи з файлами даного формату мають бути представлені у окремому файлі. У ще один файл мають бути виділені функції, які забезпечують виконання наступних дій:

виведення інформації про всі об’єкти будівництва, будівництво яких триває на даний момент довше запланованого строку або триває та перевищує заплановану вартість (сортувати за датою початку будівництва);

визначення будівельних компаній, будівельні проекти яких було заморожено;

виведення інформації про кількість завершених та незавершених об’єктів будівництва кожної будівельної компанії (за алфавітом).

Передбачити можливість формувати файл з даними програмно,

атакож змінювати дані про існуючі у файлі об’єкти.

2.3.2.27 Завдання для варіанта № 27:

а) Дано n ящиків, розміри кожного з яких: wi – ширина, hi – висота, di – глибина. Відповідні дані представлені у файлі. Необхідно сформувати стос ящиків таким чином, щоб кожен нижній ящик був за висотою, шириною та глибиною більше ящика, розташованого на ньому. Вважати висоту стосу рівною сумі висот ящиків. Сформувати стос з найбільшою висотою. Припустити, що ящики не можна повертати. Виділити необхідні функції.

б) У файлі міститься інформація про роботу зі всіма додатками операційної системи: дата та час, назва додатку, рівень події (помилка, відкриття, закриття додатку), логін користувача. Адреса файлу задається під час запуску програми з командного рядка.

Реалізувати багатофайлову програму. Створити окремий файл для роботи з даними, що забезпечує виконання наступних функцій:

визначення додатків, робота з якими відбувалася найчастіше

уданого користувача (сортувати за популярністю)

визначення додатків, частота помилок яких найвища (співвідношення кількості помилок до сеансів);

визначення середньої тривалості роботи, кількості сеансів за останні місяці та кількості помилок при роботі з заданим додатком;

виведення інформації про події у набір файлів, кожний з яких має назву, що включає відповідну дату, та містить дані про події операційної системи за вказаний день.

89

Робота з програмою повинна виконуватись за допомогою меню. Передбачити додавання інформації про нові події до файлу користувачем.

2.3.2.28 Завдання для варіанта № 28:

а) У файлі міститься набір цілих чисел у десятковій системі числення. Виконати шифрування даних, виконуючи перетворення чисел у двійкову систему та заміну позицій бітів кожного числа. Спосіб заміни бітів задається другим файлом, що містить пари чисел, які позначають позиції бітів, які необхідно замінити між собою. У результаті сформувати третій файл. Аналогічно виконати дешифрування.

Користувач задає з командного рядка під час запуску шляхи до файлів і їх імена та режим роботи програми (шифрування чи дешифрування). Всі функції, необхідні для виконання шифрування винести у окремий файл проекту.

б) Інформація про відвідуваність сайту включає: адресу webсторінки, ip-адресу відвідувача, web-браузер відвідувача, дату і час візиту, час проведений на сторінці, web-сторінку, з якої було виконано перехід. Інформація зберігається у файлі, адреса якого вводиться користувачем з клавіатури під час роботи програми.

Передбачити виконання наступних функцій:

визначення популярності web-браузерів, які опрацьовують сторінки даного сайту (виконувати сортування за даним показником);

визначення частоти переходу з інших ресурсів на сторінки сайту (сортувати за даним показником, ресурсом вважати назву webсайту);

визначити ip-адреси, користувачі з якими відвідують webсайт найчастіше;

визначити середню популярність сторінок сайту протягом останнього місяця у розрізі за годинами (результати вивести у окремі файли, які відповідають кожній сторінці).

2.3.2.29 Завдання для варіанта № 29:

а) Промоделювати деяку гру. Гра відбувається на прямокутному полі. Гравець на початку розташовується у правому верхньому куті. Гравець вміє переміщуватися тільки вліво та вниз. Кожна клітинка поля має деяку кількість очок. Дані задані у вигляді файлу. Визначити спосіб переміщення з початкового положення гравця на вказану користувачем клітинку таким чином, щоб він призвів до отримання

90

найбільшої кількості очок (розраховується як сума очок, зібраних протягом всього шляху на кожній клітинці). Адреса файлу задається з клавіатури. Результати виводити також у файл.

б) Інформація про всі електронні повідомлення міститься у файлі та включає e-mail відправника, e-mail одержувача, дату та час відправлення, заголовок повідомлення, розмір повідомлення, короткий текст повідомлення, стан (прочитано чи ні). Ім’я файлу задається з командного рядка під час запуску програми.

Програма повинна дозволяти виконувати наступні функції, при чому відповідні програмні функції мають бути винесені у окремий файл програми:

виведення переліку надісланих та прочитаних повідомлень для даного користувача (окремо за групами та в кожній групі за часом відправлення);

пошук повідомлення за датою надсилання, e-mail’ом одержувача або відправника, темою повідомлення та виведення короткого тексту обраного повідомлення;

визначення повідомлень, які містять зазначені ключові слова (у заголовку або тексті) та перенесення їх у окремий файл.

На початку роботи програми має бути запитано e-mail користувача. Після того, як користувач прочитав повідомлення, його стан має змінюватися на відповідний.

Робота програми повинна бути реалізована у вигляді меню. За допомогою меню передбачити додавання нових повідомлень.

2.3.2.30 Завдання для варіанта № 30:

а) У текстовому файлі містяться дроби, записані у форматі «чисельник/знаменник». Сформувати другий текстовий файл, у якому кожний такий дріб залишити без змін, якщо він правильний нескоротний, або скоротити необхідним чином у протилежному випадку. Визначити всі функції, необхідні для реалізації зазначених дій, та виділити їх у окремий файл програми.

б) Proxy-сервер зберігає дані про доступ в Інтернет користувачів локальної мережі: ip-адресу користувача, логін користувача, адресу web-сторінки, дату та час візиту, завантажений обсяг даних. Адреса файлу задається з командного рядка під час запуску.

Функції, які реалізують наступну функціональність системи, виділити в окремий файл програми:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]