====== 4. Strukturované datové typy ====== Možná řešení úkolů jsou uvedena v sekci [[courses:bab37zpr:solutions:lab04|řešení]]. ===== Úkoly ===== * Napište program, který prohodí hodnoty dvou proměnných. Zamyslete se nad tím, jak by to šlo udělat co nejjednodušeji * Implementujte následující program: def obdelnik(arg): "funkce na vypocet obsahu obdelnika" def kruh(arg): "funkce na vypocet obsahu kruhu" def obsah(f, arg): "funkce na vypocet obsahu geometrickeho utvaru" print("obsah kruhu:", obsah(kruh, 2.21)) print("obsah obdelnika:", obsah(obdelnik, (3, 4)) * Vyzkoušejte různé způsoby procházení vytváření (concatenation, funkce append) seznamů a jejich procházení (přímá indexace, využití ''in'') * Prozkoumejte rozdíl mezi kopií seznamu a aliasem (reference na existující seznam) * Navrhněte funkci, jejíž návratovou hodnotou bude vektor (1D pole/seznam) inicializovaný náhodnými celými čísly v daném rozsahu * Napište funkce, které provedou operace sčítání a skalárního násobení s vektorů * Vytvořte seznam reprezentující matici. Napište program, který vypíše jednotlivé prvky matice. * Seznam vozů v garáži je popsán datovou strukturou (viz níže). Vypište jmenný seznam majitelů vozů. Kolik je v garáži vozů zn. Volvo? garaz = [ ("Petr Kellner", ["Porsche", "BMW", "Volvo"]), ("Karel Komarek", ["BMW", "Volvo"]), ("Andrej Babis", ["BMW", "Porsche"]), ("Daniel Kretinsky", ["BMW", "Ferrari", "Ford Mustang"])]