
Beräkna hypotenusan (programmering)

Uppgradera för mer innehåll
Vad är pseudokod?
Har du koll på Pythagoras sats? Då vet du hur du räknar ut de olika sidornas längd i en rätvinklig triangel. Men, det kräver en del räkning... Och kanske behöver du traggla igenom samma räknesteg om och om igen. Tänk om du hade ett program där du matade in de två korta sidorna - kateterna - och så vips fick du ut den långa sidan i triangeln - hypotenusan!
Nu skall vi skapa ett sådant program! När vi programmerar är det första vi gör att dela upp problemet i flera små steg. Varje steg ska vara så tydligt att du ska kunna ge det som en instruktion till en robot som inte vet någonting om någonting, och roboten ska kunna utföra det korrekt. Så, hur skulle du förklara för en robot hur den ska räkna ut hypotenusans längd med hjälp av de två kateternas längder? För att kunna börja räkna behöver roboten något.
Så vi skriver: “Anteckna katet1 Anteckna katet2” Nu har roboten den information som behövs. Vad ska den göra sen? Testa själv att skriva fler instruktioner! Kanske har du skrivit något i den här stilen? Okej, det ser bra ut.
Men kanske behöver roboten lite tydligare instruktion för de här beräkningarna? Vi förtydligar lite grann. Tänk dig att du ber roboten använda en miniräknare åt dig. Hur skulle du uttrycka instruktionerna då? Sådärja.
Nu går det väl inte att missförstå instruktionen? Det vi har skrivit ner är nästan kod, men inte riktig programmeringskod. Vi kallar det för pseudokoden till vårt program. Pseudokod - är det samma sak som algoritmen för att lösa Pythagoras sats? Nja, inte riktigt.
Det här är den del av koden som löser själva uppgiften. Det är algoritmen. Du kanske är mer van vid att se den så här? Vad gör då resten av koden? Det är också en form av algoritm, men den har ingenting med själva beräkningen att göra.
Vad den gör är att ta emot värden för hur långa triangelns kateter är, och sen mata ut resultatet. Det är raderna i mitten som löser själva uppgiften. De raderna kan vi använda i många olika sammanhang för att beräkna hypotenusan i en rätvinklig triangel. Sådär. Nu har du vad som behövs.
Dags att ta fram ditt programmeringsverktyg, skriva det här programmet och testa att det funkar! Ser det för krångligt ut? Vi kan göra det lite tydligare genom att rita upp ett flödesschema. Vi ritar en ruta för varje steg. Skapa en variabel, som vi kallar a, och ge den värdet för den första kateten.
Gör samma sak för andra kateten. Den får variabelnamnet b. Beräkna kvadraten på a och ge det värdet till en ny variabel, med namnet a2. Gör samma sak för b och lägg det värdet i en variabel som vi kallar b2. Skapa variabeln c2 och ge den värdet av a2 plus b2.
Skapa nu variabeln c och ge den värdet: kvadratroten ur c2! Visa resultatet. Resultatet som programmet matar ut är värdet på variabeln c, som är lika med längden på hypotenusan! Nu är det dags för dig att börja programmera!