Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych Autor artykułu: mgr Jerzy Wałaszek |
©2014 mgr
Jerzy Wałaszek
|
Heron z Aleksandrii był greckim matematykiem, fizykiem, mechanikiem, wynalazcą oraz konstruktorem. Jednym z jego licznych osiągnięć jest tzw. wzór Herona, który pozwala obliczyć pole dowolnego trójkąta, jeśli znamy długości jego boków. Mamy dany dowolny trójkąt o bokach równych a, b i c:
Obliczamy parametr p równy połowie obwodu tego trójkąta:
Aby obliczyć pole tego trójkąta, stosujemy wzór Herona:
Poniższy program oblicza pole trójkąta o znanych długościach boków:
a = 1
Często trójkąt będzie zadany współrzędnymi wierzchołków A, B i C.
Danymi wejściowymi będą współrzędne wierzchołków:
dla wierzchołka A: xA, yA
Aby rozwiązać to zadanie, policzymy odległość pomiędzy dwoma punktami na płaszczyźnie kartezjańskiej:
Poprowadźmy prostą równoległą do osi OX, aby przechodziła przez punkt A, oraz prostą równoległą do osi OY, aby przechodziła przez punkt B:
Proste te wyznaczą nam trójkąt prostokątny:
W trójkącie prostokątnym obowiązuje twierdzenie Pitagorasa:
Zatem poszukiwany bok c możemy wyliczyć ze wzoru:
Aby rozwiązać ten nowy problem, wyznaczymy długości odcinków a i b. W tym celu rzutujemy prostopadle punkty A i B na osie OX i OY:
Na osiach otrzymamy współrzędne tych punktów: A (xA,yA) i B (xB,yB). Poszukiwane długości są długościami przedziałów a: (xA,xB) i b (yA,yB). Długość przedziału obliczamy, odejmując od jego końca początek. Zatem:
Odległości te wstawiamy do wzoru na długość odcinka c, otrzymując ostatecznie:
W przypadku naszego trójkąta należy obliczyć odległości pomiędzy wierzchołkami:
Obliczenia te będą wymagały trzykrotnego zastosowania wzoru na odległość pomiędzy dwoma punktami. Powtarzające się obliczenia lepiej umieścić w funkcji. Znamy już jedną funkcję - main(). Programista może tworzyć w programie swoje własne funkcje. Funkcja jest fragmentem programu, który można wielokrotnie wykorzystywać. Funkcja musi być zdefiniowana przed jej pierwszym użyciem w programie. Definicja funkcji w języku C++ wygląda następująco:
typ_wyniku nazwa(argumenty)
Funkcję wywołujemy w programie poprzez jej nazwę, za którą w nawiasach umieszczamy listę argumentów:
nazwa(argumenty);
Poniższy program odczytuje współrzędne trzech wierzchołków, oblicza odległości pomiędzy nimi i na tej podstawie wylicza pole trójkąta zdefiniowanego przez te wierzchołki. Dane wejściowe dla programu:
xa = 1
S = 0.5000
Na koniec dodamy do programu test na trójkąt prostokątny. Jeśli trójkąt jest trójkątem prostokątnym, to powinien spełniać jeden z warunków:
Dlaczego jeden z trzech, a nie pierwszy? Otóż nie wiemy, które z boków a, b i c są przyprostokątnymi i przeciwprostokątną. Dlatego musimy przetestować wszystkie trzy możliwości. Wystarczy, że jedna z nich będzie spełniona, aby trójkąt był prostokątny. Pamiętamy jednakże, iż liczb zmiennoprzecinkowych NIE WOLNO przyrównywać do siebie. Dlatego będziemy badać ich różnice:
|
|||||||||||||||||||
ZadaniaZadanie nr 1 Przykładowe dane: A(1,4) B(2,5) C(4,7) Napisz program, który odczyta współrzędne trzech punktów A, B i C, a następnie sprawdzi, czy są one współliniowe. Jeśli tak, to program powinien wypisywać tekst "PUNKTY W LINII". Jeśli nie, program powinien wypisywać tekst "PUNKTY NIE W JEDNEJ LINII". Zadanie nr 2 Przykładowe dane: A(0,0) B(3,1) C(2,2) Napisz program, który odczyta współrzędne trzech punktów A, B i C, a następnie sprawdzi, czy tworzą one trójkąt różnoboczny. Jeśli tak, to program powinien wypisywać tekst "TRÓJKĄT RÓŻNOBOCZNY: TAK". Jeśli nie, program powinien wypisywać tekst "TRÓJKĄT RÓŻNOBOCZNY: NIE". Zadanie nr 3 Przykładowe dane: A(0,1) B(1,0) C(2,1) Napisz program, który odczyta współrzędne trzech punktów A, B i C, a następnie sprawdzi, czy są one trzema wierzchołkami kwadratu. Jeśli tak, to program powinien wypisywać tekst "KWADRAT". Jeśli nie, program powinien wypisywać tekst "PUNKTY NIE TWORZĄ KWADRATU". Zadanie nr 4 Przykładowe dane: A(1,4) B(2,3) Napisz program, który odczyta współrzędne dwóch punktów A i B, a następnie obliczy ich odległość od prostej o równaniu y=x + 5 i wyświetli te wyniki. Zadanie nr 5 Przykładowe dane: A(1,4) B(2,1) C(3,5) Napisz program, który odczyta współrzędne trzech punktów A, B i C, potraktuje je jako współrzędne wierzchołków trójkąta i obliczy wszystkie trzy wysokości tego trójkąta, wyświetlając je.
|
I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe