Funkce a želva (lichý týden)  11. dubna 2024

Materiály

Nejste účastníkem kurzu
Pro zápis do kurzu se nejprve přihlašte a následně použijte tlačítko v přehledu kurzu.

Domácí projekty

Tolik nových slovíček! Aby ses v nich neztratila, zkus pomocí pár vlastních slov popsat, co to je …

0.

funkce

1.

argument

2.

procedura

3.

návratová hodnota

4.

výraz

5.

cyklus

6.

Jakou sekvenci dostaneš, když funkci range zavoláš se dvěma argumenty? A se třemi?

Želví kreslení! Tahle sekce tě naučí myslet jako programátoři počítačové grafiky. Je dobré jednotlivé projekty dělat postupně a nepřeskakovat. Kdyby sis potřebovala od želvy oddechnout, skoč až na další sekci.

Když něco začne fungovat, doporučuji znovu si řešení projít a zamyslet se nad ním.

7.

Nakresli trojúhelník.

trojúhelník

Poznámka: Rovnostranný trojúhelník má vnitřní úhly 60°. Želva se ale otáčí o vedlejší úhel 180 - 60 = 120°.

diagram

8.

Nakresli domeček!

domeček

Jak pravil Pythagoras, délka šikmé čáry v domečku je √2-krát délka stěny. Funkci na odmocninu najdeš na taháku.

9.

Nakresli vesnici!

vesnice

Jestli kreslení trvá dlouho a nebaví tě čekat, můžeš naimportovat a použít funkci speed, která nastavuje rychlost dalšího kreslení:

from turtle import speed

speed(1)  # želva jak má být – extrémně pomalá
speed(3)  # pomalá želva
speed(6)  # normálně rychlá želva
speed(10) # hodně rychlá želva
speed(0)  # turboželva
10.

Nakresli pravidelný n-úhelník, kde n zadá uživatel.

Vnitřní úhel pravidelného n-úhelníka má 180 × (1-2/n) stupňů.

Aby byly tvary zhruba stejně veliké, použij pro n-úhelník délku strany např. 200/n

11.

Nakresli vedle sebe pětiúhelník, šestiúhelník, sedmiúhelník, osmiúhelník.

mnohoúhelníky

12.

Želva umí jen rovné čáry. Jde pomocí rovných čar nakreslit kolečko?

Nevíš-li, přeskoč na další projekt a pak se sem vrať.

13.

Nakresli pravidelný stoúhelník.

14.

Nakresli takovýto ornament:

ornament

Nevíš-li si rady, vezmi pravítko a změř délky jednotlivých čar. Doporučuju začít od středu.

15.

Nakresli takovýto ornament:

ornament

16.

Nakresli spirálu.

spirála

Od ornamentů ke spirále se dostaneš stejným způsobem jako od n-úhelníků ke kolečku.

Procvičení cyklů a podmínek

17.

Napiš program, který se zeptá na 3 čísla a zjistí, jestli je jejich součet větší než 10.

18.

Napiš program, který se zeptá na 10 čísel a zjistí, jestli je jejich součet větší než 1000.

19.

Napiš program, který postupně načte od uživatele dvě čísla a jednoznakový řetězec – buď '+', '-', '*' nebo '/'. Program provede na číslech příslušnou operaci.

Příklad použití programu (hodnoty za dvojtečkou doplnil uživatel):

První číslo: 123
Druhé číslo: 456
Operace: +
123 + 456 = 579
20.

Napiš program, který se pětkrát zeptá na číslo a nejmenší zadané číslo vypíše.

Program by mělo jít snadno upravit tak, aby se ptal na deset nebo sto čísel.

Nevíš-li si rady, podívej se do materiálů k Přepisování proměnných. Místo přičítání do proměnné celkem zkus dávat správnou hodnotu do proměnné zatim_nejmensi.

Hra pro tento týden!

21.

Naprogramuj hru Oko bere:

  • Začínáš se skóre 0 bodů.
  • V každém kole:
    • Počítač vypíše, kolik máš bodů.
    • Počítač se zeptá, jestli chceš pokračovat.
    • Pokud byla odpověď „ne“:
      • Hra končí.
    • Jinak:
      • Počítač „vybere kartu“ – náhodně vybere číslo od 2 do 10;
      • vybranou hodnotu vypíše;
      • přičte tuto hodnotu ke skóre.
    • Pokud máš víc než 21 bodů:
      • Počítač vypíše, že prohráváš;
      • hra končí.
  • Po skončení hry počítač vypíše dosažené skóre.

Cílem hry je neprohrát a získat přitom co nejvíc bodů, ideálně 21.

A na konec pár nepovinných úkolů. Nestíháš-li, zaměř se na jiné úkoly.

22.

Napiš obrázek! Třeba les ze stromů, město z domů, nebe z hvězd, dav ze smajlíků, hradbu z věží, zikkurat ze schodů, ...

Můžeš použít i nějakou z funkcí modulu random.

Když budeš mít obrázků víc, odevzdej je všechny!

23.

V materiálech jsme kreslili tři čtverce, každý otočený o 15°.

Nakresli 18 čtverců pootočených o 20°.

24.

Vezmi program z minulé úlohy a dokresli stonek a listy. Je jenom na tobě, jaký budou mít tvar – nemusí odpovídat vzorovému obrázku. Piš komentáře a snaž se opakovat pomocí for, ne pomocí Ctrl+C Ctrl+V.

květina