Dette undervisningsopplegget handler om primtall, og om hvordan en finner ut om et tall er primtall. Defininsjonen på primtall er hele tall som kun er delelig med 1 og seg selv, altså vil det aldri bli hele tall som svar om en deler på et annet tall.
Skal en gjøre dette manuelt, og tallene begynner å bli store vil en bruke relativt lang tid på å finne ut om tallet er et primtall eller ikke. Selvfølgelig finnes det en rekke regler en kan bruke for å utelukke en del tall, men det er vanskelig å ha full kontroll.
La oss derfor lage et program i Scratch som vi kan bruke for å sjekke om tallet vårt er et primtall eller ikke.
Kompetansemål etter 8.trinn:
– utforske korleis algoritmar kan skapast, testast og forbetrast ved hjelp av programmering
– utforske og beskrive primtalsfaktorisering og bruke det i brøkrekning
– beskrive og generalisere mønster med eigne ord og algebraisk
Krav til programmet
Programmet skal spørre brukeren etter et heltall, og deretter finne ut om tallet er primtall eller ikke. Svaret skal presenteres for brukeren.
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.
Steg 2 – Spørre etter tall
Det første vi gjør er å spørre brukeren etter hvilket tall det skal testes for. Svaret lagrer vi i en variabel, som vi kaller test_tall. Skal programmet være idiotsikkert kan det legges inn noen kontroller på tallet, at det er større enn null og ikke desimaltall.

Steg 3 – sette variabler
Vi trenger noen variabler underveis i arbeidet. En variabel som vi deler testtallet på og som endres underveis, samt en indikator som endres når vi finner et tall det testtallet kan deles på.

Arbeidstallet (delingstallet) setter vi til 2, fordi 2 er det laveste tallet vi trenger teste på (alt er delelig med 1). Primtallindikatoren setter jeg til 0, og endrer den til 1 om det dukker opp et tall som testtallet er delelig med.
Steg 4 – foreta tester
Det finnes flere måter å finne ut om tallet er et primtall. Her bruker vi en metode, der vi tar og deler på alle tall som er større enn 1 og mindre enn en selv. Dersom svaret blir et heltall, er ikke tallet et primtall.
Vi legger dette inn i en løkke, der vi begynner på tallet 2 og øker testtallet (det vi dividerer med) med en for hver runde.

En observant elev, vil kanskje legge merke til at denne løkken vil kjøre unødvendig lenge. F.eks vil et partall slå ut som ikke primtall med en gang, da det er delelig med 2, noe som er den første testen vår.
Derfor kan vi legge inn en ekstra kontroll, som avslutter kontrollen med en gang vi finner et tall som test tallet vårt er delelig på.

Steg 5 – Oppsummering
Vi skal nå oppsummere for brukeren, om tallet er primtall eller ikke. Om primtallsindikatoren fortsatt er 0, så kan vi si at tallet er et primtall. Om den er blitt 1, så er den ikke lenger et primtall.

Steg 6 – Brukerinteraksjon
Gi informasjon til brukeren om hvordan programmet virker. Teksten kan legges på bakgrunnen som vises.
En ferdig versjon av programmet kan sees her: https://scratch.mit.edu/projects/417092909
Differensiering
Utvid programmet til å lage en liste som lister de tallene som testtallet er delbart med om det ikke er et primtall.