Урок 8 - функции

Что такое функции и чем они отличаются от процедур

Функции - это процедуры, которые могут возвращать данные.

На самом деле процедуры это функции, которые возвращают пустоту (void).

Позволяет выносить повторяющиеся куски кода в отдельные подпрограммы.

Как объявлять функции

К функциям добавляется определение типа данных

возвращаемый_тип_данных название_процедуры(тип_данных_параметра1 название_параметра1, тип_данных_параметра2 название_параметра2) {
   код_который_выполняет_процедура
}
  • возвращаемый_тип_данных - тип данных, который возвращает функция.
  • название_процедуры - название функции, которое мы будем использовать для её вызова.
  • тип_данных_параметра название_параметра - параметры, которые мы передаем в функцию. Работают они также, как и обычные переменные. Можно сделать несколько параметров, перечислив их через запятую.

Пример

#include <iostream>

using namespace std;

int sum(int a, int b) {
   return a + b;
}

int main() {
   cout << sum(4, 5) << endl;
}

Вывод:

9

Рекурсивные функции

Разберу решение на C++ №6990 с сайта СДАМГИА

#include <iostream>

using namespace std;

void f(int n) {
   if (n == 1) return 1;
   if (n > 1) return f(n - 1) + n;
}

int main() {
   cout << f(40) << endl;
}

Вывод:

820