Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні роботи(інф) ІІ семестр.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
303.62 Кб
Скачать

Лабораторна робота №4

Тема: Посилання. Вказівники та посилання як параметри та результати функцій.

Контрольні запитання:

  1. Означення посилання Оголошення посилання та ініціалізація.

  2. Чи можна змінити посилання(спрямувати на інше дане)?

  3. Порівняйте вказівник та посилання.

  4. Передача параметрів у функції за значенням.

  5. Передача параметрів у функції за посиланням( у С та С++).

  6. Напишіть функцію обміну значеннями двох змінних за допомогою вказівників. Напишіть відповідний оператор виклику функції.

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

Завдання 1. Написати функцію(чи шаблон), яка отримує 2 вказівники на змінні і виконує обмін значеннями між змінними. Перевірити роботу функції для двох змінних.

Варіанти:

    1. За допомогою функції поміняти місцями стовпці матриці, вказані користувачем.

    2. За допомогою функції поміняти місцями у одновимірному масиві перший елемент з другим, третій з четвертим і т. д

    3. За допомогою функції обернути одновимірний масив.

    4. За допомогою функції поміняти місцями перший та останній стовпці матриці.

    5. За допомогою функції поміняти місцями дві половини одновимірного масиву.

    6. За допомогою функції поміняти місцями перший та останній рядки матриці.

    7. За допомогою функції поміняти місцями перший та другий рядки матриці.

    8. За допомогою функції поміняти місцями діагоналі квадратної матриці.

    9. За допомогою функції поміняти місцями кожні два сусідні рядки матриці.

    10. За допомогою функції поміняти місцями кожні два сусідні стовпці матриці.

    11. За допомогою функції обернути матрицю по рядках.

    12. За допомогою функції обернути матрицю по стовпцях.

Завдання 2. Написати функцію для розв’язування квадратного рівняння.

а) Функція отримує коефіціенти квадратного рівняння та вказівники на змінні, у яких потрібно розмістити корені рівняння. Функція повертає кількість коренів рівняння. Перевірити роботу функції.

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

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

а) Вивести на екран менше з двох введених чисел

б) Збільшити на 10 менше число.

Завдання 4. Виконати завдання 3 за допомогою посилань.

Лабораторна робота № 5 Тема: Вказівники на функції. Масиви вказівників на функції. Функції з довільним числом параметрів.

Завдання 1. Описати функції згідно варіанту. Описати вказівник на функцію для демонстрації непрямого виклику тої чи іншої функції.

Варіанти:

Варіант

Функції

sin x, cos x, tg x

Перевід градусів у радіани,

перевід радіанів у градуси

ex , x2, x3

n!, 1/n, ln x

ctg x, , |x|

Перевід грошових одиниць:

грн. → евро, грн. → долари,

грн. → рублі

Перевід одиниць довжини:

см → м, см → дм, см → м

Обчислення площі круга, довжини кола, об’єму сфери за радіусом

logab, xy, cos x + sin y

arcsin x, arcos x, arctg x

Перевід одиниць довжини:

м → см, м → дм, м → км

, sinyx, cosyx

Перевід одиниць довжини:

Дюйми → см, см → дюйми,

См → мм

Обчислення периметра трикутника, площі трикутника за 3-ма сторонами, площі паралелограма за двома сторонами і діагоналлю.

Перевід одиниць ваги:

г → кг, кг → г, кг → т, кг → ц

Завдання 2. Написати програму - меню з використанням функцій з попереднього завдання..

Вимоги до завдання:

  • При реалізації меню використати масив вказівників на функції. У масиві розмістити імена функцій згідно варіанту завдання 1

Варіанти:

  1. Написати програму-меню для обчислення значень функцій sin x, cos x, tg x для заданого аргумента.

  2. Написати програму-меню для переводу градусів у радіани та навпаки.

  3. Написати програму-меню для обчислення значень функцій ex , x2, x3.

  4. Написати програму-меню для обчислення значень функцій n!, 1/n, ln x.

  5. Написати програму-меню для обчислення значень функцій ctg x, , |x|.

  6. Написати програму-меню для переводу грошових одиниць грн. → евро, грн. → долари, грн. → рублі

  7. Написати програму-меню для переводу одиниць довжини: см → м, см → дм, см → м.

  8. Написати програму-меню для обчислення значень площі круга, довжини кола та об’єму сфери за заданим радіусом.

  9. Написати програму-меню для обчислення значень logab, xy, cos x + sin y.

  10. Написати програму-меню для обчислення значень функцій arcsin x, arcos x, arctg x по введеному аргументу.

  11. Написати програму-меню для переводу одиниць довжини: м → см, м → дм, м → км.

  12. Написати програму-меню для обчислення значень функцій , sinyx, cosyx для заданих x, y.

  13. Написати програму-меню для переводу одиниць довжини: дюйми → см, см → дюйми, см → мм.

  14. Написати програму-меню для обчислення периметра трикутника, площі трикутника за 3-ма сторонами, площі паралелограма за двома сторонами і діагоналлю .

  15. Написати програму-меню для переводу одиниць ваги: г → кг, кг → г, кг → т, кг → ц

Завдання 3*. Написати програму.

Вимоги до завдання:

  • описати функцію згідно завдання, одним із параметрів функції має бути вказівник на функцію одного аргумента.

Варіанти:

  1. Написати функцію для виведення таблиці значень функції на заданому проміжку [a,b] із заданим кроком h та знаходження середнього значення функції на цьому проміжку. Функція отримує в якості параметрів межі проміжка(a, b), крок (h) для табулювання функції та адресу функції. Протестувати роботу функції для функцій sin x, cos x.

  2. Написати функцію для обчислення наближеного значення методом трапецій. Функція отримує в якості параметрів межі проміжку інтегрування (a, b) та підінтегральну функцію. Протестувати роботу функції для функцій x3, 1/x.

  3. Написати функцію для виведення таблиці значень функції на заданому проміжку [a,b] із заданим кроком h та знаходження максимального значення функції на цьому проміжку. Функція отримує в якості параметрів межі проміжка(a, b), крок (h) для табулювання функції та адресу функції. Протестувати роботу функції для функцій e2x , x2+1.

  4. Написати функцію для виведення таблиці значень площі круга чи довжини кола для кіл з радіусами із вказаного проміжку [r1,r2] із заданим кроком h. Функція отримує в якості параметрів межі проміжка (r1, r2), крок (h) та адресу функції обчислення площі круга чи довжини кола. Протестувати роботу функції.

  5. Написати функцію для виведення таблиці значень функції на заданому проміжку [a,b] із заданим кроком h та знаходження мінімального значення функції на цьому проміжку. Функція отримує в якості параметрів межі проміжка (a, b), крок (h) для табулювання функції та адресу функції. Протестувати роботу функції для функцій ctg x, cos x + sin x.

  6. Написати функцію для виведення таблиці значень площі поверхні куба чи об’єму куба зі стороною із вказаного проміжку [а1,а2] із заданим кроком h. Функція отримує в якості параметрів межі проміжка (а1, а2), крок (h) та адресу функції обчислення площі поверхні чи об’єму паралелепіпеда Протестувати роботу функції.

  7. Написати функцію для обчислення наближеного значення методом лівих прямокутників. Функція отримує в якості параметрів межі проміжку інтегрування (a, b) та підінтегральну функцію. Протестувати роботу функції для функцій ex , x2.

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

  9. Написати функцію для обчислення наближеного значення методом правих прямокутників. Функція отримує в якості параметрів межі проміжку інтегрування (a, b) та підінтегральну функцію. Протестувати роботу функції для функцій sin x, cos x.

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

  11. Написати функцію для обчислення наближеного значення методом центральних прямокутників. Функція отримує в якості параметрів межі проміжку інтегрування (a, b) та підінтегральну функцію. Протестувати роботу функції для функцій x3, 1/x.

  12. Написати функцію для виведення таблиці значень функції на заданому проміжку [a,b] із заданим кроком h та знаходження значення функції, найближчого до середнього значення функції на цьому проміжку. Функція отримує в якості параметрів межі проміжку (a, b), крок (h) для табулювання функції та адресу функції. Протестувати роботу функції для функцій tg x, cos x · sin x.

  13. Написати функцію для виведення таблиці значень площі чи периметра рівностороннього трикутника зі сторонами із вказаного проміжку [а1,а2] із заданим кроком h. Функція отримує в якості параметрів межі проміжку (а1, а2), крок (h) та адресу функції обчислення площі чи периметра трикутника.

  14. Написати функцію для обчислення наближеного значення методом трапецій. Функція отримує в якості параметрів межі проміжку інтегрування (a, b) та підінтегральну функцію. Протестувати роботу функції для функцій (x+1)3, 1/x2.

  15. Написати функцію для обчислення наближеного значення методом Сімпсона. Функція отримує в якості параметрів межі проміжку інтегрування (a, b) та підінтегральну функцію. Протестувати роботу функції для функцій 1/ x, x2+x+3.

Завдання 4. Написати та протестувати функцію(шаблон функції) з змінним числом параметрів.

Варіанти:

  1. Написати функцію зі змінним числом параметрів, яка обчислює суму квадратів своїх параметрів. Ознака завершення списку параметрів – число 0.

  2. Написати функцію зі змінним числом параметрів, яка обчислює найменше за модулем значення.

  3. Написати функцію зі змінним числом параметрів, яка обчислює суму a1a2 + a2a3 + an-1an.

  4. Написати функцію зі змінним числом параметрів, яка обчислює добуток (a1+a2 ) (a2+a3) …(an-1+an). Першим параметром функції є кількість параметрів n.

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

  6. Написати функцію зі змінним числом параметрів, яка обчислює суму коренів своїх параметрів. Ознака завершення списку параметрів – число 0.

  7. Написати функцію зі змінним числом параметрів, яка обчислює суму a1+2a2 + 3a3+ …+ nan. Першим параметром функції є кількість параметрів n.

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

  9. Написати функцію зі змінним числом параметрів, яка обчислює найбільше значення із a1a2, a2a3, … an-1an. Першим параметром функції є кількість параметрів n

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

  11. . Написати функцію зі змінним числом параметрів, яка отримує радіуси двох кіл, координати точок на площині та виводить координати тих точок, які потрапляють кільце, складене з двох кіл(центри кіл – початок координат).