11C: Geometria

Lekcja 11 składa się z trzech części A, B, C, które możesz wykonać w dowolnej kolejności.

W tym ćwiczeniu utworzymy cztery funkcje, które wykonują obliczenia geometryczne:

  • funkcja obliczająca długość przeciwprostokątnej trójkąta prostokątnego,
  • funkcja obliczająca obwód trójkąta prostokątnego,
  • funkcja obliczająca odległości między dwoma punktami w 2D,
  • oraz funkcję obliczającą obwód dowolnego trójkąta.

Przeciwprostokątna

Na rysunku po prawej stronie widoczny jest trójkąt prostokątny. Z definicji, jeden z kątów trójkąta prostokątnego równy jest 90 stopni (kąt prosty). Trójkąt ma trzy boki. Bok leżący na przeciw kąta prostego ma specjalną nazwę: nazywany jest przeciwprostokątną.

Jak pokazano na rysunku, niech a i b oznaczają długości boków przylegających do kąta prostego, a c niech oznacza długość przeciwprostokątnej. Znane twierdzenie Pitagorasa mówi, że:

\displaystyle{a^2+b^2=c^2}

W pierwszym problemie twoim zadaniem jest przekształcenie tego twierdzenia w funkcję, która, biorąc pod uwagę a i b, oblicza długość przeciwprostokątnej.

Zadanie na kodowanie : Hypotenuse
Zdefiniuj funkcję hypotenuse(a, b), która, jeśli dwa pozostałe boki mają długości a i b, zwraca długość przeciwprostokątnej c.Wskazóka
Wpisz polecenia takie jak print(mafonction("test-argument")) w polu poniżej.

Obwód

Przypomnijmy, że obwód trójkąta jest sumą boków. Zatem na powyższym rysunku obwód wynosi a + b + c. Twój program powinien zakładać, że już została poprawnie zdefiniowana funkcja hypotenuse (nie musisz już jej kopiować z pola pierwszego zadania do drugiego).

Zadanie na kodowanie : Trójkąty Prostokątne
Używając hypotenuse(a, b) należy zdefiniować funkcję rightTrianglePerimeter(a, b), która zwraca długość obwodu trójkąta prostokątnego, którego przyprostokątne mają długości a i b.
Wpisz polecenia takie jak print(mafonction("test-argument")) w polu poniżej.

Odległość w 2 Wymiarach

Aby dyskutować o punktach znajdujących się w dwóch wymiarach, używamy dwóch współrzędnych (Kartezjański układ współrzędnych), współrzędnej x i współrzędnej y. Chcemy napisać funkcję, której wejście jest parą punktów, a których wyjście jest odległością między tymi dwoma punktami. Okazuje się, że funkcja hypotenuse pomoże nam to wykonać!

Bardziej szczegółowo, niech pierwszy punkt ma współrzędne (x1, y1), gdzie x1 i y1 są liczbami rzeczywistymi, i niech drugi punkt ma współrzędne (x2, y2). Najważniejszą ideą jest narysowanie trójkąta prostokątnego pokazanego na poniższym wykresie: przeciwprostokątna przebiega od (x1, y1) do (x2, y2), a więc jej długość to odległość między dwoma punktami.

Aby obliczyć długość przeciwprostokątnej, musimy obliczyć długość pozostałych dwóch boków trójkąta. Można to zrobić przy użyciu definicji współrzędnych (patrz rysunek): poziome przemieszczenie to a = x1-x2, a pionowe to b = y1-y2.

Zadanie na kodowanie : Odległość 2D
Załóżmy, że istnieje już hypotenuse(a, b). Używając go, zdefiniuj funkcję distance2D(x1, y1, x2, y2), która oblicza odległość między punktem (x1, y1) a punktem (x2, y2).
Wpisz polecenia takie jak print(mafonction("test-argument")) w polu poniżej.

Obwód Dowolnego Trójkata

Teraz ostatnie ćwiczenie na tej lekcji. Pamiętaj, że obwód jest sumą trzech boków długości trójkąta; i pamiętaj, że długość boku jest taka sama, jak odległość pomiędzy dwoma punktami trójkąta.

Zadanie na kodowanie : Secure the Perimeter
Załóżmy, że distance2D(x1, y1, x2, y2) jest już zdefiniowany. Użyj go do zdefinowania funkcji trianglePerimeter(xA, yA, xB, yB, xC, yC), która oblicza obwód trójkąta utworzonego z trzech punktów: (xA, yA), (xB, yB) and (xC, yC).
Wpisz polecenia takie jak print(mafonction("test-argument")) w polu poniżej.

Teraz jesteś gotowy, aby kontynuować następną lekcję!