=== Programování 1 === Základní kurs programovacího jazyka Python (0/2 Z). Cvičení, jehož součástí je výklad programovacího jazyka. Zápočet se uděluje za domácí úkoly zadávané během semestru. Značení: "-" jsou části výkladu "#" příklady konkrétních programů (n) udává plánovaný počet hodin ## Základy (1) - Python jako kalkulačka - celá čísla - floaty a problémy s přesností - operátory a jejich priority - přiřazení - základní podmínky a cykly (while) - struktura programu: komentáře, odsazování - triviální input() a print() - ladění programu, používání vývojového prostředí (IDLE/PyCharm) # rozklad čísla na číslice # znaky dělitelnosti jako algoritmy # Euklidův algoritmus # prvočísla dělením do odmocniny # faktorizace ## Cykly a pole (2) - for cykly, range() - break, continue - seznamy používané jako pole - přiřazení seznamu přiřazuje pouze odkaz - časová složitost, spíš jen intuitivně # vyhodnocení polynomu (Hornerovo schéma) # k-tý nejmenší prvek v čase k*n # Eratosthenovo síto # násobení matic # Gaussova eliminace ## Třídění a vyhledávání (1) # elementární třídicí algoritmy # binární vyhledávání # hledání kořenů funkcí: půlení intervalu, lineární interpolace ## Funkce (1) - definice a volání funkcí - nepovinné parametry - abstrakce a modularita programů - lokální identifikátory a jejich viditelnost - princip rekurze - předávání funkcí jiným funkcím ## Knihovny I a grafika (1) - používání knihoven, import - kreslení grafů pomocí matplotlib ## Seznamy a řetězce (2) - seznamy a operace s nimi - fronta a zásobník - iterování přes seznam - řezy - list comprehension - stringy # slévání setříděných posloupností ## Datové struktury (1) - podrobněji o typovém systému - tuples - slovníky a operace s nimi - výjimky a jejich odchytávání # práce se stromy ## Objekty (1) - třídy a objekty - popis reality pomocí objektů - odvozování typů, dědičnost ## Knihovny II a soubory (1) - práce se soubory - standardní knihovna # načítání a vypisování dat v různých formátech (zbývající hodiny jsou věnovány procvičování)