Програмування С, С++теорія та практика (частина 2)
Завдання :
І. Контейнерний клас описує та забезпечує набір дій над даними параметризованого масиву, розмірність якого визначається під час роботи програми. Усі обчислення та перетворення повинні бути реалізовані у вигляді функцій-члені класу.
Варіант 1
В масиві обчислити:
• номер елемента масиву, найближчого до середньоарифметичного його значень;
• різниця елементів масиву, що розташовані між першим від'ємним та другим додатним елементами.
Перетворити масив таким чином, щоб в його першій половині розташовувались елементи, що стоять в парних позиціях, а в другій половині - елементи, що стоять в непарних позиціях.
Варіант 2
Дана прямокутна матриця. Визначити:
• кількість від'ємних елементів в тих рядках, які містять хоча б один нульовий елемент;
• суму модулів елементів, які розташовані після першого додатного елемента
Впорядкувати елементи матриці за спаданням модулів елементів
Варіант 3
У довільній матриці обчислити:
• кількість елементів масиву, рівних нулю;
• суму елементів масиву, які лежать в діапазоні від А до В.
Впорядкувати елементи масиву за спаданням модулів елементів
Варіант 4
В одновимірному масиві елементів, обчислити:
• номер максимального за модулем елемента;
• суму модулів елементів, які розташовані після першого додатного елемента.
Перетворити масив таким чином, щоб спочатку розташовувались всі елементи, ціла частина яких лежить в інтервалі [а,Ь], а потім - всі інші
Варіант 5
В масиві обчислити:
• мінімальний за модулем елемент масиву;
• суму модулів елементів, які розташовані після першого від’ємного елемента.
Стиснути масив, видаливши з нього всі елементи, величина яких знаходиться на інтервалі [а,Ь]. Місце, яке звільниться в кінці масиву заповнити символом чи числом з клавіатури.
Варіант 6
В масиві обчислити:
• мінімальний за модулем елемент масиву;
• суму модулів елементів масиву, розташованих після першого елемента, рівного нулю.
Перетворити масив таким чином, щоб в першій його половині розташовувались елементи, що стоять на парних позиціях, а в другій половині - елементи, що стоять в непарних позиціях.
Варіант 7
У матриці обчислити:
• максимальний за модулем елемент масиву;
• суму елементів масиву, що розташовані між першим і другим додатними елементами.
Перетворити матрицю таким чином, щоб всі елементи, рівні нулю, розташовувались після всіх інших.
Варіант 8
Дана прямокутна матриця. Визначити:
• кількість рядків, які не містять жодного нульового елемента;
• максимальне із чисел, що зустрічається в заданій матриці більше одного разу
Перетворити матрицю таким чином, щоб всі елементи, рівні нулю, розташовувались на початку всіх інших.
Варіант 9
Дана прямокутна матриця. Визначити:
• кількість стовпців, які не містять жодного нульового елемента.
• кількість елементів, менших за а , але більших Ь.
Переставляючи рядки заданої матриці, розташувати їх у
відповідності із зростанням суми значень у стовпцях.
Варіант 10
В одномірному масиві обчислити:
• добуток елементів масиву з парними номерами;
• суму елементів масиву, які розташовані між першим і останнім нульовими елементами.
Впорядкувати масив таким чином, щоб спочатку розташовувались всі додатні елементи, а потім - всі від’ємні (елементи, рівні 0 вважати додатними).
Варіант 11
Дана прямокутна матриця. Визначити :
• кількість стовпців, які містять хоча б один нульовий елемент;
• номер рядка, в якому знаходиться найдовша серія з однакових елементів.
Впорядкувати масив таким чином, щоб спочатку розташовувались всі серії з однакових елементів, а потім - всі решта елементів.
Варіант 12
В одномірному масиві, що складається з N дійсних елементів, обчислити:
• суму елементів масиву з непарними елементами;
• суму елементів масиву, які розташовані між першим і останнім від’ємними елементами.
Перетворити масив, видаливши з нього всі елементи, модуль яких не перевищує число, що вводиться з клавіатури. Елементи, які звільняться в кінці масиву заповнити нулями.
Варіант 13
Дана прямокутна матриця. Визначити :
• добуток елементів в тих рядках, які не містять від'ємних елементів;
• максимум серед сум елементів діагоналей, паралельних головній діагоналі матриці.
Перетворити матрицю, видаливши з неї всі елементи, модуль яких не перевищує число, що вводиться з клавіатури. Елементи, які звільняться в кінці масиву, заповнити нулями.
Варіант 14
В одномірному масиві, що складається з N дійсних елементів, обчислити:
• максимальний елемент масиву;
• суму елементів масиву, що розташовані до останнього додатного елемента.
Перетворити масив, видаливши з нього всі елементи, модуль яких знаходиться в інтервалі [а,Ь]. Елементи, які звільняються в кінці масиву заповнити нулями.
Варіант 15
Дана прямокутна матриця. Визначити :
• суму елементів в тих стовпцях, які не містять від'ємних елементів;
• мінімум серед сум модулів елементів діагоналей, паралельних побічній діагоналі матриці.
Перетворити матрицю таким чином, щоб всі елементи, що дорівнюють символу, що вводиться з клавіатури, розташовувались на початку всіх інших.
ІІ. Реалізувати контейнерний клас та необхідні функції- маніпулятори над його елементами.
Варіант 1
Описати параметризований клас стеку, що моделює роботу звичайного калькулятора з основними арифметичними діями. Для ілюстрації його роботи використайте постфіксну нотацію у формі "операнд-операнд-оператор". Протестуйте роботу даного калькулятору для різних типів операндів.
Варіант 2
Описати клас, що реалізує бінарне дерево, передбачити можливість додавання нових елементів, видалення існуючих, пошуку елемента за ключем, а також послідовного доступу до всіх елементів.
Написати програму, що використовує цей клас для представлення англо-російського словника. Програма повинна містити меню, що дозволяє здійснити перевірку всіх методів класу. Передбачити можливість формування словника з файлу і з клавіатури.
Варіант 3
Описати клас, що реалізує стек. Написати програму, що використовує цей клас для відшукання проходу по лабіринті.
Лабіринт представляється у виді матриці, що складає з квадратів. Кожен квадрат або відкритий, або закритий. Вхід у закритий квадрат заборонений. Якщо квадрат відкритий, то вхід у нього можливий з боку, але не з кута. Кожен квадрат визначається його координатами в матриці. Після відшукання проходу програма друкує знайдений шлях у виді координат квадратів.
Варіант 4
Описати клас „предметний покажчик”. Кожен компонент покажчика містить слово і номери сторінок, на яких це слово зустрічається. Кількість номерів сторінок, що відносяться до одного слова, від одного до десяти. Передбачити можливість формування покажчика з клавіатури і з файлу, висновку покажчика, висновку номерів сторінок для заданого слова, видалення елемента з покажчика.
Написати програму, що демонструє роботу з цим класом. Програма повинна містити меню, що дозволяє здійснити перевірку всіх методів класу.
Варіант 5
Описати параметризований клас стеку, що моделює роботу звичайного калькулятора з основними арифметичними діями. Для його ілюстрації його роботи використайте інфіксну нотацію у формі "операнд-оператор-операнд". Протестуйте роботу даного калькулятору для різних типів операндів.
Варіант 6
Описати клас "гаражна стоянка", що має одну лінію для стоянки автомашин. В'їзд та виїзд відбувається з різних кінців лінії. Моделювання виїзду машини з автопарку відбувається так, що техніка, яка заважає виїзду, вилучається, а потім, після виведення потрібного авто зі стоянки, повертається на місце у тому ж порядку слідування. Програма повинна виводити повідомлення про прибуття та виїзд будь- якої машини, видавати довідку про наявність конкретної машини в гаражі та відображати стан лінії для стоянки машин у поточний момент.
Варіант 7
Описати клас "черга у крамниці", що має одну лінію черги довжиною не більше певного значення, що ініціалізується у програмі. Вилучення та додавання відбувається за правилами лінійного списку "черга". Проведіть моделювання процесу черги, передбачивши такі події, як відкриття магазину, перерву на обід та відновлення роботи по його закінченню, кінець роботи та здача каси. Програма повинна виводити повідомлення про нового споживача, що стає у чергу, та про обслуговування особи, що залишає чергу, вказуючи грошовий вираз суми операції останнім. Потрібно постійно відображати стан черги у поточний момент.
Додаткове завдання. Реалізуйте успадкування класу, що реалізує пріоритетну чергу. При додаванні елемента у таку чергу порядковий номер елемента повинен визначатися його пріоритетом.
Варіант 8
Описати клас "гаражна стоянка", що має одну лінію для стоянки автомашин. В'їзд та виїзд відбувається з одного кінця лінії. Моделювання виїзду машини з автопарку відбувається так, що техніка, яка заважає виїзду, вилучається, а потім, після виведення потрібного авто зі стоянки, повертається на місце у тому ж порядку слідування. Програма повинна виводити повідомлення про прибуття та виїзд будь- якої машини, видавати довідку про наявність конкретної машини в гаражі та відображати стан лінії для стоянки машин у поточний момент.
Варіант 9
Описати клас, що реалізує стек. Написати програму, що використовує цей клас для моделювання Т-образного сортувального вузла на залізниці. Програма повинна розділяти на два напрямки склад, що складається з вагонів двох типів (на кожен напрямок формується склад з вагонів одного типу). Передбачити можливість формування складу з файлу і з клавіатури.
Варіант 10
Написати програму, що містить поточну інформацію про книги в бібліотеці. Зведення про книги містять: номер УДК; прізвище і ініціали автора; назва; рік видання; кількість екземплярів даної книги в бібліотеці. Програма повинна забезпечувати:
• початкове формування даних про всі книги в бібліотеці у виді списку;
• при взятті кожної книги вводиться номер УДК, і програма зменшує значення кількості книг на одиницю чи видає повідомлення про те, що необхідної книги в бібліотеці немає, чи необхідна книга знаходиться на руках;
• при поверненні кожної книги вводиться номер УДК, і програма збільшує значення кількості книг на одиницю;
• по запиту видаються зведення про наявність книг у бібліотеці.
Варіант 11
Текст допомоги для деякої програми організований як лінійний список. Кожен компонент тексту допомоги містить термін (слово) і текст, що містить пояснення до цього терміну. Кількість рядків тексту, що відносяться до одного терміна, коливається від однієї до п'яти. Скласти програму, що забезпечує:
• початкове формування тексту допомоги;
• виведення тексту допомоги;
• виведення тексту, що пояснює заданий термін.
Програма повинна забезпечувати діалог за допомогою меню і контроль помилок при введенні.
Варіант 12
У файловій системі каталог файлів організований як лінійний список. Для кожного файлу в каталозі міститься наступна інформація: ім'я файла; дата створення; кількість звертань до файла. Скласти програму, що забезпечує:
• початкове формування каталогу файлів;
• виведення каталогу файлів;
• видалення файлів, дата створення яких менше заданої;
• вибірку файла за найбільшою кількістю звертань.
Варіант 13
На міжміській телефонній станції картотека абонентів, що містить інформацію про телефони і їхніх власників, організована як бінарне дерево. Скласти програму, що:
• забезпечує початкове формування картотеки у вигляді бінарного дерева;
• робить виведення усієї картотеки;
• вводить помер телефону і час розмови;
• виводить повідомлення на оплату телефонної розмови. Програма повинна забезпечувати діалог за допомогою меню і контроль помилок при введенні.
Варіант 14
Текст допомоги для деякої програми організований як лінійний список. Кожен компонент тексту допомоги містить термін (слово) і текст, що містить пояснення до цього терміну. Кількість рядків тексту, що відносяться до одного терміна, коливається від однієї до п'яти. Скласти програму, що забезпечує:
• початкове формування тексту допомоги;
• виведення тексту допомоги;
• виведення тексту, що пояснює заданий термін.
Програма повинна забезпечувати діалог за допомогою меню і контроль помилок при введенні.
Варіант 15
Англо-український словник побудований як бінарне дерево. Кожен компонент містить англійське слово, якому відповідає українське слово
і лічильник кількості звертань до даного компонента. Первісне дерево формується відповідно до англійського алфавіту. У процесі експлуатації словника при кожному звертанні до компонента в лічильник звертань додаватиметься одиниця. Скласти програму, що:
• забезпечує початкове введення словника з конкретними значеннями лічильників звертань;
• формує нове представлення словника у вигляді бінарного дерева за наступним алгоритмом:
а). у старому словнику шукається компонент із найбільшим значенням лічильника звертань;
б). знайдений компонент заноситься в новий словник і видаляється зі старого;
в). перехід до п. а) до вичерпання вихідного словника;
• робить виведення вихідного і нового словників.
Програма повинна забезпечувати діалог за допомогою меню і контроль помилок при введенні.
12 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
Схожі підручники
- Методичні вказівки до виконання розрахункової роботи з дисципліни «Системи промислових технологій в галузях економіки»
- Тема 11. ФОРМИ, ВИДИ І РОЛЬ КРЕДИТУ
- ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 10) онлайн
- Українська мова за професійним спрямуванням. Навчальний посібник (частина 3)
- ЗМІСТ НАВЧАЛЬНОЇ ДИСЦИПЛІНИ ЗА ЗМІСТОВИМИ МОДУЛЯМИ
- Белая книга (частина 1) (онлайн)
