Kræsjkurs 💥 i programmering med turtle
#
Kommandoer
forward(100)
Flytter skilpadden 100 piksler fremover.left(90)
Snur skilpadden 90 grader mot venstre.
Utforsk 1
Under vises et program som tegner en geometrisk figur.
Kjør programmet og se på figuren som tegnes.
Kan du forklare hva som skjer i programmet?
Endre på programmet så det tegner et kvadrat.
Fasit
1from turtle import *
2
3forward(100)
4left(90)
5
6forward(100)
7left(90)
8
9forward(100)
10left(90)
11
12forward(100)
13left(90)
Endre på programmet så det tegner en 6-kant med like lange sider og like store vinkler.
Fasit
1from turtle import *
2
3forward(100)
4left(60)
5
6forward(100)
7left(60)
8
9forward(100)
10left(60)
11
12forward(100)
13left(60)
14
15forward(100)
16left(60)
17
18forward(100)
19left(60)
Det finnes flere kommandoer vi kan bruke med turtle
for å tegne figurer.
Under vises en oversikt over de viktigste så i prinsippet kan tegne alle typer figurer.
Du trenger ikke å huske disse utenat. Du kan bla opp hit hvis du trenger en kommando eller glemmer hva en kommando gjør!
turtle
-kommandoer
Kommando |
Forklaring |
---|---|
|
Flytter skilpadden 100 piksler fremover. |
|
Flytter skilpadden 100 piksler bakover. |
|
Snur skilpadden 90 grader mot høyre. |
|
Snur skilpadden 120 grader mot venstre. |
|
Løfter pennen slik at skilpadden ikke tegner. |
|
Senker pennen slik at skilpadden tegner. |
|
Setter farten til skilpadden. |
Underveisoppgave 1
for
-løkker#
I Utforsk 1 og Underveisoppgave 1 måtte vi gjenta samme kommando flere ganger. Måten vi gjorde det på da var bare å kopiere samme kodelinje flere ganger. Det ingen tvil om at dette er en ganske tungvinn måte å skrive kode på. Det har vi heldigvis en løsning på i programmering – ved å bruke løkker.
for
-løkke
for i in range(3)
forteller oss at vi gjentar koden med innrykk 3 ganger.
Utforsk 2
Under vises et program som tegner et figur ved å bruke en for
-løkke til å gjenta noen handlinger.
Kjør programmet og se på figuren som tegnes.
Kan du forklare hvordan programmet fungerer?
Endre på programmet så det tegner et kvadrat i stedet.
Endre på programmet så det tegner en 6-kant.
Endre på programmet så det en 12-kant.
Det kan være lurt å gjøre lengden i
forward
litt mindre så du får plass til figuren på skjermen.
Variabler#
I Utforsk 2, brukte vi en for
-løkke til å tegne forskjellige figurer. Men for å tegne en ny figur, måtte likevel koden endres på flere steder ved at vi byttet ut tallene på flere steder.
Vi kan komme rundt denne svakheten kan vi bruke bruke variabler, som du skal se nærmere på i Utforsk 3.
Utforsk 3
Under vises et program som tegner en figur ved å bruke variabler til å lagre tallene som skal brukes flere steder i koden.
Kjør programmet og se på figuren som tegnes. Kan du forklare hvordan programmet fungerer?
Endre på programmet så det tegner et kvadrat.
Endre på programmet så det tegner en 6-kant.
Endre på programmet så det tegner en 12-kant.
Endre på programmet så det tegner en sirkel.
while
-løkker#
Vi har sett hvordan vi kan bruke for
-løkker til å gjenta en handling et bestemt antall ganger. for
-løkker er nyttige så lenge vi på forhånd vet hvor mange ganger vi skal gjenta én eller flere handlinger. I mange tilfeller ønsker vi å gjenta noe så lenge en betingelse er oppfylt. Da kan vi bruke en while
-løkke.
Utforsk 4
Nedenfor vises et program som tegner en figur ved å bruke en while
-løkke til å tegne en figur.
Les programmet og kjør det.
Kan du forklare hvordan programmet fungerer?
Underveisoppgave 4
Nedenfor tegnes en geometrisk figur der
Hvert linjestykke blir \(5\) lenger for hver gang.
Vinkelen mellom hvert linjestykke er \(90\) grader.
Det tegnes til sammen \(20\) linjestykker.
Det første linjestykke har lengde \(1\).

Fyll ut programmet slik at det tegnes figuren over.
Nedenfor tegnes en spiral der
Hvert linjestykke blir \(1\) lenger for hver gang.
Vinkelen mellom hvert linjestykke er \(150\) grader (så man snur seg \(180-150=30\) grader mot venstre).
Til sammen tegnes det \(30\) linjestykker.
Det første linjestykke har lengde \(1\).

Fyll ut programmet slik at det tegner figuren over.