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

Лабораторна робота №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.