Introduksjon til Logo - heim.ifi.uio.noheim.ifi.uio.no/~gran/IKT4A98/logo-introduksjon.pdf · 3....
Transcript of Introduksjon til Logo - heim.ifi.uio.noheim.ifi.uio.no/~gran/IKT4A98/logo-introduksjon.pdf · 3....
Introduksjon til Logo
IKT for 4A på Sagdalen
Strømmen, 3. august 2008
© 2008 Øystein Gran Larsen, [email protected]
Asteriod Miner er et spill skrevet i Logo.Det er tilgjengelig på Internett, og man kan endre på programmet hvis man kanLogo.
3. august 2008 Introduksjon til Logo 2
Hva er LogoLogo er et programmeringsspråk som er laget for å støtte læring.
I likhet med noen andre programmeringsspråk er også Logo gammelt. men det lever i beste velgående. F.eks. bruker også OLPC-prosjektet Logo (http://wiki.laptop.org/go/The_OLPC_Wiki)
En viktig del av dette er et «tegneverktøy» som lett kan forstås av barn. Det er dette vi skal se nærmere på i det følgende.
Mer informasjon:http://el.media.mit.edu/Logo-foundation/ http://en.wikipedia.org/wiki/Logo_(programming_language)
3. august 2008 Introduksjon til Logo 3
Vi trenger et Logo-system på maskinenVi bruker MSWLogo som kan lastes ned fra http://www.softronix.com/logo.html
last ned installasjonen
gå til denne adressen
3. august 2008 Introduksjon til Logo 4
Brukergrensesnitt
her kan man skrive kommandoer
her kan man laste inn filer
dette er «pennen» som tegner
utvalget kommandoer:forward <lengde> ; flytt pennen fremoverright <vinkel> ; vri pennen mot høyrepenup ; løft pennen opp pendown ; sett pennen nedhome ; flytt pennen til origo setpos [<x> <y>] ; flytt pennen til x,y
Mange kommandoerkan forkortes, f.eks.fd for forward, rt for right, osv.
Tutorial under Help gir en kort intro.
3. august 2008 Introduksjon til Logo 5
KoordinatsystemerLogo tillater bruk av både kartesiske og polare koordinatsystemer:
Pennen kan settes ned på arket (PENDOWN) og løftes opp(PENUP). Hvis den er ned blir det tegnet en strek mellom punkteneman oppgir.
Illustrasjoner fra http://no.wikipedia.org/wiki
Kommandoer:● home● setpos
Kommandoer:● home● forward● right
3. august 2008 Introduksjon til Logo 6
Eksempel – filen med et lite program; en prosedyre, altså noe som kan brukes flere gangerTO PARALLELLELINJER REPEAT 24 [FORWARD 240 RIGHT 180 FORWARD 240 RIGHT 180 LEFT 90 FORWARD 10 RIGHT 90 PENDOWN]END
; her starter programmet med å tegne et rutearkPENUP ; løfter opp pennenRIGHT 90 ; vrir 90 grader mot høyreSETPOS [-130 -130] ; flytter pennen tilPENDOWN ; setter ned pennenPARALLELLELINJER ; tegner parallelle linjer RIGHT 90 ; vrir 90 graderPARALLELLELINJER ; tegner parallelle linjer
; fortsetter med å tegne et husPENUP ; opp med pennenHOME ; flytter til origoSETPENSIZE [3 3] ; endrer bredden på pennenPENDOWN ; setter ned pennenSETPOS [0 0] ; vinduet på langveggen SETPOS [30 10]SETPOS [30 -20]SETPOS [0 -30]SETPOS [0 0]PENUP ; opp med pennenSETPOS [-30 20] ; øvre venstre hjørne PENDOWN ; ned med pennenSETPOS [60 50] ; tegner langveggenSETPOS [60 -30]SETPOS [-30 -60]
SETPOS [-90 -60] ; fortsetter på kortveggenSETPOS [-90 20]SETPOS [-30 20]SETPOS [-30 -60] ; hjørnetPENUP ; opp med pennenSETPOS [-30 20] ; øvre venstre hjørne på langveggenPENDOWN ; ned med pennenSETPOS [-60 50] ; til mønetSETPOS [-90 20] ; ned til venstre hjørne på kortveggenPENUP ; opp med pennenSETPOS [-60 50] ; pennen til mønetPENDOWN ; ned med pennenSETPOS [30 80] ; tegne mønetSETPOS [60 50] ; ned til bortre hjørne på langveggenPENUP ; opp med pennenSETPOS[-70 -10] ; øvre venstre hjørne på det lille vinduet PENDOWN ; ned med pennenSETPOS[-50 -10] ; tegne det lille vinduetSETPOS[-50 -40]SETPOS[-70 -40]SETPOS[-70 -10]HIDETURTLE ; skjule pennen(GIFSAVE "mitthus.gif) ;skrive ut bilde
3. august 2008 Introduksjon til Logo 7
Eksempel – kjøre programmet i MSWLogo
mitthus.gif
3. august 2008 Introduksjon til Logo 8
Andre ressurserNetLogo (http://ccl.northwestern.edu/netlogo/) er en moderne Logo som støttes av et omfattende apparat av modeller for blant annet realfag.
Astroid Miner er et spill programmerti Logo som man kan laste ned fra http://eaglenebula.net/Asteroid_Miner/Asteroid_Miner.html (Kanskje du trenger FSMlogo (http://fmslogo.sourceforge.net/) forå kjøre det, men opplegget er det samme som for MSWlogo)