Denne oppgaven innfører funksjoner, og viser hvordan vi kan skrive og teste funksjoner i Ellie.

Like dokumenter
Steg 1: Få noe på skjermen

Modell, meldinger og oppdatering

Tell sekunder. Introduksjon. Skrevet av: Teodor Heggelund. I denne oppgaven skal vi lage vårt eget spill!

Steg 1: Hvordan fungerer spillet?

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

Denne oppgaven viser hvordan vi kan bruke musen til å kontrollere elm-programmene våre.

ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide

Steg 1: Piler og knappetrykk

"Dette skjer når jeg trykker på denne knappen" "Når jeg skriver i dette feltet, ser jeg at det andre forandrer seg"

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

I denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.

Hvor gammel er du? Hvor gammel er du? Del 1: Skrive ut til skjerm. Gjøre selv. Skrevet av: Sindre O. Rasmussen, Kodeklubben Trondheim

PXT: Flasketuten peker på

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

PXT: Micro:bit repeater

Steg 1: Lag bildedeklarasjon

Uendelig bakke. Introduksjon. Skrevet av: Kine Gjerstad Eide

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Sprettende ball. Introduksjon: Steg 1: Vindu. Sjekkliste. Skrevet av: Sigmund Hansen

Bygge en pyramide. Introduksjon. Steg 1: Lage en ny mod. Sjekkliste. Skrevet av: Pål G. Solheim

Steg 1: Felix har forsvunnet!

Fraktaler og datastrukturer

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

JS: Grunnleggende JavaScript

PXT: Bjelleklang. Introduksjon. Skrevet av: Kolbjørn Engeland, Julie Revdahl

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim

Tell sekunder. Steg 0: Hva er forskjellig fra før? Introduksjon. I denne oppgaven skal vi lage vårt eget spill!

Kan micro:biten vår brukes som et termometer? Ja, den har faktisk en temperatursensor!

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Kom i gang med Learn To Mod

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl

PXT: Tikkende bombe. Introduksjon. Steg 1: Vi starter spillet. Skrevet av: Kolbjørn Engeland

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Hash-funksjoner. Introduksjon. Steg 1: Strekkoder. Eksempel. Skrevet av: Martin Strand

PXT: Spå fremtiden med bilder

Steg 1: Rest etter divisjon

Input fra brukeren. Hente tekst fra brukeren. Moduler og program. Modell, meldinger og oppdatering. Skriv ut teksten. Introduksjon

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle

I denne oppgaven skal vi gi en enkel innføring til klasser og objekter (ordene forklares senere i teksten).

Repetisjon Novice Videregående Python PDF

Finn en partner å prøve spillet sammen med. Det er OK å være tre personer og bytte på hvilke to som spiller.

Fraktaler og datastrukturer

Steg 1: Installere programvaren

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

Hei verden. Introduksjon. Steg 1: Sette opp Xcode. Skrevet av: Andreas Amundsen

Steg 1: Animasjons-attributtet

7-Segment Display. Introduksjon. Steg 1: Finn frem utstyr. Til denne oppgaven trenger du. Skrevet av: Martin Ertsås & Morten Minde Neergaard

Start et nytt PXT-prosjekt, for eksempel ved å gå til makecode.microbit.org (

Steg 1: Vi starter fra toppen

Steg 1: Regneoperasjoner på en klokke

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes

Verden. Steg 1: Vinduet. Introduksjon

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

Skrevet av: Oppgaven er laget av GDG Bergen ( AU/GDGBergen/), og tilpasset Kodeklubbens format på oppgaver.

Hver ting i en liste kalles et element. En liste lages ved å skrive elementer inni [], med, mellom elementene:

Tre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang

"Hjerneteppe!" er en huskelek hvor du skal huske stadig lengre rekker med bokstaver!

Steg 1: Endre bakgrunn og finne figurer

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle

HTML: Legg til lyd og video

Steg 1: Hvordan styre figurer med piltastene

PXT: Komponer en melodi

I denne oppgaven skal vi gjøre enkle operasjoner på tekst, som å endre størrelsen på bokstavene og telle ord.

Tegnespillet. Introduksjon:

Steg 1: Husker du skilpadden?

ToPlayer. Steg 1: Kom i gang med metodene setup og draw. Gjør dette: Introduksjon:

Steg 1: Vår første datamaskin

Steg 1: Katten og fotballbanen

I denne oppgaven skal du lære hvordan du kan flytte rundt på elementer og gjemme elementene bak andre elementer ved hjelp av CSS.

Steg 1: Bli kjent med spillet

Skilpaddekunst. Introduksjon. Skrevet av: Geir Arne Hjelle

Hvor i All Verden? Del 3. Introduksjon. Steg 0: Forrige gang. Sjekkliste. Skrevet av: Geir Arne Hjelle

På tide med et nytt spill! I dag skal vi lage tre på rad, hvor spillerne etter tur merker ruter med X eller O inntil en av spillerne får tre på rad.

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

Verden - Del 2. Intro. Skrevet av: Kine Gjerstad Eide

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Skrevet av: Geir Arne Hjelle

HTML: Del inn nettsiden

Steg 1: Tekst på flere linjer

Læringsmål og pensum. v=nkiu9yen5nc

Steg 1: Canvas-elementet

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

CSS: Style nettsider. Introduksjon. Skrevet av: Arve Seljebu

PGZ - Hangman Ekspert Python Lærerveiledning

Sprettende ball Introduksjon Processing PDF

Steg 1: Hente grafikk fra nettet

Hvor i All Verden? Del 2. Introduksjon. Steg 0: Forrige gang. Skrevet av: Geir Arne Hjelle

Brukerveiledning digital eksamen via FLOWlock

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

Steg 0: Installere Pygame Zero

Lærerveiledning - Pong

Hei verden Introduksjon Swift PDF

Donkey Kong. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

Steg 1: En første animasjon

Lærerveiledning - Snøballkrig

Flagg. Introduksjon. Steg 1: Gå i sirkel. Skrevet av: Sverre Oskar Konestabo og Geir Arne Hjelle

Transkript:

Ellie og funksjoner Skrevet av: Teodor Heggelund Kurs: Elm Tema: Tekstbasert, Nettside Fag: Programmering, Teknologi Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Denne oppgaven innfører funksjoner, og viser hvordan vi kan skrive og teste funksjoner i Ellie. Gjør deg kjent med Ellie Ellie er et online utviklermilø for Elm. Her kan du programmere Elm, uten at du trenger å laste ned noe til pc'en din. Slik ser Ellie ut når du åpner den i en web browser: Nå skal vi gjøre oss kjent med Ellie. Gå til https://ellie-app.com (https://ellie-app.com) Dette vil starte Ellie i nettleseren, med et enkelt Elm kodeeksempel.

Klikk på Compile, for å kjøre koden som viser i den midterse delen av vinduet. Resultatet vil vise på høyre side. Lagre Du kan lagre prosjektene du jobber med i Ellie ved å klikke Save, eller Fork om det er et Ellie prosjekt noen har delt med deg. Dette gir deg en unik link til den nåværende versjonen av prosjektet. Du må selv ta vare på linken for å kunne gå tilbake til prosjektet senere. Elm som en kalkulator Elm kan brukes som en kalkulator. Vi kan regne ut et tall og vise tallet som en nettside. For å vise et enkelt tatt på en nettside: main = text (tostring (9001)) Elm kan også regne! main = text (tostring (100 + 9 * 9)) Siden Elm programmer kjører i en web side, må koden vår returnere noe som kan vises av web browseren. Vi bruker her funksjonene tostring og text til å konvertere resultatet av utregningen vår til noe som kan vises i browseren. Gå til [https://ellie-app.com/hfj7wycctja1](https://ellie-app.com/hfj7wyc ctja1) for et eksempel utrykk.

Kjør eksempelkoden. Bytt ut utrykket i koden med forskjellige utrykk hvor med +, -, *, og /. Skriver vi inn 1 + 2, viser resultatet 3 på høyre side. I praksis er det en Html struktur vi har generert, med en text node som har verdien "3". Regn ut 12345 * 6789 med Elm! Hva sier Elm når du prøver å dele på 0? Vi bruker = til å binde en verdi til et symbol. Det kan vi gjøre i et let utrykk. Det består av to deler, en let del hvor vi binder en eller flere verdier til symbolske navn, og en in del, hvor vi bruker verdiene i et utrykk. Resultatet av dette utrykket blir returnert som verdien av hele let utrykket. main = text (tostring math) math = let in x = 3 y = 4 x + y Gå til [https://ellie-app.com/hfmtv2gw2ma1](https://ellie-app.com/hfmtv2g w2ma1) og kjør eksempelet. Prøv med forskjellige utrykk og bindinger. Sett birthyear til året du er født

Sett currentyear til året vi er i nå Hva blir currentyear - birthyear? Er det det samme som alderen din? Hvorfor/hvorfor ikke? Funksjoner En funksjon gir sammenhengen mellom input og output: Funksjonen plus3 gir sammenhenger: 0 3 7 10 Funksjonen double gir sammenhenger: -5-10 0 0 15 30 Dette er en elm-funksjon: double er funksjonsnavnet. x er navnet på verdien som kommer inn i funksjonen. Dette er funksjonens parameter. x * 2 er resultatet til funksjonen. Funksjoner i Ellie La oss lage funksjonen double :

main = text (tostring math) math = double 2 Vi må fortsatt ha litt ekstra kode for å kunne vise resultatet av å kalle funksjonen vår. Vi definerer main som en funksjon også, og det er denne som blir kjørt når siden vår lastes. I elm kan vi også fortelle kompilatoren vår hvilke typer input og output til en funksjon har. Som regel vil Elm-kompilatoren selv finne ut av det, men om vi legger til type informasjon kan kompilatoren sammenligne typene vi har sagt funksjonen omhandler med hva den selv finner ut, og gi oss gode feilmeldinger når det ikke stemmer overens. Denne double funksjonen for eksempel, tar inn en x som er et tall, og returnerer x * 2 som er et nytt tall. Typen for tall i Elm heter number og typen til funksjonen blir dermed number -> number -- fra tall til tall. Kan du se at -> ser ut som en pil? number -> number skal se ut som number number. Vi kan legge til typeinformasjonen slik: double : number -> number main = text < tostring < double 4 Vi sier da at double er en funksjon som forventer at vi putter inn tall, og lover å gi tall tilbake. Vi bruker funksjonen ved å skrive funksjonsnavnet ( double ) etterfulgt av argumentet. F.eks( double 4 ) for å kalle funksjonen med argumentet 4. Hva er double 123? Hva er double 7? triple er funksjonen som ganger med tre:

triple 9 27 triple 100 300 Lag triple! Gir din triple det samme som min? Parametere og argumenter double : number -> number En parameter er navnet vi gir verdiene som kommer inn funksjonen. x er en parameter. double 15 Et argument er verdien som kommer inn i funksjonen. 15 er et argument. Lisens: CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0/deed)