Når du programmerer, vil du før eller siden opdage, at du kommer til at gentage et mønster i koden, fordi du ønsker at gøre nogenlunde det samme flere steder i koden. Det har imidlertid nogle ulemper. Vigtigst af alt er koden sværere at vedligeholde, fordi kode skal rettes flere steder ved fejl eller ændringer. Det gør arbejdet mere omstændeligt, og der er risiko for, at koden ikke bliver rettet alle steder. Endelig vil det fylde flere linjer kode.
Som en løsning på dette anvendes en funktion, som du i dette afsnit vil lære at definere og anvende. En funktion generaliserer kode ved hjælp af parametre. Begrebet har også andre navne, for eksempel procedure og subrutine, men vi vil i denne bog bruge begrebet funktion.
Funktion
En funktion er en række instruktioner indkapslet i en enhed, som løser en opgave – eventuelt med input og/eller output.
En funktion kan optræde i koden på to måder: Definition og anvendelse.
Ved definitionen af en funktion skal du angive:
Funktionens navn
Parametrenes navne
Eventuelt datatypen for returværdien
Ved anvendelse af funktionen siges det også, at man kalder funktionen. Her angives navnet og de nødvendige argumenter.
Argument
Et argument er det faktiske datainput til en funktion.
Parameter
En parameter er en variabel, som henviser til et argument til en funktion.
Her er et eksempel på, hvordan du laver en funktion i Scratch:
Lykkehjulet var en populær tv-quiz, der var inspireret af det amerikanske Wheel of Fortune og blev sendt på TV2 i 90'erne. Målet med quizzen var at gætte et ord inden for en given kategori, f.eks. et sted eller en person. Deltagerne skulle dreje på et hjul og efterfølgende gætte på en konsonant, som kunne være indeholdt i ordet. Hvis ordet indeholdt konsonanten, blev det afsløret hvor i ordet konsonanten optrådte, og spilleren kunne fortsætte sin runde.
I denne del skal I arbejde på en simpel version af Lykkehjulet, som minder om Galgespillet (på engelsk: Hangman). I denne version kan der både gættes på konsonanter og vokaler, og målet er at bruge færrest muligt antal gæt.
Når man i programmering arbejder med ord og bogstaver benyttes 'strenge'.
En streng er en datatype der indeholde en række tegn.
Kør programmet 'Lykkehjulet' og spil spillet ved at klikke på det grønne flag i øverste venstre hjørne:
Koden til programmet kan hentes under programmet.
I videoen nedenfor gennemgås programmet + den opgave 5.1 I skal løse.
Spillet fungerer, men det trænger helt åbenlyst til nogle forbedringer.
Hvilke dele mangler spillet, før det fungerer efter hensigten?
Udvidelse af Lykkehjulet
I skal som minimum tilføje nedenstående til jeres program.
Spillet skal afsluttes, når ordet er gættet.
Der skal foretages en tælling, så man som bruger får oplyst, hvor mange forsøg, man har brugt.
Indsæt jeres egen kategori, og udfyld listen 'words' med nye ord.
Herudover forventes I at tilføje yderligere 1-3 forbedringer efter eget valg.
Husk at dokumentere, hvad I har lavet i jeres logbøger.
Husk at skrive et refleksionsskriv i din logbog, hvor du forklarer, hvad du har arbejdet med i lektion 5, hvad du har lært og hvilket udfordringer, du er stødt på.