Modelløsninger til øvelser fra grundlæggende programmering med Python

Lektion 4's opgaver

Opgave 4.1

Downey skriver, at koden fra kapitlet kan downloades. Jeg foretrækker at skrive den selv for at få Python ind i fingrene.

  1. Tegn et stack-diagram, der viser programstatus under udførelsen af circle(bob, radius) jf kapitlets tekst og mit eksempel. Du kan udføre udregningerne per håndkraft, eller du kan indsætte passende print-statements i koden.
  2. Versionen af arc i Downey's Section 4.7 er ikke særligt præcis idet approksimationen til cirklen altid er udenom den sande cirkel. Derfor ender "padden" nogle pixel ved siden af de korrekte koordinater. Læs Downey's kode og se hans måde, hvorpå fejlen reduceres. Det kan hjælpe at tegne et diagram. Skriv kommentarer i hans løsning og aflever denne.
Løsningsforslag Python - Opgave 4.1
<xi:include></xi:include>
Opgave 4.2

Skriv nogle tilpas generelle funktioner til at tegne blomster, som dem du ser i Figur 19.2. Skriv, test og debug dem i programmet ass42.py.

Figur B.1. Blomster
Blomster

Figuren er figur 4.1 fra [Dow15].


Løsningsforslag Python - Opgave 4.2
<xi:include></xi:include>
Opgave 4.3

Skriv nogle tilpas generelle funktioner til at tegne figurer, som dem du ser i Figur 19.3. Skriv, test og debug dem i programmet ass43.py.

Figur B.2. Figurer
Figurer

Figuren er figur 4.2 fra [Dow15].


Løsningsforslag Python - Opgave 4.3
<xi:include></xi:include>
Opgave 4.4

Alfabetets bogstaver kan konstrueres fra et relativt moderat antal grafiske figurer, såsom lodrette og vandrette linjer og nogle få kurver. Design et alfabet, som kan tegnes med et minimalt antal af sådanne grundfigurer. Skriv derefter funktioner, der kan tegne bogstaverne.

Du bør skrive en funktion per bogstav med navne som draw_a, draw_b, etc. Der findes en “turtle typewriter” på http://thinkpython2.com/code/typewriter.py. Den kan hjælpe dig med at teste din kode.

Løsningsforslag Python - Opgave 4.4
<xi:include></xi:include>
Opgave 4.5

Læs om spiraler på http://en.wikipedia.org/wiki/Spiral. Skriv derefter et program, der tegner Archimedes spiral (eller en af de andre).

Løsningsforslag Python - Opgave 4.5
<xi:include></xi:include>