===== Cvičení ===== Soubory pro ZK5-Easy {{courses:b3b33alp:cviceni:pts1.txt| pts1.txt}}, {{courses:b3b33alp:cviceni:pts2.txt| pts2.txt}}. Soubory pro ZK5-Hard {{courses:b3b33alp:cviceni:osm1.txt| osm1.txt}}, {{courses:b3b33alp:cviceni:slova1.txt| slova1.txt}}, {{courses:b3b33alp:cviceni:osm2.txt| osm2.txt}}, {{courses:b3b33alp:cviceni:slova2.txt| slova2.txt}}. ==== Cvičící ==== [[http://mrs.felk.cvut.cz/people/petr-stepan|Petr Štěpán]] (Vedoucí cvičení), [[http://mrs.felk.cvut.cz/people/vonasek|Vojtěch Vonásek]], [[http://www.cs.cas.cz/~rimnacm/|Martin Řimnáč]], [[http://imr.ciirc.cvut.cz/People/Tomas|Tomáš Pivoňka]] ==== Program cvičení ==== ^ týden ^ datum ^ obsah ^ | 1 | 21,22.9. | [[courses:b3b33alp:cviceni:t01| Úvod do cvičení]] | | 2 | 29.9. | pouze úterní cvičení | | 3 | 5,6.10. | [[courses:b3b33alp:cviceni:t02| Cykly a reálná aritmetika]] | | 4 | 12,13.10. | [[courses:b3b33alp:cviceni:t03| Funkce]] | | 5 | 19,20.10. | [[courses:b3b33alp:cviceni:t04| 1D pole]] | | 6 | 26,27.10. | [[courses:b3b33alp:cviceni:t05| 2D pole]] | | 7 | 2,3.11. | [[courses:b3b33alp:cviceni:t06| Pole, matice]] | | 8 | 9,10.11. | [[courses:b3b33alp:cviceni:t07| Rekurze, třídění]] | | 9 | 16.11. | [[courses:b3b33alp:cviceni:t08| Fronta, zásobník]] - úterní cvičení odpadá| | 10 | 23,24.11. | [[courses:b3b33alp:cviceni:t09| Semestrální práce]] | | 11 | 30.11.,1.12. | [[courses:b3b33alp:cviceni:t10| Fronta, stavový automat]] | | 12 | 7,8.12. | [[courses:b3b33alp:cviceni:t11| Objekty, Halda, Asociativní pole]] | | 13 | 14,15.12. | [[courses:b3b33alp:cviceni:t12| Náhodná čísla, grafický výstup]] | | 14 | 4,5.1. | [[courses:b3b33alp:cviceni:t13| Zápočtový týden]]| ==== Zápočet ==== * Zápočet získáte, pokud ze cvičení získáte minimálně 12 bodů. * Ve cvičení bude 10 úloh. Můžete si vybrat buď lehčí úlohu za 1 bod, nebo těžší úlohu za 2 body. Lehké úlohy nepředpokládají žádné znalosti mimo přednášky a cvičení. Těžší úlohy se hodí pro ty z vás, kteří již programovat umí a jsou i náročnější a rozsáhlejší. * Poslední úloha ve cvičeních bude větší semestrální práce za 5 bodů. * Každou úlohu je nutné odevzdat nejpozději do 3 týdnů od zadání (cvičící může udělit výjimku - na základě lékařského potvrzení atp.) * Z každé úlohy (i ze semestrální práce) musí student získat nenulový počet bodů, hodnocení úlohy provádí odevzdávací systém a je možné získat i desetinné hodnocení za částečně fungující úlohu. * POZOR: Odevzdávací systém má někdy omezený počet testovacích případů. Nikdy neodevzdávejte program typu: když vstup=1, výstup je 5, když vstup=2, výstup je 10, když ... . Může se stát, že Vám odevzdávací systém za takový program přidělí nějaké body, ale když to dodatečně zjistí cvičící, tak Vám tyto body odebere a budete muset vyřešit zadanou úlohu znovu obecně. Nikdy to nedělejte u zkoušky, protože to může být důvod k vyloučení od zkoušky. * Každý může řešit libovolné úlohy - teoreticky můžete získat až 25 bodů z cvičení. * Pokud začnete řešit těžkou úlohu a její řešení se Vám nepodaří, lze i později odevzdat úlohu lehčí. * Všechny úlohy se odevzdávají přes [[http://cw.felk.cvut.cz/upload/|Odevzdávací systém]] * **Zápočet je nutné získat před zkouškou** ==== Obecné pokyny pro odevzdávání domácích úkolů ==== === Odevzdání === * Vaše domácí práce odevzdávejte skrze [[https://cw.felk.cvut.cz/upload/|Odevzdávací systém]]. Je možné odevzdat jeden soubor (.py) nebo zip/tgz archív. * Názvy souborů obsahující vaše odevzdávané programy jsou v zadání každé úlohy předepsány a je nezbytné je dodržet. V případě že odevzdáváte archív souborů, předepsané soubory musí být v kořenovém adresáři archivu (nikoli v podadresáři). * Odevzdané programy jsou hodnoceny automatickým systémem. Každý program, dostane-li specifikovaná vstupní data, musí tedy proběhnout bez vnějších zásahů uživatele (stisky kláves a podobně). === Tipy pro úspěšné odevzdání programu === * Program (zdrojový soubor v Pythonu) se musí jmenovat přesně tak, jak je definováno v úloze. Soubory s jiným jménem systém nehodnotí * Před nahráním programu do systému doporučujeme spustit jej v příkazové řádce. Např takto: > python3.5 jmeno_souboru.py * pozn. na mnoha operačních systémech bývá současně nainstalován python2 i python3 a program python může, v závislosti na konfiguraci systému, spustit bud python2 nebo python3. Abyste zajistili, že program spouští pythonem3, raději používejte příkaz python3.x, kde x záleží na aktuální instalaci. === Lehká nebo těžká verze === * Domácí úlohy mají lehkou a těžkou verzi, lišící se obtížností a bodovým hodnocením. * Vždy si vyberte, kterou verzi budete řešit. * Verze se liší názvy odevzdávaných souborů, podle toho jaké soubory odevzdáte, hodnotící systém pozná jakou verzi jste si zvolili. * V případě že odevzdáte obě, systém bude hodnotit pouze těžkou verzi. * Rozhodovat mezi těžkou a lehkou úlohou se můžete kdykoliv a opakovaně (lze odevzdat nejdříve lehkou úlohu, pak zkusit těžkou úlohu a když Vám nevyjde řešení těžké úlohy, opět odevzdat fungující řešení lehké úlohy). === Pracujte samostatně === * Pokud neumíte dobře programovat a nebudete sami řešit úlohy s velkou pravděpodobností neuděláte zkoušku * Na zkoušce budete pod dozorem řešit podobné úlohy v časovém limitu, proto je procvičování nutné * Odevzdávací systém kontroluje podobnost řešení * Pokud Vám není něco jasné, máte problémy s domácí úlohou, ptejte se na cvičeních svého cvičícího!