CPP-101: Функции

Дефиниране на функции

Дефиницията на една функция има следния синтаксис:

В следния фрагмент е дефинирана функция, която изчислява площта на окръжност, ако е даден радиусът на окръжността.

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;

const double PI=3.141592653589793;

double area(double r) {
    return PI*r*r;
}

int main(int argc,char* argv[]) {
    cout << setprecision(128) << M_PI << endl;
}

Радиусът на окръжността се предава като параметър на функцията. В тялото на функцията се извършват изчисленията и площта на окръжността се връща като резултат от функцията.

Да разгледаме още един пример. Нека са дадени две точки в равнината – [latex]p_1[/latex] и [latex]p_2[/latex].

Разстояние между две точки в равнината

Нека в дадена декартова координатна система координатите на точката [latex]p_1[/latex] са [latex](x_1,y_1)[/latex], а координатите на точката [latex]p_2[/latex] са [latex](x_2,y_2)[/latex]. Тогава, разстоянието между двете точки може да се изчисли като се използва теоремата на Питагор (вж. фигурата):

[latex]d=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}.[/latex]

В следващия фрагмент е дефинирана функция, която изчислява разстоянието между две точки в равнината.

#include <cmath>
using namespace std;

double distance(double x1, double y1,
                double x2, double y2) {
    double dx=x2-x1;
    double dy=y2-y1;
    return sqrt(dx*dx+dy*dy);
}

Като параметри на функцията се предават координатите на точките в равнината. Като резултат от функцията се връща разстоянието между точките. За намиране на разстоянието в ред 8 се използва функцията sqrt, която изчислява корен квадратен. Тази функция е декларирана в заглавния файл <cmath>, който е част от стандартната библиотека
[note]Всички типове и функции, дефинирани в стандартната библиотека се намират в пространството от имена std. За да се включи това пространство от имена се използва конструкцията using namespace std; (вж. ред 2). Повече за пространството от имена виж в раздел \ref{section-namespace}}.
[/note]

Публикувано в CPP-101, ООП с етикети , , . Постоянна връзка.

Един коментар по CPP-101: Функции

  1. Pingback: CPP-101: Кратък обзор на езика за програмиране C++ | Записки по програмиране

Коментарите са затворени.