Cvičenie 01 2021

Korytnačia grafika

Inštrukcie:

  • Cieľom tohto cvičenia je osvojiť si prácu s vývojovým prostredím IDLE jednak v interaktívnom móde a tiež aj v skriptovacom móde. Budeme používať knižnicu Turtle, ktorá nám poskytne funkcie na vykresľovanie obrázkov.
  • V sekcii Turtle príkazy sú vybrané príkazy korytnačej grafiky, ktoré budete na tomto cvičení potrebovať. Kompletná dokumentácia korytnačej grafiky je na https://docs.python.org/3/library/turtle.html . Nájdete tam viac príkazov aj s podrobnými popismi, čo robia.
  • Úlohy začínajú až v sekcii Interaktívny mód. Na cvičení by ste mali stihnúť spraviť všetky úlohy zo sekcie Interaktívny mód a všetky úlohy zo sekcie Skriptovací mód. Ak sa zaseknete, oslovte cvičiaceho, nech vám pomôže. Takisto oslovte cvičiaceho, ak máte nejaké problémy s inštaláciou Pythonu na vašom počítači, alebo ak máte hocijaké iné problémy súvisiace s predmetom. Ak niektoré z úloh v sekciách Interaktívny mód a Skriptovací mód nestihnete vypracovať na cvičení, dokončite ich doma.
  • Úlohy v sekcii Ťažšie úlohy riešiť nemusíte. Tie sú tu pre študentov, ktorí už majú skúsenosti s programovaním, aby sa nenudili. Ak sa vám na cvičení podarí vypracovať Najťažšiu úlohu, oslovte cvičiaceho, odprezentujte mu vaše riešenie a ak to budete mať dobre, dostanete bonusový bod.

Turtle príkazy:

Príkazy treba zadávať vo forme turtle.prikaz . Napríklad príkaz turtle.forward(100) vykreslí čiaru dĺžky 100 pixelov. Príkaz turtle.left(90) zase otočí korytnačku o 90 stupňov doľava.

  • Pohyb a kreslenie
    • pohyb dopredu/dozadu – forward()/backward()
    • otocenie dolava/doprava – left()/right()
    • nastavenie pozície pera – setposition()
    • nastavenie smeru peru – setheading()
    • undo() – návrat do stavu pred posledný príkaz
    • speed() – rýchlost kreslenia
  • Zistenie stavu pera
    • smer – towards()
    • vzdialenost – distance()
  • Stav kreslenia
    • kreslit/nekreslit – pendown()/penup()

 

Interaktívny mód

Úlohy:

  1. Spustite si IDLE.
  2. Pomocou príkazu „import turtle“ si naimportujte knižnicu turtle.
  3. V interaktívnom móde nakreslite vodorovnú čiaru dĺžky 100 pixelov.
  4. V interaktívnom móde nakreslite štvorec.

 

Skriptovací mód

Úlohy riešte v skriptovacom móde. Pre každú úlohu vytvorte nový súbor (New File) a ten spúšťajte.

Poznámka: Vo zvyšku semestra budeme skoro stále pracovať v skriptovacom móde. Je to oveľa šikovnejšie.

Úlohy:

  1. Vykreslite štvorec.
  2. Vykreslite rovnostranný trojuholník.
  3. Vykreslite rovnostranný päťuholník.
  4. Vykreslite Obrázok 1 zo súboru obrazky.pdf.

 

Ťažšie úlohy

Ak už máte skúsenosti s programovaním a sú vám už známe koncepty ako funkcie for cykly, môžete skúsiť vyriešiť úlohy v tejto sekcii. Syntax, ktorá sa v Pythone používa pre funkcie a for cykly, je ukázaná v nasledujúcom skripte:

Úlohy:

  1. Pomocou for-cyklu vykreslite obrázok 2 zo súboru obrazky.pdf.

  2. Definujte funkciu so vstupom n, ktorá vykreslí rovnostranný n-uholník.
  3. Pomocou for-cyklu vykreslite obrázok 3 zo súboru obrazky.pdf. Pomôcka: Všimnite si, že obrázok dostanete tak, že budete rotovať päťuholník okolo stredu obrázku.

Najťažšia úloha:

1.časť:

  • Vykreslite obrázok 5 zo súboru obrazky.pdf . Všimnite si, že špirála na obrázku pozostáva z na seba naukladaných pravouhlých trojuholníkov a že strany trojuholníkov, ktoré tvoria obvod špirály majú vždy rovnakú dĺžku.

2.časť:

  • Definujte funkciu so vstupom n, ktorá pomocou príkazov korytnačej grafiky a obrázku 5 vypočíta odmocninu z n. Pomôže vám, ak si pozriete dokumentáciu ku knižnici turtle (odkaz na dokumentáciu je v inštrukciách na vrchu stránky). Pri riešení / počítaní odmocniny nepoužívajte matematické funkcie z modulu math, ani umocnenie čísla na 0,5.