Algoritme og kode for rettvinklet trekant R1 V22
Lest inn av KI og ikke kontrollert manuelt enda — kan inneholde feil.
Gitt tre punkter , og .
Beskriv en algoritme som du kan bruke til å avgjøre om er en rettvinklet trekant.
Skriv en kode basert på algoritmen du beskrev i oppgave a). Input skal være koordinatene , , , , og . Output skal være en av følgende tekster:
- Punktene danner en rettvinklet trekant.
- Punktene danner ikke en rettvinklet trekant.
Fasit
Algoritme: Beregn kvadratet av de tre sidelengdene. Sorter dem. Sjekk om den største er lik summen av de to andre.
Se kode under.
LøsningsforslagKI-generert
En rettvinklet trekant oppfyller Pytagoras’ setning: den lengste siden (hypotenusen) tilfredsstiller , der og er de to katetene.
Algoritme:
- Beregn kvadratet av de tre sidelengdene:
- Sorter de tre verdiene fra minst til størst: kall dem .
- Sjekk om .
- Hvis ja: punktene danner en rettvinklet trekant.
- Hvis nei: punktene danner ikke en rettvinklet trekant.
Vi bruker kvadrerte sidelengder (ikke sidelengder) for å unngå avrundingsfeil ved kvadratrøtter.
def er_rettvinklet(a, b, c, d, e, f):
AB2 = (c - a)**2 + (d - b)**2
BC2 = (e - c)**2 + (f - d)**2
CA2 = (a - e)**2 + (b - f)**2
sider = sorted([AB2, BC2, CA2])
if sider[2] == sider[0] + sider[1]:
print("Punktene danner en rettvinklet trekant.")
else:
print("Punktene danner ikke en rettvinklet trekant.")
a = float(input("a: "))
b = float(input("b: "))
c = float(input("c: "))
d = float(input("d: "))
e = float(input("e: "))
f = float(input("f: "))
er_rettvinklet(a, b, c, d, e, f)
Forklaring steg for steg:
- Linje 2–4: Beregner kvadratet av de tre sidelengdene , og med avstandsformelen.
- Linje 6: Sorterer listen slik at den minste verdien kommer først og den største sist.
- Linje 8–11: Sjekker Pytagoras’ setning på de kvadrerte verdiene. Hvis den største verdien () er lik summen av de to andre (), er trekanten rettvinklet.
- Linje 13–18: Leser inn koordinatene fra brukeren med
input()og konverterer til desimaltall medfloat(). - Linje 20: Kaller funksjonen med de innleste koordinatene.
Eksempel – , , (3-4-5-trekanten):
Sortert: . Sjekk: ✓ → «Punktene danner en rettvinklet trekant.»