====== Spam III ====== * Dotazy a odpovědi * Kontrola DÚ z minulého týdne * Tutoriál: Dědičnost * Programovací úloha * Individuální konzultace ===== DoD 20.11. 2015 ===== http://www.fel.cvut.cz/cz/prestudent/dod.html Pokud budete mít cestu okolo své střední školy, nebo budete mluvit s mladšími kolegy, pozvěte je. Pro další informace, kontaktuje Veroniku Šínovou, https://usermap.cvut.cz/profile/sinovver/ ===== Programovací testík ===== [[courses:a4b99rph:internal:kratke_testiky:tyden_05|Zadání]] na interních stránkách. ===== Dědičnost v OOP ===== * Bude se týkat tříd ''TrainingCorpus'' a jednotlivých spam filtrů. ==== Interaktivní programovací úloha a příklad k diskusi ==== ++++ Teplé nápoje | Máme malé automatizované bistro. Prodáváme v něm tureckou kávu a čaj. Recept na kávu: - Uvař vodu - Dej do šálku dávku mleté kávy - Zalij kávu vodou - Přidej mléko, cukr, atd., pokud si to zákazník přeje. Recept na čaj: - Uvař vodu - Dej do šálku sáček čaje - Zalij čaj vodou - Přidej citron, cukr, atd., pokud si to zákazník přeje. Dotazy k diskusi: * Jaké entity zde vystupují? Co mají společného? * Jaké jsou mezi nimi vztahy? (Is-a) Vytvořte software pro automatické vyřizování objednávek tak, aby následující kód objednavka = [TureckaKava('mléko a cukr'), Caj('citrón'), TureckaKava('mléko')] for napoj in objednavka: napoj.priprav() print() měl následující výstup: Vařím vodu. Dávám do šálku lžičku mleté kávy. Nalévám vodu do šálku. Přidávám mléko a cukr. Vařím vodu. Dávám do šálku sáček čaje. Nalévám vodu do šálku. Přidávám citrón. Vařím vodu. Dávám do šálku lžičku mleté kávy. Nalévám vodu do šálku. Přidávám mléko. > {{page>courses:a4b99rph:internal:cviceni:tyden07#Napoje&editbtn}} ++++ ++++ Dopravní prostředky | Mějme strategickou počítačovou hru typu Civilizace, Transport Tycoon nebo SimCity. Ve hře se vyskytují různé typy dopravních prostředků: * Co mají společného? * Jaké jsou mezi nimi vztahy? (Is-a) Předpokládejme, že chceme namodelovat schopnost těchto prostředků pohybovat se s tím, že bychom chtěli nějak zohlednit, že ne každé místo může být pro každý dopravní prostředek dosažitelné. Zkusme vytvořit systém, který např. po inicializaci 3 prostředků a po požadavku na přesun do Prahy vehicles = [ WaterVehicle(id='Titanic', current_location='Liverpool'), GroundVehicle(id='Humvee', current_location='Baghdad'), AirVehicle(id='Air Force One', current_location='Washington') ] for vehicle in vehicles: vehicle.move_to('Prague') print(vehicle) vypíše např. toto: Titanic: No route available. Current location: Liverpool Humvee: Travelled via ('Baghdad', 'gas station', 'Prague'). Current location: Prague Air Force One: Travelled via ('Washington', 'Prague'). Current location: Prague > {{page>courses:a4b99rph:internal:cviceni:tyden07#dopravni_prostredky&editbtn}} ++++ ===== Hádanka ===== > {{page>courses:a4b99rph:internal:cviceni:tyden07#Hadanka&editbtn}} ===== Programování ===== Dotáhněte úlohu spam filter do stavu, kdy vám fungují jednoduché filtry a jste schopni spočítat jejich kvalitu (tedy až do kroku 4). Pokud vám něco není jasné, **ptejte se cvičícího!** ====== Domácí úkol ====== V neděli je termín [[courses:a4b99rph:cviceni:spam:specifikace#odevzdani_1|odevzdání první části]] úlohy spam filter. Do Upload systému odevzdávekte vypracovanou funkci ''compute_quality_for_corpus()'' v modulu ''quality.py''. Společně s tímto modulem musíte odevzdat i všechny další moduly, které jsou pro úspěšnou činnost modulu ''quality'' potřeba. (Pravděpodobně se bude jednat o moduly ''confmat'', ''utils'' a možná další.) **Své moduly umístěte do kořene archívu! Archív by neměl obsahovat žádné adresáře!** ===== Programování ===== * [[courses:a4b99rph:cviceni:spam:krok5|Krok 5 - třída TrainingCorpus]], pokud ji ve svém filtru budete využívat. * [[courses:a4b99rph:cviceni:spam:krok6|Krok 6 - vlastní filtr]]: začněte na něm pracovat, ode dneška na něj máte cca 16 dní.