1. W programie Python napisz program, który będzie obliczał pole, obwód trójkąta dla zmiennych a, b, c, h większych od zera (a>0, h>0, c>0, h>0 skorzystaj z instrukcji if-else). Dwie następne zmienne będą reprezentowały wyniki i będą nosily nazwy: p - pole powierzchni, obw - długość obwodu trójkąta . Pamiętaj o wypisaniu obliczonych wartości.


Odpowiedź :

Odpowiedź:

W załączniku :), przepisz se, żebyś zrozumiał gdybyś miał jakieś problemy

Wyjaśnienie:

Zobacz obrazek KacpiSt14

Odpowiedź:

W załączniku program bez komentarzy.

Wyjaśnienie:

print('Podaj długość boków trójkąta zatwierdzając każdy ENTEREM:')

a=float(input())  #jeżeli zakładamy, że długości

b=float(input())   #będą całkowite zamieniamy

c=float(input())  #float na int przy każdej długości

h=float(input('Podaj długość wysokości trójkąta opadającą na pierwszy bok: '))

if a<=0 or b<=0 or c<=0 or h<=0:  #sprawdzenie warunku dodatniej liczby

 print('Podane liczby nie mogą być długościami boków trójkąta')

elif a+b<=c or a+c<=b or b+c<=a: #sprawdzenie warunku trójkąta

 print('Podane liczby nie mogą być długościami boków trójkąta')

else:

 P=a*h/2

 Obw=a+b+c

 print('Pole trójkąta wynosi ',P,'\nObwód trójkąta wynosi ',Obw)  #\n w princie przerzuca do następnej linii

Kłopot się robi znów z długością wysokości. Czy będzie prawidłowa?

W tym momencie lepiej o nią nie pytać, tylko obliczyć pole ze wzoru Herona, gdzie potrzeba tylko długości boków trójkąta:

[tex]P_\triangle=\sqrt{p(p-a)(p-b)(p-c)}\\\\p=\dfrac{a+b+c}{2}[/tex]

Program wyglądałby wówczas tak:

print('Podaj długość boków trójkąta zatwierdzając każdy ENTEREM:')

a=float(input())

b=float(input())

c=float(input())

if a<=0 or b<=0 or c<=0:

 print('Podane liczby nie mogą być długościami boków trójkąta')

elif a+b<=c or a+c<=b or b+c<=a:

 print('Podane liczby nie mogą być długościami boków trójkąta')

else:

 p=(a+b+c)/2

 P=(p*(p-a)*(p-b)*(p-c))**0.5

 Obw=a+b+c

 print('Pole trójkąta wynosi ',P,'\nObwód trójkąta wynosi ',Obw)

Zobacz obrazek Animaldk
Zobacz obrazek Animaldk