Programovanie, algoritmy, zložitosť 2009

2009/09/23

Oznamy

Úvod a podmienky na zápočet

Teoretické cvičenia

Cvičenie 1 (23. 9. 2009)

Reprezentácia dát. Stringy nie sú vhodný dátový typ. Ďalšie nápady na reprezentáciu. Triedy ako štruktúrované typy. Filozofia objektov. Inštančné premenné.

Prezentácia PDF

Cvičenie 2 (30. 9. 2009)

Metódy. Polia vs zoznamy. Primitívne a objektové typy. Autoboxing. Kompozícia tried. Privátne inštančné premenné. Gettre a settre. Prezentácia PDF

Cvičenie 3 (8. 10. 2009)

Samostatné čítanie: preťažené metódy, konštruktory a preťažené konštruktory Zapúzdrenie. Príklad s rodným číslom. Najprv kontrakt, potomm implementácia. Príklad návrhu kávového automatu a implementácia.

Cvičenie 4 (14. 10. 2009)

Iterácia príkladu - write tests first, ukážka vhodnej reprezentácie, tabuľka namiesto podmienok. Dedičnosť, polymorfizmus.

Prezentácia PDF

Cvičenie 5 (21. 10. 2009)

Liskovovej substitučný princíp. Prezentácia PDF

Referencie. Ako prebieha vytváranie objektu na halde. Prezentácia PDF

Cvičenie 6 (21. 10. 2009)

Interfejsy. Programovanie vzhľadom k interfejsom, nie k implementáciám. Kontrapríklady dedičnosti. Rady pre používanie dedičnosti.

Prezentácia PDF

%red% Ukážka písomky z minulého roka

Cvičenie 8 (18. 11. 2009)

Swing

Swing

Cvičenie 9 (25. 11. 2009)

Swing 2 - layout managery, ukážka modelov

Swing

Cvičenie 11 (10. 12. 2009)

Swing a vlákna

Swing

Cvičenie 12 (17. 12. 2009)

Prístup k SQL databázam s použitím Spring-JDBC.

Prezentácia PDF. V PDF sú priložené zdrojové kódy.

Praktické cvičenia

Cvičenie 1 (29. 9. 2008)

???

Cvičenie 2 (1. 10. 2009)

Naprogramujte simulátor Turingovho stroja

Cvičenie 3 (8. 10. 2009)

Skupina Mesto

Vytvorte triedu Mesto, ktorá sa pomocou konštruktora dokáže načítať zo súboru. Na načítanie zrecyklujte kód z prvého cvičenia.

Predpokladajte, že mesto je rozdelené na sektory (analógia mapy mesta). Zabezpečte, aby bolo možné evidovať adresu obyvateľa (reprezentovanú sektorom) bez toho, aby ste upravili triedu Clovek. Vytvorte metódy, ktoré dokážu

Skupina Úľ

Vytvorte triedu Úľ, ktorá sa pomocou metódy dokáže načítať zo súboru. Na načítanie zrecyklujte kód z prvého cvičenia.

Predpokladajte, že úľ je rozdelený na komôrky. (V jednej komôrke môže bývať aj viacero včiel, na rozdiel od reality). Zabezpečte, aby bolo možné evidovať umiestnenie včely v komôrke bez toho, aby ste upravili triedu Včela. Vytvorte metódy, ktoré dokážu

Cvičenie 4 (15. 10. 2009)

Skupina Mesto

Vytvorte metódu, ktorá presťahuje občana zo sektora do sektora.

V meste existuje niekoľko policajtov, ktorí zatýkajú nepoctivých občanov. Simulujte prácu policajta v „kolách", teda vypustite policajtov do mesta, tí nech si vyberú náhodného občana a v prípade, že je nepoctivý, nech ho pošlú do väzenia (nachádza sa v sektore 0, 0)

Skupina Mesto

Neďaleko úľa sa nachádza lúka s kvetmi, ktoré majú danú kapacitu (v dávkach). Simulujte prácu včiel v „kolách", teda vypustite včely (robotnice) z úľa. Každá včela nech si vyberie náhodný kvet, odoberie jednu dávku a vráti sa do jednej z komôrok úľa (nie nutne tej, z ktorej vyletela). V prípade, že je kvet prázdny, nech skúsi ešte dvakrát nájsť iný kvet.

Cvičenie (5. 11. 2009)

Písomka (vrátane riešenia).

Cvičenie (19. 11. 2009)

Skupina Mesto

Vytvorte okno, v ktorom zobrazíte do mriežky sektory. Na zobrazenie sektora použite JButton. Nadpisom gombíka nech je zoznam ľudí, ktorí obývajú daný sektor. Po kliknutí na gombík zobrazte nové okno s komponentom JList, ktorý zobrazí zoznam obyvateľov sektora.

Skupina Úľ

Projekt Úľ

Vytvorte okno, v ktorom zobrazíte do mriežky komôrky úľa. Na zobrazenie sektora použite JButton. Nadpisom gombíka nech je zoznam včiel, ktoré obývajú daný sektor. Po kliknutí na gombík zobrazte nové okno s komponentom JList, ktorý zobrazí zoznam včiel v danom sektore.

Cvičenie (25. 11. 2009)

Skupina Mesto

V okne s mriežkou sektorov použite GridLayout, ktorý sprehľadní rozhadzovanie komponentov. Namiesto gombíkov však použite panel, v ktorom pre každého obyvateľa sektora vykreslite jeden gombík. Po kliknutí na gombík používateľa zobrazte samostatné modálne okno obsahujúce popisné údaje o používateľovi (meno a rodné číslo), spolu s gombíkom OK.

Skupina Úľ

V okne s mriežkou komôrok použite GridLayout, ktorý sprehľadní rozhadzovanie komponentov. Namiesto gombíkov však použite panel, v ktorom pre každú včelu v komôrke vykreslite jeden gombík. Po kliknutí na gombík používateľa zobrazte samostatné modálne okno obsahujúce popisné údaje o včele (ID a typ), spolu s gombíkom OK.

>> Home