3

Programovanie, algoritmy, zložitosť 2009

 2 years ago
source link: https://novotnyr.github.io/courses/programovanie-algoritmy-zlozitost-paz1c-2009/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Programovanie, algoritmy, zložitosť 2009

Programovanie, algoritmy, zložitosť 2009

2009/09/23

Oznamy

  • Vo štvrtok je 5. 11. 2009 je prvý test!
  • Podmienky na zápočet sú uvedené v prvej prezentácii.
  • Každý študent je povinný byť na práve jednom praktickom cvičení a na teoretickom cvičení

Úvod a podmienky na zápočet

  • teoretické cvičenie - streda, 18.05, P11
  • cvičenie pri počítačoch
  • streda, 10.45, P3
  • streda, 12.35, P3
  • podmienky na zápočet
  • účasť na praktických cvičeniach (30%)
  • záverečný projekt (40%) - nutná podmienka
  • dva testy: jeden v polovici semestra, druhý na konci (30%)
  • jedna možnosť opravy jedného testu

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

  • zistiť pre človeka, v ktorom sektore býva
  • pre daný sektor vrátiť zoznam obyvateľov

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

  • zistiť pre včelu, v ktorej komôrke býva
  • pre danú komôrku vrátiť zoznam včiel, ktoré ju obývajú.

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.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK