Tabeller og microbit – noen eksempler på undervisningsopplegg

Tabeller i microbit blir lite brukt, men kan brukes på akkurat samme måte som i andre programmeringsspråk. Problemet med å bruke tabeller i microbit, er visning av innholdet i tabellen(e). Skjermen på en microbit er ikke laget for å vise de store datamengdene, så dermed må vi kanskje behandle dem litt før vi viser dem på skjermen. Alternativet er å bruke logg verktøyet til å «skrive» dataene.

Disse oppleggene kan brukes til dekke disse kompetansemålene:

Matematikk etter 7.trinn:
– bruke programmering til å utforske data i tabeller og datasett

Matematikk etter 9.trinn:
– simulere utfall i tilfeldige forsøk og beregne sannsynligheten for at noe skal inntreffe, ved å bruke programmering

La oss begynne med å se på hvordan en tabell opprettes i MakeCode for microbit.

Under Avansert, finnes en egen kategori som heter Tabeller. Her finnes en rekke blokker som oppretter tabeller, fyller inn data, leser data og endrer data i tabellen.

La oss begynne med et enkelt eksempel.

Terningkast 1

I dette lille programmet skal du trille en terning hver gang du trykker på knapp A. Resultatet skal lagres i en tabell. Trykker du på knapp B, så skal du få opp antall kast som er gjort. Trykker du på A+B skal antall kast med en verdien 6 hentes ut.

Vi begynner med å opprette en tom tabell.

Når knapp A trykkes, skal vi trille en terning. Verdien, mellom 1 og 6, legger vi i en variabel vi kaller tall1 som vi legger inn i tabellen.

Denne verdien legges inn til slutt i tabellen. Vi trenger ikke legge inn en indeks eller teller.

Når knapp B trykkes, skal vi vise fram hvor mange ganger vi har trykket på knapp A/trillet en terning.

På tide å teste:

  • Trykk 10 ganger på knapp A
  • Trykk deretter på knapp B og se om tallet 10 vises

La oss legge inn behandling av data fra tabellen.

Når knapp A+B trykkes, skal vi gå gjennom alle data i tabellen, og foreta noen beregninger. La oss begynne med å telle opp antall ganger vi har fått en sekser.

Vi trenger en teller, la oss kalle den «i» for indeks, som er en variabel som teller opp en og en forekomst i tabellen. Vi setter denne telleren til 0 før vi begynner, siden første linje i tabellen ligger på indeks 0.

Vi skal hente ut et ukjent antall forekomster fra tabellen, så vi må lage en løkke. Denne skal kjøres like mange ganger som det er forekomster i tabellen.

Vi henter så ut data fra tabellen som ligger på plass «i», altså tellerens verdi.

Denne legger vi i en variabel som vi kaller f.eks «tall1», slik at den ikke forveksles med variabelen fra «knapp A».

Det er viktig at vi nå husker å endre verdien på variabelen i (som er telleren vår) slik at vi neste gang får neste forekomst i tabellen.

Da er det på tide å legge opp en kontroll. Avhengig av hva vi ønsker å kontrollere, må denne kontrollen tilpasses behovet. I dette eksempelet tester jeg på om tallet som hentes ut er en 6. Om det er en sekser, endrer jeg en variabel som jeg laget med 1.

NB! Denne variabelen må nullstilles før du begynner å hente ut verdier fra tabellen.

Tilslutt skal verdien av ant_6 vises på LED-displayet.

På tide å teste:

  • Trykk 20 ganger på knapp A
  • Trykk på knapp B og sjekk om antallet trykk stemmer
  • Trykk på knapp A+B og sjekk om den viser et tall som er mindre enn tallet du fikk i forrige test

Utvidelse av programmet:

  • Finn frekvensen som viser antall 6 i forhold til antall kast
  • Tell opp antall partall du får, og vis disse når du rister på microbiten

Terningkast 2

I dette eksempelet skal vi lagre verdiene fra 2 terninger i en tabell. Det vil si at hver rad i tabellen vil ha to forekomster.

I dette lille programmet skal du trille to terninger hver gang du trykker på knapp A. Resultatet skal lagres i en tabell. Trykker du på knapp B, så skal du få opp antall kast som er gjort. Trykker du på A+B skal antall kast hvor summen er større enn sju hentes ut.

Vi starter med å opprette tabellen når programmet starter. Denne skal være tom.

Når vi trykker på knapp A, kaster vi to terninger. Vi legger resultatet for hver terning i hver sin variabel.

Dette legger vi så inn i tabellen.

Når knapp B trykkes, skal vi vise fram hvor mange ganger vi har trykket på knapp A/trillet en terning.

Når knapp A+B trykkes skal vi hente fram antall ganger summen av de to tallene er større enn 7.

Vi skal hente ut et ukjent antall forekomster fra tabellen, så vi må lage en løkke. Denne skal kjøres like mange ganger som det er forekomster i tabellen.

Vi skal hente ut verdiene fra en og en rad, så vi må lage en teller som holder styr på hvilken rad vi henter ut. Vi lager en variabel vi kaller «i», som vi setter til 0 for å hente ut første rad i tabellen. Siden vi også skal telle opp et antall, lager vi en variabel vi kaller «antall», og setter den også til null før vi begynner.

Vi skal nå begynne å hente ut data fra tabellen. Siden det er to forekomster per rad, må vi hente ut verdien fra plass 0 og plass 1. På plass 0 ligger tall1, og på plass 1 ligger tall2. Dermed må vi først hente ut raden «i» fra tabellen, og deretter kolonnene.

Da er det på tide å behandle dataene vi har hentet ut. Vi skal sjekke for om summen av de to tallene er større enn 7, så vi må lage en logisk test for å teste summen. Dersom summen er større enn 7, skal telleren «antall» økes med 1.

Ferdig med testen er det på tide å hente ut neste sett av verdier fra tabellen. Vi må øke telleren «i» med en før vi kjører all koden i løkken på nytt.

Når løkken er kjørt og alle dataene i tabellen er behandlet, avsluttes løkken og det er på tide å vise antallet forekomster i tabellen vår summen er større enn 7.

På tide å teste:

  • Trykk 20 ganger på knapp A
  • Trykk på knapp B og sjekk om antallet trykk stemmer
  • Trykk på knapp A+B og sjekk om den viser et tall som kan stemme med antallet kast større enn

Utvidelse av programmet (kan legges på Knapp B eller Når microbit ristes):

  • Tell opp antall sett hvor det ble en eller flere 1ere
  • Tell opp antall sett hvor du fikk to like på terningene
  • Regn ut gjennomsnittet for alle radene

Kommentarer er stengt.

Blogg på WordPress.com.

opp ↑