- •Лабораторні роботи з курсу “Обчислювальна техніка та програмування”
- •Лабораторна робота №1. Розрахунок таблиці функції
- •Хід виконання роботи:
- •Лабораторна робота №2. Обчислення визначеного інтегралу
- •Хід виконання роботи:
- •7. Підготувати звіт.
- •Алгоритми методів
- •Метод прямокутників:
- •Метод трапецій:
- •Метод Сімпсона (метод парабол):
- •Лабораторна робота №3. Розв'язання нелінійних рівнянь
- •Хід виконання роботи:
- •6. Підготувати звіт.
- •Методи розв’язку нелінійних рівнянь
- •Метод хорд
- •Метод половинного ділення
- •Метод Ньютона (метод дотичних)
- •Лабораторна робота №4. Робота з двовимірними масивами
- •Хід виконання роботи:
- •5. Підготувати звіт.
- •Завдання на обробку масивів:
- •Лабораторна робота №5. Робота із зовнішніми носіями інформації.
- •Хід виконання роботи:
- •6. Підготувати звіт.
- •Лабораторна робота №6 Програмування зовнішніх пристроїв
- •Хід виконання роботи
- •4. Підготувати звіт. Короткий опис інтерфейсу usb
- •Короткий опис функцій для роботи з мікросхемою ft245
- •Додаткові відомості
- •Завдання
Лабораторна робота №4. Робота з двовимірними масивами
Мета роботи: скласти програми для роботи з двовимірними масивами.
Хід виконання роботи:
1. Скласти алгоритм для кожної задачі обробки двовимірних масивів.
2. Написати програму обробки матриць (двовимірних масивів) дійсних чисел А та Б.
3. Налагодити програму (елементи масивів задавати шляхом ініціалізації).
4. Провести тестування програми та результати порівняти з обчисленими вручну.
5. Підготувати звіт.
Матриця А є квадратною, Б – прямокутною. Матриці задаються у вигляді динамічних масивів. Користувач задає розміри матриць (na – розміри масиву А; nb, mb – розміри масиву Б); в програмі виконується виділення пам’яті та обробка масивів розміром na×na та nb×mb.
В програмі необхідно реалізувати меню вибору задачі та пункт виходу. Кожен пункт обробки масивів оформити у вигляді окремих функцій, параметрами яких є відповідні матриці та їх розміри; сортування рядка матриці оформити у вигляді функції, що має два параметра: одновимірний масив (рядок матриці) та кількість елементів в масиві (рядку). Результат виконання функції знаходження максимального та мінімального елементів матриці А – значення елементів, інші функції не повертають значень. Перед початком обробки вивести на екран матрицю, що обробляється. Перед завершенням програми очистити виділену під масиви пам’ять.
Вхідні дані: константи na, nb та mb; елементи матриць (вводяться з клавіатури або задаються ініціалізацією – передбачити обидва варіанта за вибором користувача). Для перевірки та налагодження програми передбачити формування елементів масиву за простим формулам (наприклад, Аi,j=i+j).
Вихідні дані: матриці, що обробляються, та результати виконання пунктів завдання.
Завдання на обробку масивів:
1. Знайти максимальний елемент матриці А і його координати (нумерація елементів починається з нуля) та мінімальний з елементів, що знаходяться нижче головної діагоналі (див. приклад).
2. Транспонувати матрицю Б.
3. Знайти матричний добуток А×Б.
4. Відсортувати за зростанням елементи заданого з клавіатури рядка масиву А (індексація починається з нуля).
5. Вивести на екран суму елементів рядків матриці А та стовпців матриці Б.
Зміст звіту:
1. Мета роботи.
2. Алгоритм кожної задачі.
3. Введені з клавіатури значення та результати кожного пункту обробки масивів.
Для формування верхньої трикутної матриці (елементів матриці, що лежать вище головної діагоналі) можна використати, наприклад, такий фрагмент програми:
....
int i, j; /* лічильники рядків та стовбців */
float x[10][10]; /* матриця у вигляді статичного масиву */
....
for (i=0; i<10; i++)
{
for (j=i; j<10; j++) /* саме ця початкова умова задає „трикутність” */
{
x[i][j]=i+j; /* формування елементів матриці за формулою */
}
}
....
Лабораторна робота №5. Робота із зовнішніми носіями інформації.
Мета роботи: отримати навички роботи з текстовими та двійковими (бінарними) файлами в мові С, форматним та неформатним вводом-виводом.
Хід виконання роботи:
1. Ознайомитись з функціями форматного та неформатного виводу, відмінностями між текстовими та бінарними файлами.
2. Створити в будь-якому текстовому редакторі (наприклад, в редакторі "Блокнот") та зберегти під назвою input.dat текстовий файл, записавши в нього в окремих рядках:
а) назву групи та номер бригади;
б) початкове значення аргумента;
в) кінцеве значення аргумента;
г) кількість точок, в яких обчислюється значення функції;
д) крок аргумента.
3. Вивести кількість точок таблиці та таблицю функції (див. лабораторну роботу №1) в двійковий та текстовий файли з назвами result.bin і result.txt відповідно, причому в першому випадку здійснити неформатний вивід (використовуючи, наприклад, функцію fwrite()), а в другому – форматний (наприклад, за допомогою функції fprintf()).
4. Прочитати дані з бінарного файла result.bin та вивести таблицю на екран.
5. Порівняти розміри файлів result.bin, result.txt та можливість продивитись їх зміст в текстовому редакторі. Зробити висновки.