- •Міністерство освіти і науки україни
- •1 Зміст та оформлення лабораторної роботи
- •2 Теми лабораторних робот
- •3 Варіанти завдань до лабораторних робот
- •Лабораторна робота 1
- •Лабораторна робота 2 Побудова класів та їх використання
- •Лабораторна робота 3 Динамічні класові типи
- •Лабораторна робота 4 Перевантаження операцій
- •Лабораторна робота 5 Введення/виведення потоками, робота з файлами, створення нових потокових операцій
- •Лабораторна робота 6 Функції та класи з шаблонами
- •Лабораторна робота 7 Успадкування, атрибути доступу та віртуальні функції
- •Лабораторна робота 8 Обробка надзвичайних ситуацій
- •4 Довідкова інформація
- •4.1 Запис текстів програм. Стандарт знту-2003
- •5 Література
- •Запорізький національний технічний університет
- •Застосування конструкторів і деструкторів у класах
2 Теми лабораторних робот
Теми лабораторних робот охоплюють матеріал другої частини курсу "Програмування" (3 семестр).
1. Динамічний розподіл пам'яті, покажчики та посилання
2. Побудова класів та їх використання
3. Динамічні класові типи
4. Перевантаження операцій
5. Введення/ виведення потоками, робота з файлами, створення нових потокових операцій
6. Функції та класи з шаблонами
7. Успадкування, атрибути доступу та віртуальні функції
8. Обробка надзвичайних ситуацій
3 Варіанти завдань до лабораторних робот
Нижче наведено теми лабораторних робот і завдання до кожної з них.
Лабораторна робота 1
Динамічний розподіл пам'яті, покажчики та посилання
Варіант 1
Надана група паралельно з’єднаних резисторів. Кількість резисторів та опір кожного з них відомі. Створити програму, що обчислює загальний опір групи резисторів і долю теплової потужності (у відсотках), що виділяється кожним резистором. Для збереження величин опору резисторів застосувати динамічний масив. Для програмування операцій введення/виведення застосувати бібліотечні функції, такі як scanf та printf, або потокові операції.
Нижче наведені робочі формули для розрахунків.
Загальний опір Rгрупи резисторівr1, r2, ... ,rN:
.
Доля теплової потужності, що виділяється k-тим резистором:
.
Варіант 2
Надано список виборців, елементом якого є прізвище виборця та його ініціали. Розмір списку наперед не відомий. Вважати, що довжина прізвища виборця не перевищує 80 літерів. Створити програму упорядкування списку по алфавіту. Для обробки списку застосувати динамічний масив. Список виборців знаходиться у файлі з іменем 'Voter_1.txt', упорядкований список розташувати у файлі 'Voter_2.txt'.
Варіант 3
Створити функції, які повертають значення машинної похибки та розмір (у бітах) мантиси бінарного коду для дійсних типів float, double, long double. Виконати дослідження машинної похибки, встановити розмір мантиси бінарного коду, який відповідає кожному з вказаних типів.
Машинна похибка визначається як найбільше число , для якого результат виконання операції додавання 1+дає значення 1.
Варіант 4
Створити функції, які дозволяють створювати та знищувати одновимірні динамічні масиви з наданим ім’ям. Передбачити контроль успішності виділення пам’яті при створенні масиву. Тип елемента масиву: char, char*, float.
Варіант 5
Створити функцію сортування (впорядковування) одновимірного масиву. Тип елементу масива обрати самостійно. Передбачити параметр функції, який дає змогу виконувати впорядковування елементів масиву: а) по збільшенню значень елементів; б) по зменшенню.
Варіант 6
Написати функцію, яка створює копію двовимірного динамічного масиву з наданим ім’ям. Тип елемента масиву обрати самостійно.
Варіант 7
Створити функцію, яка знаходить найбільший і найменший елементи одновимірного масиву водночас. Тип елемента масиву обрати самостійно.
Варіант 8
Створити функцію, яка створює одновимірний динамічний масив таким чином, що він є конкатенацією (тобто отриманий з’єднанням) двох заданих масивів одного типу. Тип елемента масиву обрати самостійно.
Варіант 9
Надана прямокутна матриця А розміром NM. Створити функцію, яка знаходить сідлові точки матриці. Сідлові точки - це елементи матриці, які визначаються таким чином:
мінімаксна сідлова точка:
;
максимінна сідлова точка:
.
Тип елемента матриці обрати самостійно. Написати програму, що демонструє правильну роботу створеної функції.
Варіант 10
Надана прямокутна матриця з елементами дійсного типу розміром NM. Створити функцію, яка дозволяє отримати транспоновану матрицю. Написати програму, що демонструє правильну роботу створеної функції.
Транспонована матриця буде мати розмір MN, елементи її отримуються за правилом:
ATik=Aki,
де А надана матриця, AT транспонована.
Варіант 11
Надана прямокутна матриця А з розміром NM та матриця В з розміром MP.Створити функцію множення матриць. Вважати, що матриці мають дійсний тип, конкретно тип обрати самостійно.
Створити програму для тестування створеної функції.
Вказівка
Якщо матриця С є добуток матриць А і В, то її елементи обчислюються за таким правилом:
.
Якщо матриці А і В мають розміри NMі MP, то матриця С буде мати розміри NP.
Варіант 12
Написати програму для дослідження якості системного генератора випадкових чисел функції random. Передбачити у програмі такі етапи:
отримання серію випадкови чисел з кількістю N і з інтервалу[0,M];
обчислити функцію розподілення віпадкових чисел на інтервалі [0,M];
побудувати графік функції розподілення за допомогою програми MicrosoftExel.
