Undervisningsopplegg – addisjon og dobling med micro:bit

Hvordan kan du lage 12 på færrest mulig trekk om en bare kan addere 1 eller doble tallet du har? Hvor mange trekk trenger du? Prøv sammen i klassen å lage 12 med disse enkle reglene. Hvor mange trekk for å komme til 15? Eller 11?

Dette er matematisk problemløsning som i stor grad handler om å foreta mange beregninger raskt i hodet og tenke logisk og effektivt. Problemet ligger i å holde kontroll på tallet en arbeider.

Kompetansemål i matematikk 5.trinn:
– lage og programmere algoritmer med bruk av variabler, vilkår og løkker

Kompetansemål i matematikk 8.trinn:
– utvikle og kommunisere strategier for hoderegning i utregninger
– utforske hvordan algoritmer kan skapes, testes og forbedres ved hjelp av programmering

La oss lage et dataprogram som vi kan bruke til å både arbeide med slike problemer, og ikke minst løse et slikt problem.

Krav til programmet

La oss lage et program for microbit som kun har lov til å legge til 1 eller doble. Programmet skal alltid starte på null. Deretter kan du legge til 1 til tallet ditt, eller doble tallet ditt. Microbiten skal hele tiden telle opp hvor mange trekk vi bruker for å komme i mål.

Steg 1 – Sette opp variabler

Vi trenger noen variabler som holder styr på summen vår og antall klikk. Disse skal nullstilles for hvert spill, så de kan legges i en egen funksjon som kalles ved behov.

Denne funksjonen kaller vi når vi starter spillet.

Steg 2 – Legge til 1

Når vi trykker på knapp A skal vi legge til 1 til tallet vårt. Samtidig endrer vi antall trekk med 1.

Steg 3 – Doble

Når vi trykker på Knapp B skal vi doble tallet vårt. Samtidig endrer vi antall trekk med 1.

Steg 4 – Summere opp

Når vi trykker på A+B skal vi vise antall trekk vi har brukt for å komme til målet. Vi viser også at tallet vårt, slik at vi ser at vi har nådd målet. Når vi har vist resultatene, nullstiller vi variablene slik at vi kan prøve på nytt.

Testing
På tide å teste at programmet vårt fungerer som det skal:
– trykk 3 ganger på A – knappen, og deretter A+B
Viser skjermen 3 og deretter 3?

– trykk 2 ganger på A-knappen, så 1 gang på B-knappen og deretter A+B
Viser skjermen 4 og deretter 3?

Utprøving
Hva er laveste antall trekk for å komme til 12? 15? 11?

Finner du en regel du kan bruke for å komme raskest mulig til måltallet?

Forenkling
Du kan velge vise det tallet du til en hver tid er kommet til

Utfordring
– Utvid programmet til å regne ut det minste antall trekk som trengs for løse oppgaven

Løsningsforslag på utfordring

For å finne minst mulig trekk, så kan en tenke slik:

  • Er det et partall, så er det best å dele på to
  • Er det et oddetall, så er det best å trekke fra en

Vi lager en egen funksjon, som vi kaller når vi kjører A+B koden.

Vi trenger en variabel som heter «min_trekk» og en variabel som heter «rest«. Min_trekk setter vi til 0, da vi endrer denne variabelen etter hvert som vi undersøker tallet vårt. Rest setter vi til tall, som er det tallet vi skal undersøke og som brukeren har kommet fram til.

Vi trenger en løkke til å finne minste antall trekk vi bruker på tallet. Vi tar vekk enten halvparten eller en fra tallet, og gjentar dette til vi er kommet til null.

Vi tar tallet vi har igjen og deler på to. Har vi ikke en rest, er tallet et partall og vi deler på to. Har vi en rest, er tallet et oddetall, og vi tar bort en. For hver runde endrer vi min_trekk med en.

Kommentarer er stengt.

Blogg på WordPress.com.

opp ↑

%d bloggere liker dette: