Undervisningsopplegg – tall-lek

Dette undervisningsopplegget er laget for Scratch og er tenkt som en trening i halveringsprinsippet som metode for å finne et ukjent tall på en effektiv måte. Opplegget kan enten gjennomføres med kun en funksjon, eller med begge. I den første delen skal brukeren finne ut hvilket tall datamaskinen tenker på, mens det i den andre delen er datamaskinen som skal finne ut hvilket tall brukeren tenker på.

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

Kompetansemål matematikk etter 8.trinn:
– lage og forklare regneuttrykk med tall, variabler og konstanter knyttet til praktiske situasjoner
– utforske hvordan algoritmer kan skapes, testes og forbedres ved hjelp av programmering

Krav til programmet
I del 1 av programmet skal datamaskinen plukke et tilfeldig tall i et angitt intervall. Brukeren skal deretter gjette tallet. Om tallet brukeren sender inn er for lavt, skal programmet melde tilbake at tallet er for lavt. Om det er for høyt, skal programmet melde fra om dette. Om det er rett gis det melding om dette. Antallet forsøk telles opp.

I del 2 av programmet, skal brukeren velge et tall. Melde dette til programmet, og programmet skal ved hjelp av halveringsprinsippet finne fram til rett tall. Programmet skal foreslå tall, og brukeren melder inn om tallet er for lavt, for høyt eller korrekt. Antallet forsøk telles opp.

Steg 1 – Pseudokode
Når vi skal løse slike oppgaver med elevene er det en god ide å «skrible» på tavlen sammen med dem for å skape en forståelse av hva som skal gjøres. Pseudokoding gjør det lettere å få en oversikt over hva som skjer med et og et tall og hvordan vi enklest kan løse utfordringene. Samtidig gir det en rask oversikt over hvor vi trenger løkker og vilkår, samt hvilke variabler vi trenger.

Vil anbefale å lage pseudokode for både del 1 og 2 med en gang.

Steg 2 – Bakgrunn og karakterer
Finn en passende bakgrunn og to passende karakterer. Jeg har valgt en datamaskin og en ung person.

Steg 3 – Starte programmet og finne tall
Programmet skal starte når figuren klikkes. Da skal det velge et tilfeldig tall mellom f.eks 1 og 100, og plassere i en variabel. Deretter informerer programmet brukeren.

Steg 4 – Sette variabler
Vi trenger noen variabler. Vi lager en til ta vare på antall forsøk vi bruker for å komme fram til rett tall, og en til å ta vare på tallet som brukeren foreslår.

Steg 5 – Spørre etter tall
Vi skal så spørre brukeren etter et tall. Svaret skal legges inn i variabelen gjetting.

Steg 6 – Foreta tester
Da har vi begge tallene tilgjengelig, så det er på tide å vurdere tallene mot hverandre. Er brukerens svar høyere enn det ukjente tallet, så gis det beskjed til brukeren om dette.

Er brukerens tall for lavt, gis det beskjed om det, så vi må lage en tilsvarende kode for det.

Steg 7 – Gjenta til vi finner rett tall
Steg 5 og 6 må gjentas helt til gjettingen er lik det ukjente tallet, så vi legger en løkke rundt koden fra steg 5 og 6.

Steg 8 – Test programmet
Det er på tide å teste programmet, for å se om det fungerer slik det skal. Gir programmet rett tilbakemelding underveis, og hva skjer når du treffer rett? (forhåpentligvis ingen ting…)

Steg 9 – Telle opp forsøk
Vi ønsker en mulighet til å telle opp antall forsøk. Vi har allerede laget en variabel som kan brukes til å ta vare på informasjon om antall forsøk. Vi nullstiller den før vi begynner, så den må endres med 1 for hver gang testene foregår.

Steg 10 – Gi tilbakemelding til brukeren når de finner rett tall
Når de finner rett tall, så avsluttes løkken. Dermed er det på tide å skryte litt av brukeren, som har klart å finne rett svar. Vi forteller først at brukeren fant rett tall. Deretter setter vi sammen en tekst som også forteller hvor mange forsøk brukeren trengte.


Del 2 – Datamaskinen gjetter
Da er det tid for å lage del 2 av programmet. Her skal brukeren velge et tall i et definert intervall og datamaskinen skal finne ut hvilket tall det er snakk om. Men denne gangen skal brukeren fortelle datamaskinen om tallet er for lavt, for høyt eller korrekt.

Steg 11 – Starte programmet og finne tall
Denne koden skal kobles til figur 2, i mitt tilfelle datamaskinen. Viktig at koden ikke havner sammen med den andre koden på den andre figuren.

Programmet skal startes når figuren klikkes. Da skal den presentere oppgaven og spørre etter et tall i intervallet som er bestemt. Tallet skal ikke datamaskinen vite, men brukeren kan skrive det ned på et papir.


Steg 12 – Variabler
I dette programmet trengs en del variabler. Blant annet variabler for å justere min og maks verdier i intervallet den skal lete etter tall. Vi setter dem til intervallet vi har avtalt i begynnelsen.

Vi trenger også en variabel som tar vare på svaret brukeren legger inn når programmet har tippet. I tillegg trenger vi de samme variablene som vi brukte i forrige del av programmet.

Steg 13 – Klar for gjetting
Da er programmet egentlig klar for gjetting, og vi informerer brukeren at nå skal datamaskinen sette i gang.

Steg 14 – Gjetting
Datamaskinen bruker halveringsprinsippet i forbindelse med gjettingen. Den finner det midterste tallet i intervallet og prøver seg med det. For å finne det midterste tallet tar den det minste tallet og legger til det største, før den deler på to. For å unngå desimaltall, velger den å avrunde svaret.

Deretter foreslår den dette tallet for brukeren.

Steg 15 – Brukeren svarer
Brukeren vurderer svaret fra datamaskinen og svarer tilbake om det er for høyt (H), for lavt (L) eller korrekt. Svaret fra brukeren legges i en variabel for videre vurdering.

Steg 16 – Foreta justering av intervall
Om datamaskinen ikke har rett svar, må intervallet justeres. Altså må min eller maks-grensene endres. Om datamaskinens svar er for høyt, må maks-grensen justeres ned. Om den er for lav, må min-grensen justeres opp.

Steg 17 – Gjenta til vi får rett svar
Akkurat som i del 1 av programmet, må datamaskinen gjenta denne prosessen helt til datamaskinen finner rett svar og brukeren forteller datamaskinen at han har rett.

Steg 18 – telle opp forsøk
Vi må selvfølge finne ut om datamaskinen er bedre enn mennesket, så vi teller også opp antall forsøk den bruker på finne rett svar.

Steg 19 – gi tilbakemelding til datamaskinen når den finner rett tall
Når den finner rett tall, så avsluttes løkken. Dermed kan datamaskinen skryte litt av seg selv, som har klart å finne rett svar. Den forteller også hvor mange forsøk den trengte.

Steg 20 – Test programmet
Det er på tide å teste programmet, for å se om det fungerer slik det skal. Gir programmet rett tilbakemelding underveis, og hva skjer når datamaskinen treffer rett?

Differensiering
Koden er ikke idiotsikker, og dersom brukeren sender inn en annen bokstav enn H,L eller R? Kan du lage koden mer idiotsikker?

Et ferdig eksempel på oppgaven finner du her: https://scratch.mit.edu/projects/559462535

Kommentarer er stengt.

Blogg på WordPress.com.

opp ↑

%d bloggere liker dette: