Kræsjkurs 💥 i programmering med turtle

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.

Endre på programmet så det tegner en 6-kant med like lange sider og like store vinkler.

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

forward(100)

Flytter skilpadden 100 piksler fremover.

backward(100)

Flytter skilpadden 100 piksler bakover.

right(90)

Snur skilpadden 90 grader mot høyre.

left(120)

Snur skilpadden 120 grader mot venstre.

penup()

Løfter pennen slik at skilpadden ikke tegner.

pendown()

Senker pennen slik at skilpadden tegner.

speed(heltall)

Setter farten til skilpadden. speed(1) er sakte. speed(9) er nest-raskest og speed(0) er raskest. Heltallene mellom 1 og 9 gir gradvis større fart.


Underveisoppgave 1

Under tegnes en figur.

../../../_images/animasjon2.gif

Fyll ut programmet under slik at det tegner figuren over på samme måte.

Under tegnes en figur.

../../../_images/animasjon3.gif

Fyll ut programmet under slik at det tegner figuren over på samme måte.

Under tegnes en figur.

../../../_images/animasjon4.gif

Fyll ut programmet under slik at det tegner figuren over på samme måte.


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.


Underveisoppgave 2

Nedenfor tegnes en figur.

../../../_images/animasjon5.gif

Fyll ut programmet under slik at det tegner figuren på samme måte.

Nedenfor tegnes en figur.

../../../_images/animasjon6.gif

Fyll ut programmet under slik at det tegner figuren på samme måte.

Nedenfor tegnes en figur.

../../../_images/animasjon7.gif

Fyll ut programmet under slik at det tegner figuren på samme måte.

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?

Kan du endre på programmet slik at det tegner en figur tilsvarende denne:

../../../_images/animasjon8.gif

I figuren nedenfor er vinkelen i hvert hjørne 120 grader (hvor mange grader må du snu deg da?). Lengden på sidene blir 5 mindre for hver gang.

Endre på programmet slik at det tegner denne figuren.

../../../_images/animasjon9.gif

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\).

../../../_images/animasjon10.gif

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\).

../../../_images/animasjon11.gif

Fyll ut programmet slik at det tegner figuren over.

Nedenfor tegnes det en spiral der

  • Lengden til hvert linjestykke er \(10 \%\) lenger enn det forrige.

  • Vinkelen mellom hvert linjestykke er \(140\) grader (hvor mange grader må du snu deg da?)

  • Den totale lengden av linjestykkene overgår ikke \(1000\).

  • Det første linjestykke har lengde \(1\).

../../../_images/animasjon12.gif