Std::tan

Innen: testwiki
A lap korábbi változatát látod, amilyen imported>LinguisticMystic 2025. március 10., 16:14-kor történt szerkesztése után volt.
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)
Ugrás a navigációhoz Ugrás a kereséshez

Sablon:Engfn

  1. Sablon:Label A std::tan egy C++ standard könyvtári függvény, amely a szám szinuszának tangensét számolja ki. A tangens egy trigonometriában használt függvény, és a következő matematikai összefüggés alapján számítják ki:

tan(θ)=sin(θ)cos(θ)

A std::tan függvény a <cmath> (régebben <math.h>) fejlécben található, és a bemeneti értékét radiánban várja, nem fokban. A kimenet is egy valós szám (double) lesz.

A std::tan szintaxisa

#include <cmath> // A math.h helyett használjuk

double tan(double x);

A függvény bemeneti paraméterként egy double típusú számot vár, amely a szöget adja meg radiánban, és visszaadja annak a tangensét double típusban.

Példa a std::tan használatára

A következő példában kiszámítjuk egy szög tangensét:

#include <iostream>
#include <cmath>  // A math.h helyett használjuk

int main() {
    double angle = 45.0;  // A szöget fokban adjuk meg
    double angleInRadians = angle * M_PI / 180.0;  // Fokot radiánra konvertálunk
    
    double result = std::tan(angleInRadians);
    
    std::cout << "A " << angle << " fok tangense: " << result << std::endl;
    
    return 0;
}

Ebben a példában:

  • Az angle változóban a szöget fokokban tároljuk, és az angleInRadians változóban átváltjuk azt radiánra.
  • Az M_PI egy konstans, amely az π értékét tárolja, és segítségével átváltjuk a fokot radiánra.
  • A std::tan függvény kiszámítja a tangens értékét.

A program kiírja a következő értéket:

A 45 fok tangense: 1

A std::tan tulajdonságai

  1. Bemeneti értékek: A std::tan függvény bemeneti értéke radiánban van megadva, tehát ha fokokban szeretnénk megadni, először konvertálni kell őket radiánra (például: fok * π / 180).
  2. Végtelen eredmény: A tangens függvénynek van egy speciális tulajdonsága: amikor a szög () 90°-nál (vagy () radián) vagy annál nagyobb, de nem pontosan 90° (vagy ()) lesz, akkor a tangens végtelen értéket ad. Például a ( () ) végtelen, és a következő pontban (270° vagy ()) ismét végtelen. Ha ezek a pontok a bemenetek, akkor a függvény visszaadhatja az “infinite” vagy “nan” értékeket, ha hibát észlel.
  3. Periodicitás: A tangens függvény periodikus, azaz minden () (180°) fokon ismétlődik. Ez azt jelenti, hogy a std::tan ugyanazt az eredményt adja egy adott szögre és annak 180°-kal (vagy () radiánnal) eltolva.
  4. Kimenet: A std::tan függvény kimenete mindig egy valós szám, amely a tangens értékét jelenti. Az eredmény lehet pozitív vagy negatív, attól függően, hogy a bemeneti szög az első, második, harmadik vagy negyedik negyedben van-e.

Hibakezelés

A std::tan a szög hatására időnként nem definiált eredményeket adhat, például ha a bemeneti szög () (90°) vagy annak többszöröse. Ezt fontos kezelni, hogy elkerüljük a hibás vagy végtelen eredményeket.

Egy egyszerű hibakezelési példa:

#include <iostream>
#include <cmath>  // A math.h helyett használjuk

int main() {
    double angle = 90.0;  // A szög fokokban
    double angleInRadians = angle * M_PI / 180.0;  // Fokot radiánra konvertálunk

    if (std::tan(angleInRadians) == INFINITY || std::tan(angleInRadians) == -INFINITY) {
        std::cout << "A tangens nem értelmezhető ezen a szögnél!" << std::endl;
    } else {
        std::cout << "A " << angle << " fok tangense: " << std::tan(angleInRadians) << std::endl;
    }

    return 0;
}

Ez a kód ellenőrzi, hogy a tangens eredménye végtelen-e, és ha igen, akkor figyelmeztetést ad.

Összegzés

A std::tan egy hasznos trigonometrikus függvény a C++ standard könyvtárban, amely lehetővé teszi a számunkra, hogy gyorsan kiszámoljuk egy szög tangensét. Fontos megjegyezni, hogy a bemeneti szöget radiánban kell megadni, és a tangens függvény periodikus, valamint végtelen értékeket adhat egyes szögeknél, ezért fontos a megfelelő hibakezelés alkalmazása. A std::tan alkalmazása széles körben előfordul trigonometrikus számításokban, mérnöki, fizikai és matematikai problémákban.

Sablon:Engl