Ім'я файлу: лр_8.doc
Розширення: doc
Розмір: 101кб.
Дата: 29.10.2021
скачати

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

Функції. Передача параметрів за значенням
Короткі теоретичні відомості
Визначення функцій

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

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

ПРИКЛАД

Прототип функції
int plus(int, int);
Приклад опису функції

int plus(int a, int b)

{

int c;

c = a + b;

return c;

}


Тип результату

Імя функції


Вхідні параметри

ЗАГОЛОВОК ФУНКЦІЇ

int

plus

(int a, int b)

{

return a + b;

}




тіло функції

Функція повертає суму значень a і b

Приклад виклику функції

int c=1, d=2, f;

f = plus(c,d);





Ім’я

функції


Фактичні значення параметрів

f =

plus

(c,d);


Функція повертає суму c + d. Результат зберігається в змінній f


Приклад 1. Програма для арифметичних обчислень

int plus(int, int);

int minus(int, int);

int multiply(int, int);
//Головна функція програми

int main()

{

int a=1, b=2,c,d,e;

c = plus(a,b);

d = minus(a,b);

e = multiply(a,b);

return 0;

}

//Функції користувача

int plus(int a, int b)

{

int c;

c = a + b;

return c;

}

int minus(int a, int b)

{

int c;

c = a - b;

return c;

}

int multiply(int a, int b)

{

int c;

c = a * b;

return c;

}


Приклад 2. Скорочений варіант приграми для арифметичних обчислень

int plus(int, int);

int minus(int, int);

int multiply(int, int);
//Головна функція програми

int main()

{

int a=1, b=2, c, d, e;

c = plus(a,b);

d = minus(a,b);

e = multiply(a,b);

return 0;

}

//Функції користувача

int plus(int a, int b)

{

return a + b;

}

int minus(int a, int b)

{

return a - b;

}

int multiply(int a, int b)

{

return a * b;

}


Приклад розвязку задачі
Знайти значення функції


#include

#include

#include "windows.h"
using namespace std;
float Sum(int, int);
float Sum(int a, int n)

{

int sum = 0;

for (int i = 1; i < 6; i++)

{

sum = sum + pow(2, i) * a;

}

float y;

y = 3.56 + sum;

return y;

}
int main()

{

int a, n = 5;

cout << "Enter a =";

cin >> a;

float rez;

rez = Sum(a, n);

cout << setw(10) << setprecision(3) << "Y= " << rez << endl;

}


Запуск програми F5.

ЗАВДАННЯ ДЛЯ САМОСТІЙНОЇ РОБОТИ


  1. Скласти програму розв’язку задачі у середовищі Visual Studio

  2. Протопити функцій мають бути розташовані в файлі заголовків *.h

  3. Реалізація функцій має бути розташована у додатковому файлі *.cpp

  4. У головному файлі (файлі, який містить функцію main) розміщений лише виклик описаних функцій.

  5. Формат функції main (див. файл ЛР_8_приклад)


Варіанти завдань:

Завдання 1

Описати дві функції для розрахунку завдання 2 лр. №4 (враховуючи О.Д.З.). Функції повертають результат обрахунку математичних виразів. Вхідними аргументами є значення невідомих.

№ вар = вар. за списком +5
Завдання 2

Описати третю функцію: вхідні аргументи – результ, що повертають розроблені у завданні 1 функції – значення А і B. Число А має цілий тип.


вар.

Описати функцію, яка повертає



середньо арифметичне значення чисел А і B



результат виконання виразу



остачу від ділення більшого числа на менше



найменше з двох значень



результат виконання виразу



результат цілочисельного ділення А / B



суму розрядів числа А



результат виконання виразу



суму старших розрядів чисел А і B



цілу частину добутку А і B



результат виконання виразу



результат виконання умови А > B



найменше ціле, що більше за число В



добуток розрядів числа А



результат виконання виразу



максимальне із розрядів числа А (число 157 – результат 7)



результат виконання умови А > B



дробову частину різниці чисел А і B



суму перших трьох розрядів дробової частини числа В



добуток старшого та молодшого розрядів числа А



кількість десятих числа B



результат виконання виразу



мінімальне із розрядів числа А (число 157 – результат 1)



найбільше з двох значень



результат виконання умови А ≤ B



найбільше ціле, що менше за число В



середньо геометричне значення чисел А і B



кількість сотих суми чисел А і B



результат виконання виразу



добуток сотих і десятих числа В



результат виконання умови: чи є число А паліндромом



результат виконання виразу



результат виконання умови А або B позитивні числа



результат виконання виразу



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


  1. Який синтаксис має протип функції? Приклад

  2. Який синтаксис має опис функції? Приклад

  3. Який синтаксис має виклик функції? Приклад

  4. Чи є обв‘язковою наявніть прототипу функції?

  5. Що таке параметри функції та чим вони відрізняються від аргументів?

  6. Яке правило діє при оголошенні функції, параметри якої мають значення за замовчуванням?

  7. Яке правило діє при виклику функції, параметри якої мають значення за замовчуванням?

скачати

© Усі права захищені
написати до нас