Вивчення програмування крок за кроком за допомогою C++: Епізод 4

pic

Розуміння функцій у C++

Ласкаво просимо до 4-го епізоду “Навчання програмуванню крок за кроком з використанням C++.” У цьому епізоді ми розглянемо одну з найважливіших концепцій програмування — функції. Функції дозволяють розділяти код на менші, багаторазово використовувані блоки, що робить програми більш модульними, зрозумілими та ефективними.

Що таке функції?

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

Чому використовувати функції?

  • Повторне використання: Напишіть код один раз і використовуйте його кілька разів.
  • Модульність: Розділяє програму на керовані секції.
  • Покращена читаність: Зробить код легшим для розуміння та підтримки.

Структура функції в C++

Функція зазвичай складається з двох частин:

  1. Оголошення функції (Прототип): Повідомляє компілятору про ім'я функції, тип її повернення та параметри.
  2. Визначення функції: Містить фактичний код функції.
  3. Виклик функції: Виконує функцію.

Синтаксис:

return_type function_name(parameter_list) {  
 // Код для виконання  
 return value; // Необов'язково, залежно від return_type  
}

Типи функцій в C++

  1. Вбудовані функції: Визначені в бібліотеках (наприклад, sqrt(), pow()).
  2. Користувацькі функції: Створені програмістами.

Приклад: Проста користувацька функція

Створимо функцію для додавання двох чисел.

#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;  
}

Завдання

  1. Напишіть функцію для знаходження максимуму з двох чисел.
  • Назва функції: maxNumber
  • Параметри: два цілих числа
  • Тип повернення: ціле число (більше число)
    Створіть функцію для перевірки, чи є число парним або непарним.**

  • Назва функції: isEven

  • Параметри: одне ціле число

  • Тип повернення: bool (true — якщо парне, false — якщо непарне)

3. Напишіть функцію для обчислення площі кола.

  • Назва функції: circleArea
  • Параметри: одне число з плаваючою комою (радіус)
  • Тип повернення: число з плаваючою комою (площа кола)

4. Рекурсивна послідовність Фібоначчі: Напишіть рекурсивну функцію для знаходження n-го числа Фібоначчі.

5. Перевірка простого числа: Створіть функцію, яка перевіряє, чи є задане число простим.

Висновок

У цьому епізоді ми розглянули:

  • Що таке функції та чому вони важливі
  • Типи функцій у C++
  • Оголошення, визначення та виклики функцій
  • Ключові концепції, такі як типи повернення, параметри та рекурсія

Функції — це потужний інструмент для створення модульного та ефективного коду. У наступному епізоді ми детальніше розглянемо масиви та вказівники — важливі концепції для керування даними в C++.

Залишайтеся з нами та продовжуйте практикуватися!

Перекладено з: Learn Programming Step by Step Using C++ : Episode 4

Leave a Reply

Your email address will not be published. Required fields are marked *