Undervisningsopplegg – heltall og Pythagoras i Scratch

Dette undervisningsopplegget er inspirert av et innlegg i en matematikkgruppe på Facebook hvor en snakket om muligheten for å finne heltallkombinasjoner av Pythagoras. De aller fleste er kjent med den klassiske 3, 4 og 5 kombinasjonen av katet1, katet2 og hypotenus. Men hva er neste kombinasjonen av heltall, og hvilke finnes hvor den minste kateten er mindre enn 50? eller 100?

Programmering er genialt til å finne ut av dette.

Kompetansemål matematikk etter 10.klasse
– utforske og sammenligne egenskaper ved ulike funksjoner ved å bruke digitale verktøy
– lage, løse og forklare ligningssett knyttet til praktiske situasjoner
– utforske matematiske egenskaper og sammenhenger ved å bruke programmering

Krav til programmet
Programmet skal finne alle heltallskombinasjoner av Pythagoras til en angitt maksverdi av katet1 og katet2. Kombinasjonene skal plasseres i en liste.

En versjon av programmet er tilgjengelig på https://scratch.mit.edu/projects/663263675

Pseudokoding
Dette er et ganske komplisert program, og vi trenger en del variabler til å ta vare både på tallene vi tester og resultatene som kommer ut av programmet underveis. En er også avhengig av å kunne Pythagoras ganske godt, spesielt formelen katet1^2 + katet2^2 = hypotenus^2

Programmet vil fungere slik: Vi begynner med å sette katet1 til 1, og deretter finne kvadratet av den. Etterpå setter vi til katet2 til katet1 og deretter finne kvadratet av den. Deretter summerer vi disse to verdiene, og tester om det blir heltall når vi tar kvadratroten av denne summen, som da er hypotenusen.

Har vi heltall, har vi et sett, og dette skal legges inn i listen. Deretter fortsetter vi med å endre katet2 og ser om vi finner flere kombinasjoner. Sånn holder vi på til vi når grensen vi har satt, før vi begynner på nytt og endrer katet1.

Steg 1 – Klargjøring av programmet
Vi trenger en del variabler og en liste, så vi gjør disse klar med en gang. Når den grønne flagget trykkes, skal alt i resultatlisten slettes, og kvadratene og hypotenusen settes til 0.

I tillegg trenger vi to teller, teller1 og teller2, som vi setter etter hvert som vi beveger oss gjennom programmet.

Steg 2 – Katet 1
Vi setter katet1 til 1 og gjør klar løkken som skal kjøres. I første omgang kjører vi tester til telleren er 50.

Inne i denne løkken skal det aller meste av testing skje. Vi multipliserer teller1 med seg selv, og setter katet1 lik svaret. Deretter setter vi den andre telleren lik teller1, for å unngå å finne samme kombinasjonen flere ganger. Hadde vi satt teller2 til 1 hadde vi kjørt mange flere operasjoner enn nødvendig, og samtidig fått dubletter av kombinasjonene.

Steg 3 – Katet 2
Vi gjør akkurat det samme med katet2 som vi gjorde med katet1 i forrige steg.

Steg 4 – Hypotenus
Nå har vi kvadratet av begge katetene, og dette summerer vi, tar kvadratroten av svaret og finner hypotenusen.

Steg 5 – Finne ut om kvadratroten blir heltall
Vi skal nå sjekke om kvadratroten av hypotenusen er et heltall, noe som var et av kravene i oppgaven. Dette kan gjøres på flere måter. En f.eks. ta kvadratroten av hypotenusen og sjekke om det er likt en avrundet kvadratrot av hypotenusen.

Om det så er tilfellet, legger vi kombinasjonen inn i listen over kombinasjoner. Verdien av teller1 og teller2, sammen med hypotenusen legges inn i listen, med en bindestrek mellom for å gjøre det oversiktlig.

Deretter endrer vi teller2 og kjører de samme testene på nytt. Når teller2 når grensen vi har satt, endres teller1, slik at vi kan teste for nye verdier.

Steg 6 – Testing
Det er tid for å teste om programmet fungerer. Sett grenseverdiene på teller1 og teller2 til 10, slik at vi har litt kontroll på testene. Vi kan endre disse senere.

Kommer verdiene fint presentert i listen?
Hvor mange verdier dukker opp?

Endre verdiene til 50.

Kommer verdiene fint presentert i listen?
Hvor mange verdier dukker opp?
Får vi noen kombinasjoner som er like?
Får vi noen kombinasjoner hvor f.eks katet1 er lik?

Utvidelse av programmet
Klarer du å lage en versjon av programmet som også tegner kvadratene i trekanten?


Kommentarer er stengt.

Blogg på WordPress.com.

opp ↑

%d bloggere liker dette: