Odpowiedź :
Odpowiedź
W załącznikach znajdziesz programy, które napisałam po kolei na
- pole i obwód prostokąta
- pole i obwód kwadratu
- pole i obwód trójkąta prostokątnego
- pole trapezu (w ogólnym przypadku nie można obliczyć obwodu nie znając długości wszystkich czterech boków lub jakichś innych danych, na przykład kątów)
- pole i obwód trapezu (mając długości wszystkich czterech boków, algorytm na obliczanie pola nie działa w przypadku równoległoboku; oczywiście mając długości wszystkich czterech boków można obliczyć obwód :) )
Gdybyś chciał przetestować program z piątego załącznika polecam do obliczeń użyć jednego z poniższych trapezów (łatwe do sprawdzenia):
- a = 10, b =4, c = 5, d = 5 ⇒ pole = 28, obwód = 24
- a = 12, b =4, c = 5, d = 5 ⇒ pole = 24, obwód = 26
- a = 25, b =4, c = 10, d = 17 ⇒ pole = 116, obwód = 56
Wyjaśnienie
Dziękuję za informację, że Dev-C++ ! Mogłam normalnie napisać po polsku.
W trapezie, mając dane długości wszystkich czterech boków, można obliczyć wysokość według następującego wzoru
[tex]\displaystyle{ h = \dfrac{ \, \sqrt{(-a+b+c+d) \, (a-b+c+d) \, (a-b+c-d) \, (a-b-c+d)} \, }{2 \, |b-a| } }[/tex]
Czyli w tym przypadku można obliczyć zarówno pole, jak i obwód. Program w piątym załączniku właśnie tak działa. Jak widać powyżej, ten algorytm na obliczanie pola nie działa w przypadku równoległoboku (wtedy jest a == b).
Mając podane obie podstawy oraz wysokość można obliczyć pole oraz obwód tylko dla przypadków trapezu prostokątnego oraz trapezu równoramiennego. Trzeba wiedzieć, który to przypadek, a z zadania nic takiego nie wynika.