Розуміння функцій у C++
Ласкаво просимо до 4-го епізоду “Навчання програмуванню крок за кроком з використанням C++.” У цьому епізоді ми розглянемо одну з найважливіших концепцій програмування — функції. Функції дозволяють розділяти код на менші, багаторазово використовувані блоки, що робить програми більш модульними, зрозумілими та ефективними.
Що таке функції?
Функція — це блок коду, призначений для виконання конкретного завдання. Після створення функції, її можна викликати (або виконати) кілька разів у програмі.
Чому використовувати функції?
- Повторне використання: Напишіть код один раз і використовуйте його кілька разів.
- Модульність: Розділяє програму на керовані секції.
- Покращена читаність: Зробить код легшим для розуміння та підтримки.
Структура функції в C++
Функція зазвичай складається з двох частин:
- Оголошення функції (Прототип): Повідомляє компілятору про ім'я функції, тип її повернення та параметри.
- Визначення функції: Містить фактичний код функції.
- Виклик функції: Виконує функцію.
Синтаксис:
return_type function_name(parameter_list) {
// Код для виконання
return value; // Необов'язково, залежно від return_type
}
Типи функцій в C++
- Вбудовані функції: Визначені в бібліотеках (наприклад,
sqrt()
,pow()
). - Користувацькі функції: Створені програмістами.
Приклад: Проста користувацька функція
Створимо функцію для додавання двох чисел.
#include
using namespace std;
// Оголошення функції
int addNumbers(int a, int b);
int main() {
int num1, num2;
cout << "Enter two numbers: ";
cin >> num1 >> num2;
// Виклик функції
int result = addNumbers(num1, num2);
cout << "The sum is: " << result << endl;
return 0;
}
// Визначення функції
int addNumbers(int a, int b) {
return a + b; // Повертає суму
}
Ключові концепції у функціях
1. Тип повернення
Тип значення, яке функція повертає.
int
: Повертає ціле число.void
: Не повертає значення.- Інші типи:
float
,double
,char
тощо.
Приклад:
void greet() {
cout << "Hello, World!" << endl;
}
2. Параметри функції
Параметри — це змінні, передані функції для надання вхідних даних. Вони можуть бути:
- Передача за значенням: Передається копія змінної.
- Передача за посиланням: Передається посилання на оригінальну змінну.
Приклад передачі за значенням:
void squareValue(int num) {
num = num * num;
cout << "Square inside function: " << num << endl;
}
int main() {
int number = 5;
squareValue(number);
cout << "Original number: " << number << endl; // Залишиться 5
return 0;
}
Приклад передачі за посиланням:
void squareValue(int &num) {
num = num * num;
cout << "Square inside function: " << num << endl;
}
int main() {
int number = 5;
squareValue(number);
cout << "Original number: " << number << endl; // Зміниться на 25
return 0;
}
3. Значення за умовчанням для параметрів
C++ дозволяє задавати значення за умовчанням для параметрів функції.
Приклад:
void greet(string name = "Guest") {
cout << "Hello, " << name << "!" << endl;
}
int main() {
greet(); // Використовує значення за умовчанням
greet("Alice"); // Перевизначає значення за умовчанням
return 0;
}
Рекурсивні функції
Рекурсивна функція — це функція, яка викликає сама себе. Вона корисна для вирішення задач, таких як обчислення факторіалів або розв'язання послідовності Фібоначчі.
Приклад: Факторіал числа за допомогою рекурсії
int factorial(int n) {
if (n == 0 || n == 1)
return 1; // Базовий випадок
return n * factorial(n - 1); // Рекурсивний виклик
}
int main() {
int num = 5;
cout << "Factorial of " << num << " is " << factorial(num) << endl;
return 0;
}
Завдання
- Напишіть функцію для знаходження максимуму з двох чисел.
- Назва функції:
maxNumber
- Параметри: два цілих числа
-
Тип повернення: ціле число (більше число)
Створіть функцію для перевірки, чи є число парним або непарним.** -
Назва функції:
isEven
-
Параметри: одне ціле число
-
Тип повернення:
bool
(true — якщо парне, false — якщо непарне)
3. Напишіть функцію для обчислення площі кола.
- Назва функції:
circleArea
- Параметри: одне число з плаваючою комою (радіус)
- Тип повернення: число з плаваючою комою (площа кола)
4. Рекурсивна послідовність Фібоначчі: Напишіть рекурсивну функцію для знаходження n-го числа Фібоначчі.
5. Перевірка простого числа: Створіть функцію, яка перевіряє, чи є задане число простим.
Висновок
У цьому епізоді ми розглянули:
- Що таке функції та чому вони важливі
- Типи функцій у C++
- Оголошення, визначення та виклики функцій
- Ключові концепції, такі як типи повернення, параметри та рекурсія
Функції — це потужний інструмент для створення модульного та ефективного коду. У наступному епізоді ми детальніше розглянемо масиви та вказівники — важливі концепції для керування даними в C++.
Залишайтеся з нами та продовжуйте практикуватися!
Перекладено з: Learn Programming Step by Step Using C++ : Episode 4