Trójkąty

9. Pole trójkąta z kątem

W poniższym trójkącie \(ABC\)

zostały przyjęte oznaczenie:

  • \(a, b, c \) - długości boków trójkąta \(ABC\)
  • \(\alpha, \beta, \gamma\) - miary kątów wewnętrznych trójkąta leżących, odpowiednio, przy wierzchołkach \(A, B, C\)

Pole trójkąta można również obliczyć za pomocą wzorów

\(P=\frac{1}{2}ab\cdot\sin\gamma\)
\(P=\frac{1}{2}bc\cdot\sin\alpha\)
\(P=\frac{1}{2}ac\cdot\sin\beta\) 

Wyznaczanie pola trójkąta mając dane dwa boki i kąt między nimi
Python C++
# Program: Pole trójkąta z dwoma bokami i kątem między nimi
# Autor: Jarosław Drzeżdżon
# Data: 2025-09-19

import math

def pole_trojkata(ab, ac, kat_A_stopnie):
    # Zamiana kąta ze stopni na radiany (sin w Pythonie działa na radianach)
    kat_A_radiany = math.radians(kat_A_stopnie)
    # Wzór: 1/2 * ab * ac * sin(A)
    pole = 0.5 * ab * ac * math.sin(kat_A_radiany)
    return pole

if __name__ == "__main__":
    AB = float(input("Podaj długość boku AB: "))
    AC = float(input("Podaj długość boku AC: "))
    kat_A = float(input("Podaj miarę kąta A w stopniach: "))

    pole = pole_trojkata(AB, AC, kat_A)
    print(f"Pole trójkąta wynosi: {pole:.2f}")
// # Program: Pole trójkąta z dwoma bokami i kątem między nimi
// Autor: Jarosław Drzeżdżon
// Data: 2025-09-19

#include <iostream>
#include <cmath>

using namespace std;

double poleTrojkata(double ab, double ac, double katA_stopnie) 
{
    // zamiana stopni na radiany
    double katA_radiany = katA_stopnie * M_PI / 180.0;
    // wzór: 1/2 * ab * ac * sin(A)
    return 0.5 * ab * ac * sin(katA_radiany);
}

int main() 
{
    double AB, AC, katA;
    cout << "Podaj dlugosc boku AB: ";
    cin >> AB;
    cout << "Podaj dlugosc boku AC: ";
    cin >> AC;
    cout << "Podaj miare kata A (w stopniach): ";
    cin >> katA;

    double pole = poleTrojkata(AB, AC, katA);
    cout << "Pole trojkata wynosi: " << pole << "\n";

    return 0;
}

Efekt wykonania kodu programu:


Podaj długość boku AB: 3
Podaj długość boku AC: 4
Podaj miarę kąta A w stopniach: 60
Pole trójkąta wynosi: 5.20