Funkce  11. října 2022

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

Trocha experimentování. Zkus se zamyslet, jestli jsi „dobře” pochopila otázku.

0.

Co se stane, když tělo nějaké funkce necháš prázdné? Zkus vysvětlit proč. (Tělo funkce je odsazený blok za dvojtečkou)

1.

Co se stane, když necháš prázdné tělo cyklu? Zkus vysvětlit proč.

2.

Zkus se nedívat na kódy ze srazu. Napiš funkci, která vrátí obvod čtverce, kdy délka strany čtverce je zadána parametrem funkce. Výsledek funkce vypiš v těle hlavního programu pomocí print. (Tzn. tělo funkce nebude obsahovat print)

3.

Napiš funkci, která vypíše do jednoho řádku prvních 11 násobků zvoleného čísla (argument funkce). Např.: pro vstup 2 vypíše funkce 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20.

4.

Změn funkci z předchozího úkolu tak, aby funkce měla tři argumenty – číslo, počet vypisovaných násobků, znak pro oddělení vypsaných násobků.

5.

Proč používat funkce? Protože ti umožní znovu používat (recyklovat) již napsaný kód a udělají tvůj program přehlednější. Nechceme přeci psát ty samé řádky kódu znovu a znovu, raději si usnadníme práci :) V následujících úkolech si ukážeme koncept kdy je funkce, která vykonává jeden určitý úkol, volána v jiné funkci. Tímto způsobem můžeme zařídit relativně složité chování programu za pomoci pár řádek kódu.

6.

Nejprve si napiš funkci, která rozhodne jestli zadané číslo je liché. Funkci si vhodně pojmenuj. Pokud nevíš jak zjistíš, že dané číslo je liché, zkus se podívat na operátor modulo % a zamysli se, jak by se dal použít pro vyřešení úkolu.

7.

Napiš funkci která pro zadaný počet N vygeneruje N náhodných čísel, každé vygenerované číslo vypíše spolu s informací zda-li je liché či nikoliv. Tuto funkci si pojmenuj jednoduše lichost_nahodnych_cisel(pocet).

8.

Teď už potřebuješ jen hlavní kód programu, který zavolá funkci lichost_nahodnych_cisel, abys mohla ověřit, že tvůj kód funguje správně.

9.

Procvičení programování. Často je jednoduché něco napsat, ale dotažení do konce může být časově náročné. Nemáš-li čas, zkus se aspoň zamyslet, jak bys projekt vyřešila.

10.

Změň program Kámen, Nůžky, Papír tak, aby opakoval hru dokud uživatel nezadá konec.

11.

Změň funkci ano_nebo_ne tak, aby se místo ano se dalo použít i a, místo ne i n a aby se nebral ohled na velikost písmen a mezery před/za odpovědí.

Textům jako možná nebo no tak určitě by počítač dál neměl rozumět.

12.

Výzva   Napiš program, který simuluje tuto hru: První hráč hází kostkou (t.j. vybírají se náhodná čísla od 1 do 6), dokud nepadne šestka. Potom hází další hráč, dokud nepadne šestka i jemu. Potom hází hráč třetí a nakonec čtvrtý. Vyhrává ten, kdo na hození šestky potřeboval nejvíc hodů. (V případě shody vyhraje ten, kdo házel dřív.)

Program by měl vypisovat všechny hody a nakonec napsat, kdo vyhrál.

Nápověda: průběžně stačí ukládat jen údaj, kdo vede.