Denne oppgaven har jeg sett brukt i Python, og mine elever på VGS har blant annet hatt den i forbindelse med vurdering i programmering. Oppgaven går ut på å lage et lite dataprogram som stiller deg ulike personlighetsspørsmål, og deretter bestemmer hvilket hus du hører hjemme i ut fra svarene dine.
I denne oppgaven skal vi lage programmet i Scratch. Den skal stille et antall spørsmål til brukeren og til slutt avgjøre hvor en hører hjemme. Oppgaven gir trening i bruk av variabler over flere steg, og trening i å bygge opp vilkår og tester på ulike måter.
For elever som ikke har erfaring med Harry Potter og valghatten, ville jeg brukt utdrag fra bok 1 «Harry Potter og de vises stein» som forteller om valgprosessen.
På steg 4 i oppgaven, er det spørsmål som kan/skal brukes i oppgaven, men kanskje elevene kan få muligheten til å lage noen egne spørsmål til oppgaven?
Kompetansemål matematikk etter 5.trinn:
– lage og programmere algoritmer med bruk av variabler, vilkår og løkker
Kompetansemål norsk etter 7.trinn:
– lese lyrikk, noveller, fagtekster og annen skjønnlitteratur og sakprosa på bokmål og nynorsk, svensk og dansk og samtale om formål, form og innhold
– lytte til og videreutvikle innspill fra andre og begrunne egne standpunkter i samtaler
– presentere faglige emner muntlig med og uten digitale ressurser
Et lite eksempelprogram finner du på https://scratch.mit.edu/projects/1084048251
Steg 1 – gjøre klart i Scratch
Start opp Scratch, enten app eller https://scratch.mit.edu og lag et nytt prosjekt. Fjern katten, og hent inn trollmannshatten, og en passende bakgrunn.
Utfordring: For å gjøre det mer spennende, kan en gjøre hatten svart som i filmen og kanskje lage en munn på den. I tillegg kan en lage flere varianter av hatten med ulik munn, slik at det ser ut som om hatten snakker.

Steg 2 – Fortelle brukeren hva som skal skje
Når programmet starter, skal brukeren få nødvendig informasjon om hva som skal skje. Følgende informasjon bør gis til brukeren:
- Velkommen til Galtvort!
- Jeg er Valghatten!
- Jeg skal hjelpe deg å velge hus i Galtvort!
- Svar «Ja» eller «Nei» på spørsmålene jeg stiller, og vi skal finne rett hus!

Steg 3 – sette opp variabler
Vi trenger fire variabler til programmet. Disse skal settes til 0 når vi starter programmet, og de skal ikke vises. Vi trenger en variabel som heter Griffing, en som heter Ravnklo, en som heter Håsblås og en som heter Smygard.

Steg 4 – stille spørsmål
Det er på tide å stille spørsmål til brukeren, og det første spørsmålet er «om du er modig?».

Brukeren skal svare «ja» eller «nei» på spørsmålet, og for å være sikker på at brukeren svarer enten «ja» eller «nei», og ingenting annet, skal vi legge inn en smart test, som gjør at en IKKE kommer videre før en har svart «ja» eller «nei».

Vi lager en løkke, som ikke går videre før brukeren har svart «ja» eller «nei» på spørsmålet.
Om svaret er «ja» eller «nei» går den videre og vurderer svaret. Om den er «ja», skal «griffing» få et poeng.

Sånn skal vi bygge opp programmet, og ulike spørsmål vil gi ulike poeng til ulike hus.
| Spørsmål | Svar: Ja | Svar: Nei |
| Er du tålmodig? | Håsblås + 1 | Smygard + 1 |
| Er du fokusert? | Ravnklo + 1, Griffin + 1 | |
| Er du glad i skole? | Ravnklo + 1 | |
| Er du kreativ og oppfinnsom? | Ravnklo + 1 | |
| Er du snill? | Håsblås + 1, Ravnklo + 1, Griffin + 1 | |
| Er du rettferdig? | Håsblås + 1, Griffin + 1 | Smygard + 1 |
| Er du lojal? | Ravnklo + 1, Griffin + 1 | Smygard + 1 |
| Er du glad i konkurranse? | Griffin + 1, Smygard + 1 | |
| Er vennskap viktig | Håsblås + 1, Ravnklo + 1, Griffin + 1 | Smygard + 1 |
| Er du organisert? | Ravnklo + 1 |
Om dere ønsker andre spørsmål eller flere spørsmål, så er det selvsagt mulig å legge dem inn i programmet.
Steg 5 – finne ut hvor du hører hjemme
Når en er ferdig med spørsmålene, må en gå gjennom poengsummene de ulike husene har fått og finne ut hvilket hus en hører hjemme i. Dette gjør vi ved å sammenligne verdiene i de ulike «hus-variablene». Om «Griffin» verdien er høyere enn «Håsblås», «Ravnklo» og «Smygard» skal du i «Griffin» osv.
Dette kan løses på flere måter, men vi må ta høyde for at flere av husene kan få samme poengsum. Da kan vi ikke bestemme hvilket hus brukeren havner i.
Vi må derfor bygge opp en hvis-ellers test, som ender i at en ikke kan bestemme hus som siste utfall.

Steg 6 – tid for teste
Lag et testskjema, hvor dere teoretisk finner ut hvilket hus dere havner i, og test deretter ut i programmet ditt og se om du havner rett sted.