DATAKODING TRINN FOR TRINN
IN N H O L D Max Wainewright Originalens tittel: How to Code - A Step-by-Step guide to Computer Coding Oversatt av Irene Inman Tjørve Fagkonsulenter: Øystein Gulbrandsen og Nora Tessem fra Lær Kidsa Koding Copyright © QED Publishing 2015 Part of The Quarto Group The Old Brewery 6 Blundell Street London N7 9BH Norsk utgave: © CAPPELEN DAMM AS, 2017 ISBN 978-82-02-53110-2 1. utgave, 1. opplag 2017 Design og illustrasjoner: Mike Henson Design: Angela og Dave Ball Sats: Irene Inman Tjørve Trykt i Kina, 2017 Materialet i denne publikasjonen er omfattet av åndsverklovens bestemmelser. Uten særskilt avtale med Cappelen Damm AS er enhver eksemplarfremstilling og tilgjengeliggjøring bare tillatt i den utstrekning det er hjemlet i lov eller tillatt gjennom avtale med Kopinor, interesseorgan for rettighetshavere til åndsverk. Utnyttelse i strid med lov eller avtale kan medføre erstatningsansvar og inndragning, og kan straffes med bøter eller fengsel. www.cappelendamm.no
KAPITTEL 1
5
I n n l e d n i n g
6
S l i k g i r d u i n st r u k s e r
8
Tr i n n f o r t r i n n
10
Ko d e d e b e s k j e d e r
12
R u n d t o g r u n d t
14
LOGO V i l æ r e r L o g o
16
Te g n m e d L o g o
18
SCRATCH V i l æ r e r S c ra t c h
20
Pe n n p å
22
Tr y k k p å e n t a st
24
I n n d a t a o g r e t n i n g e r
26
Te g n m e d i n n d a t a
28
D e b u g g i n g (f e i l s ø k i n g )
30
Fa s i t t i l k a p i t t e l 1
32
KAPITTEL 2
35
I n n l e d n i n g
36
LOGO L ø k k e r
38
M ø n st r e m e d l ø k k e r
40
SCRATCH
SCRATCH L ø k k e r i S c ra t c h
42
T i l f e l d i g k u n st
88
E v i g e l ø k k e r
44
D e b u g g i n g (f e i l s ø k i n g )
90
G j e n t a t i l ...
46
Fa s i t t i l k a p i t t e l 3
92
G j e n t a t i l fa n g e t
48
L e g g t i l l y d
50
KAPITTEL 4
95
Ly d e f f e k t e r
52
I n n l e d n i n g
96
Va r i a b l e r
54
Po e n g t e l l i n g
56
S l i k l a g e r d u n e t t s i d e r
98
K l i k k t e l l i n g
58
S l i k b r u k e r d u H T M L
10 0
D e b u g g i n g (f e i l s ø k i n g )
60
A d r e s s e r o g l e n k e r
10 2
Fa s i t t i l k a p i t t e l 2
62
L e n k e r i l a n g e b a n e r
10 4
Fa r g e f e st!
10 6
KAPITTEL 3
65
Innledning
66
SCRATCH
HTML
JAVASCRIPT L e g g t i l J a va S c r i p t
10 8
J a v a S c r i p t- l ø k k e r
1 10
Hvis-kommandoer
68
J a v a S c r i p t-f u n k s j o n e r
112
Lag din egen kviss
70
J S -f u n k s j o n e r m e d H T M L
1 14
E l l e r s - k o m m a n d o e r
72
D y r e p r o s j e k t
1 16
H v i s f i g u r e n b e r ø r e s …
74
S l i k d e l e r d u n e t t s i d a d i
1 18
D e b u g g i n g (f e i l s ø k i n g )
120
PYTHON Bli k jent med Python
76
Fa s i t t i l k a p i t t e l 4
122
P y t h o n - p r o g ra m m e r i n g
78
I n f o r m a s j o n o m r e s s u r s e r
123
P y t h o n - s p ø r s m å l
80
P y t h o n - l ø k k e r
82
P y t h o n - g ra f i k k
84
Tilfeldig Python
86
ORDLISTE 124 REGISTER 1 2 6
U D R E N N I HER F TRENGER: DET DU Her ser du hvordan du kan få tak i Logo, Scratch og Python slik at du kan begynne å prøve deg fram.
LOGO
SLIK INSTALLERER DU PYTHON PÅ PC
1 Gå til: www.python.org. 2 Klikk «Downloads» og velg «Download Python» (versjon 3.4 eller nyere).
Logo ble opprinnelig oppfunnet av Seymour Papert for mer enn 40 år siden. Det finnes flere versjoner av den.
3 Dobbeltklikk på den nedlastede filen og følg
Hvis du bruker PC, kan du laste ned en gratisversjon av Logo fra: www.softronix.com/logo.html
4 Klikk «Start», klikk «Python», og klikk deretter
Eller du kan begynne å bruke Logo med en gang ved å åpne nettleseren din og gå til: http://turtleacademy.com/playground/en eller www.calormen.com/jslogo/
SCRATCH
Du kan bruke Scratch på en PC eller Mac ved å åpne nettleseren og gå til: http://scratch.mit.edu. Nederst på siden kan du velge norsk språk, så velger du «Programmering» eller «Prøv det».
instruksjonene på skjermen.
«IDLE». (I Windows 8 går du til toppen av skjermen og klikker «Search», så taster du inn «idle» og klikker på programmet for å starte det.)
SLIK INSTALLERER DU PYTHON PÅ MAC 1 Gå til: www.python.org. 2 Klikk «Downloads» og velg «Download Python» (versjon 3.4 eller nyere).
3 Dobbeltklikk på den nedlastede filen og følg instruksjonene på skjermen.
Nettsida Snap ligner veldig, og fungerer også på nettbrett. Den finner du her: http://snap.berkeley.edu/run
4 For å komme fort i gang med Python, klikker du på
Hvis du vil kjøre Scratch uten å bruke Internett, kan du laste programmet ned herfra: http://scratch.mit.edu/scratch2download/
5 Tast «idle»
«Spotlight»
(øverst på skjermen). File
Edit
New
Spotlight idle
File
Edit
New New
og klikk «Enter». File
Edit
New New
Slik lager du et ikon for Python på en Mac (dette gjør det lettere å finne programmet): 1 Åpne «Finder». 2 Åpne «Gå»-menyen og velg «Programmer». 3 Skroll nedover og klikk på Python.
Trygg på Internett Voksne bør ha tilsyn med barn som bruker Internett, særlig når de bruker et ukjent nettsted for første gang. Forfatteren og forlaget påtar seg intet ansvar for innholdet av nettstedene det henvises til i denne boka.
4
4 Dra IDLE-ikonet til menylinja nederst eller på siden av skjermen.
KAPITTEL 1
1 L E T KAPIT
INNHOLD :: KAPITTEL 1 In n le d n i n g
6
S lik gi r d u i n st r u k s e r
8
Tr i n n f o r t r i n n
10
Ko d e d e b e s k je d e r
12
R u n d t o g r u n d t
14
LOGO
Vi lærer Logo
16
Te g n m e d L o g o
18
SCRATCH
V i l æ r e r S c ra t c h
20
Pe n n p å
22
Tr y k k p å e n t a st
24
In n d a t a o g r e t n in g e r
26
Te g n m e d i n n d a t a
28
D e b u g gi n g (f e ils ø kin g)
30
Fa s i t t il k a pi t t e l 1
32
Enter
1 L E T T I P A K L I T FASIT Side 10
Side 19
Du ender opp i rute 6.
1
2
3
1 H O O O O O 2 O O H O O O O H H H N N V 3 V V V N N N N H H N N N H
Side 13 1 O3 H3 N1 2 H3 N3 V3 O3 eller N3 H3 O3 V3 3 N4 H3 O2 V3 eller N2 H3 N2 V3 O2 4 O3 H3 N3 V3 eller H3 O3 V3 N3 5 N1 V1 H3 V2 N3 H2 eller N1 H2 V3 H1 N3 H2 6 N4 H3 7 H3 O2 V3 N3 H3 eller O2 H3 N2 V3 N1 H3 8 V2 N2 V1 H2 V1 N2 V1 eller V2 N2 H1 V2 H1 N2 V1 9 N1 V1 H3 V2 N3 H2 eller N1 H2 V3 H1 N3 H2
Side 15 1 framover 11 3 framover 11 4 framover 11 høyre 90 venstre 90 venstre 90 framover 11 framover 11 framover 11 venstre 90 venstre 90 2 framover 11 framover 11 framover 11 høyre 90 venstre 90 venstre 90 framover 11 framover 4 framover 11 høyre 90 venstre 90 framover 11 framover 3 høyre 90 framover 11
32
4 fd 100 5 fd 80 6 fd 100 7 fd 30 rt 90 lt 90 rt 90 rt 90 fd 100 fd 40 fd 100 fd 30 rt 90 rt 90 rt 90 lt 90 fd 100 fd 20 fd 100 fd 30 rt 90 rt 90 rt 90 rt 90 fd 100 fd 100 fd 100 fd 30 rt 180 rt 90 rt 90 lt 90 fd 50 fd 20 fd 50 fd 30 lt 90 rt 90 rt 90 rt 90 fd 100 fd 40 fd 100 fd 30 lt 90 rt 90 lt 90 fd 80 fd 50 fd 30 rt 90 rt 90 rt 90 fd 20 fd 50 fd 30 rt 90 rt 90 fd 100 fd 120 rt 90 fd 120
Lykke til! Vi sees i kapittel 2.
Side 23
Side 30–31
Det er hundrevis av måter å løse disse på – her er noen eksempler:
1 Ta ei brødskive. 4 Putt brødskiva i brødristeren. Ta brødskiva ut av brødristeren. Smør smør på skiva.
1
penn på gå vend
2
30 steg
gå
90 grader
vend
gå 100 steg vend gå vend
penn på
gå
90 grader
vend
30 steg
gå
90 grader
vend
gå 100 steg
gå vend gå vend gå
3
penn på gå vend gå vend gå vend gå vend gå vend gå vend gå vend gå
60 steg 90 grader 30 steg 90 grader 30 steg 90 grader 30 steg 90 grader 60 steg 90 grader 30 steg 90 grader 30 steg 90 grader 30 steg
4
100 steg 90 grader 30 steg 90 grader 70 steg 90 grader 70 steg 90 grader 30 steg 90 grader
2 N4 H3 O2 V3 3 fd 100 rt 90 fd 300 rt 90 fd 100 rt 90 fd 300
penn på gå
200 steg 90 grader
vend
gå 200 steg grader
vend
gå
200 steg 90 grader
vend
gå 200 steg
5
når n
trykkes
pek i retning gå
180
10 steg
100 steg
penn på gå vend gå vend gå vend gå vend gå vend gå vend gå vend gå
30 steg 90 grader 90 steg 90 grader 30 steg 90 grader 90 steg 180 grader 30 steg 90 grader 30 steg 90 grader 30 steg 90 grader 30 steg
33
G N I N D E L INN
Datamaskinens indre Inndata Både mus, tastatur og pekeskjermer er inndata-utstyr – de gir datamaskinen, nettbrettet eller telefonen inndata.
Med denne boka kan du lære deg å kode – det vil si at du kan lære å fortelle en datamaskin hva den skal gjøre. Først skal vi hilse på den vennlige roboten Ada, som er oppkalt etter verdens første dataprogrammerer: Ada Lovelace.
Inn
dat a
Inndata
Inndata
Utdata
Hils på Ada
Skrivere, skjermer og høyttalere er utdata-utstyr – de gjør at datamaskinen kan gi deg data og fortelle deg ting.
Ada Lovelace (1815–52) ble født i England for 200 år siden. Hun fant ut at en maskin kunne løse problemer hvis den fikk steg for steg-instruksjoner – et program, med andre ord. Men den gang var det dessverre ikke funnet opp noen datamaskiner som hun kunne prøve ut ideene sin på!
Utda
ta
Hva er koding? Koding er å skrive et ord eller en setning – en «kode» – som forteller datamaskinen hva den skal gjøre. Ordene må skrives på et spesielt språk som datamaskinen forstår. I dette kapitlet ser vi på to språk: Logo og Scratch. Koding kalles også data programmering. Alle datamaskiner trenger programmer som forteller dem hva de skal gjøre. Både bærbare PC-er, nettbrett, telefoner og stasjonære datamaskiner trenger programmer for å være til nytte. 6
ata
Utd
ata
Utd
Vi jobber i data maskinens minne. Datamaskiner trenger minne for å lagre data.
Programmer leses fra minnet og omdannes til enkle, kodede instruksjoner.
Velkommen til prosessoren – datamaskinens hjerne!
Med inndatautstyr kan du taste inn programmer og få datamaskinen til å gjøre ting.
Prosessor
Vi følger instruksjoner – og gir brukeren resultatene gjennom utdatautstyr. 7
R E S K U R T S N I U D R I G K I SL Det er mange måter vi kan be folk om å gjøre ting på. Hvis noen sa: «Skru på lampa», «Sett på lyset» eller til og med «Det er mørkt – skru på den greia», så ville du vite hva du skulle gjøre. Men for å programmere en datamaskin må vi bruke helt riktige ord – og i riktig rekkefølge. Ord som forteller datamaskiner – eller folk – hva de skal gjøre, kalles instrukser eller instruksjoner.
Sfrjookkoos-t
Lag frokost Tenk deg at du programmerer vår vennlige robot Ada til å lage frokost. Kan du ordne disse instruksene i riktig rekkefølge?
A Åpne esken med frokostblanding. B Hell melk på frokostblandingen. C Åpne melkekartongen. D Hell frokostblanding i skålen. E Hent en skål i kjøkkenskapet.
Bli en menneskerobot Nå kan du prøve å bli en menneskerobot! Det vil hjelpe deg å tenke over hvordan du skal gi presise instrukser. Du trenger en venn for å spille dette spillet. En av dere må late som om han eller hun er en robot. Den andre må være programmerer som gir roboten instrukser. Denne spillerens oppgave er å gi roboten instrukser om å gå til døra. De eneste kommandoene som kan gis til roboten er: Gå framover. Vend til venstre. Vend til høyre. Stopp.
8
Ukorre instru kt ksjon! kt Ukorre n! ksjo instru
Robotkunstner Her er et annet spill der du kan øve deg på å gi instrukser. Dette trenger du:
1 en venn
Sett dere ved et bord. En av dere skal være robotkunstneren, mens den andre er programmerer. Programmereren skal gi roboten instrukser for å tegne en av figurene nedenfor. Denne gangen skal roboten bare flytte på blyanten. Robotpartneren får bare lov til å gjøre det programmereren sier. Her er kommandoene du kan bruke:
2 et papirark
flytt oppover
3 en blyant flytt til venstre
STOPP!
flytt til høyre
flytt nedover
2
1
3
4
Når dere blir flinke til dette spillet, kan dere prøve å la roboten tegne med øynene lukket. Pass på så dere ikke tegner på bordet! Kan dere få roboten til å tegne noe annet?
Nøkkelo rd
progr am fortelle : instrukser som r en eller ro datamaskin bot hv skal gj a den øre
9