http://vitas.matfyz.cz/cv/

Cvičení z programovaní PRG004


Návrhy na zápočtové úlohy -- zimní semestr

  1. Hry, simulace, vlastní návrhy, blbosti všeho druhu (dostatečné složitosti) ...
  2. Kalkulačka -- sčítaní, odčítání, umocňování, základní mat. fce, závorky paměti M1 až M9. Vše se vejde do datového typu Real.
  3. Kalkulačka na dlouhá čísla -- sčítaní, odčítání, umocňování na malé číslo, závorky
  4. grep -- vytiskne pouze ty řádky, ze standardního vstupu, které obsahuje dané slovo. slovo muže obsahovat speciální znaky '.' (libovolný znak) '*' opakování libovolný počet krát předcházejícího znaku, '^' začátek řádky, '$' konec řádky.
  5. syntaxh -- program, který zvýrazní syntax konkrétního jazyka (jeden z pascal, c, html, ... ) (zvýrazní klíčová slova, čísla, řetězce, komentáře, proměnné).
  6. htmlimg -- doplní do html do tagu <img src="..."> informace o rozměrech obrázku. (popisy formátů .jpg, .gif, .png)
  7. diff -- najde rozdílné řádky porovnávaných souborů.
  8. obecné zápalky -- hraje zápalky s *velkou* možností variací pravidel (více kupek, vyhrává kdo vezme|nevezme poslední, kdo má sudý počet zápalek, odebírat je možno i až j zápalek, lichý počet zápalek, atd... ). možnost hry dvou hráčů.
  9. simulátor turingova stroje -- popis turingova stroje je mozne zkouknout zde
  10. šachové koncovky -- řeší malo figurové šachové koncovky.
  11. bludiště -- navrh "hezkého" bludiště v rovnině + hledání cesty.
  12. fraktály -- zobrazení nejakého hezkého fraktalu.
  13. osmislměrky -- snaží se na základě slovníku vytvořit osmisměrku (nebo crisscross), daného tvaru.
  14. graf fce -- nakresli graf explicitně zadané fce.
  15. compress -- implementace nějakého kompresního algoritmu.
  16. ed nebo vi -- editor pro drsnaky (nejaka rozumna podmnozina funkčnosti těchto editorů).
  17. ed -- editor pro drsnaky.
  18. indent -- zkrašlovač zdrojáků (zarovná dle pravé štabní kultury) nejaký z jazyků (html, pascal, c a pod).
  19. eliza -- psychoterapeut, ktery polozi otazku na zakladě predchozí otazky, případně drobně obměňuje. (-nemam rad počítače? -proč si myslite, že nemate rád počítače? -počítače mě ničí. - a ničí vás pouze počítače? ...)
  20. derive -- mechanicke deriování explicitních fcí, pokud zvládne drobné upravy a zjednodušení, jen dobře.
  21. louskacek -- jednoduchy louskacek hesel. na vstupu uzivatelske jmeno a hash jeho hesla, ukolem je urcit jeho heslo. Mozno pouzit slovnik a co nejvíce fint ulehcujicích práci. Hash může být libovolná, špatně inverznitelná fce.

Návrhy zápočtáků pro letní semestr

  1. Deskové hry -- jákekoli deskové hry s inteligentně hrajícím protihráčem
  2. Piano v lese -- v zadání je les, (souřadnice stromů) poloměr piana (idealizovaného na kružnici), úkolem je zjistit jakou cestou lze piano dostat ven.
  3. Unix utils -- různé utility známe z unixu (diff, cpp, grep, sed, ed, more). Rozsah funkčnosti nemusí dosahovat kvalit oněch utilit a záleží na individuální domluvě.
  4. Indent -- zpřehledňovac zdrojáků, vstupem je zdroják nějakéh jazyka (c, pas, html) program zaformatuje tak, aby zdroják byl přehledny.
  5. Basic -- interpretr basicu (či jiného prg. jazyka) programovaci jazyk.
  6. Karel -- programovací karel. Možné jsou i různé modifickace: + ke každému nějaké pěkné příklady, které demonstrují čím se nový Karel obohatil od původního.
  7. Křížovky -- program sestavující křížovku na základe slovníku. Zřejmě budou potřeba nějaké optimalizace oproti "hrubé síle".
  8. Polynomialní kalkulačka s pamětí -- jako normální kalkulačka, ale umožnuje operace nad polynomy proměnné x.
  9. Rozličné hry -- střílečky, chodbyčkovky, adventure, obsahující počítačem ovládané příšerky. Příšerky by měli lepší bojovní strategii než jen "zničit krtka".
  10. Kalendář -- něco jak unixový cal, plus výpočet fáze měsíce, velikonoc, dnu kdy se mění letní a zímní čas. Nezapomene na přechod julianského kalendáře.
  11. Fraktály -- Zobrazení fratál zadaných předpisem.
  12. Vizualizace algoritmů -- jako základ se vezme nějaký složitější program, či algoritmus přednášený na přednášce. Výsledkem bude grafické znázornění jeho běhu. Např u vyvážených stromů bude vydět jak prvek postupně postupuje po stromu a jak se strom vyvažuje. A podobně.
  13. Kompresní algoritmus -- nějaký kompresní algoritmus dle svého výběru.
  14. Simulace obchoďáku -- vhodně si matematizovat nějakou věc z realného života a tuto matematizaci implementovat. Vhodné by bylo vysledek vyzualizovat.
  15. Editor grafů -- user friendly interaktivní editor spojený s implementací nějakého grafového algoritmu (min obarvení, max tok a pod. Pokud bude pěkné (a v definech) může být uznán zároveň jako sw projekt.)
  16. Fot -- jednoduchý jazyk pro formátování textu. Text obsahuje značky které budou ovlivnovat sazbu znaků (např centrovane, zarovnané doleva|doprava,tabulka,&preformated,čára). Mohl by umožňovat jednoduchá makra. Fot text vytiskne dle předkladaných požadavků.
  17. Dlouhá a úzká kalkulačka -- jako norm kalkulačka. Čísla budou reprezentovaná jako zlomky dlouhých čísel
  18. .
  19. Dolňte posloupnost -- pokusí se uhodnout system v posloupnosti čísel. Hledá klasické finty. Dobré by bylo, kdyby se další finty daly snadno doprogramovat.
  20. Papoušek -- z databáze citátů vybírá "nejpodobnější" citát zadanému. Přičemž "nejpodobnější" může být definováno různě. Např. největší delkou stejného substringu. Nebo nějaká vymakanější ohodnocovací fce.


Zpět: http://vitas.matfyz.cz/cv/