http://vitas.matfyz.cz/cv/
Cvičení z programovaní PRG004
Návrhy na zápočtové úlohy -- zimní semestr
-
Hry, simulace, vlastní návrhy, blbosti všeho druhu (dostatečné složitosti) ...
-
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.
-
Kalkulačka na dlouhá čísla -- sčítaní, odčítání, umocňování na malé číslo,
závorky
-
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.
-
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é).
-
htmlimg -- doplní do html do tagu <img src="...">
informace o rozměrech obrázku. (popisy formátů
.jpg,
.gif,
.png)
-
diff -- najde rozdílné řádky porovnávaných souborů.
-
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áčů.
-
simulátor turingova stroje -- popis turingova stroje je mozne
zkouknout
zde
-
šachové koncovky -- řeší malo figurové šachové koncovky.
-
bludiště -- navrh "hezkého" bludiště v rovnině + hledání cesty.
-
fraktály -- zobrazení nejakého hezkého fraktalu.
-
osmislměrky -- snaží se na základě slovníku vytvořit osmisměrku
(nebo crisscross), daného tvaru.
-
graf fce -- nakresli graf explicitně zadané fce.
-
compress -- implementace nějakého kompresního algoritmu.
-
ed nebo vi -- editor pro drsnaky (nejaka rozumna podmnozina
funkčnosti těchto editorů).
-
ed -- editor pro drsnaky.
-
indent -- zkrašlovač zdrojáků (zarovná dle pravé štabní kultury)
nejaký z jazyků (html, pascal, c a pod).
-
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? ...)
-
derive -- mechanicke deriování explicitních fcí, pokud zvládne
drobné upravy a zjednodušení, jen dobře.
-
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
- Deskové hry -- jákekoli deskové hry s inteligentně hrajícím protihráčem
- 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.
- 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ě.
- 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.
- Basic -- interpretr basicu (či jiného prg. jazyka) programovaci
jazyk.
- Karel -- programovací karel. Možné jsou i různé modifickace:
-
Karel paralel -- umožnit konstrukci když-vydlička, která rozhodí Karla
na dva Karly, přičem jeden pokračuje v provádění příkazu v true-větvi
a druhý ve false-větvi. + inter-karel-comunication: když-karel,
zdechni (ukončí právě prováděného karla). zdechni-dvojce. aj.
-
Zedník Karel -- ktery umi stavět zdi a pokládat bomby. Bomba kazdy takt
sezere jednu znacku a když nebude žádná tak vybuchne, a znici vsechny
zdi v 8-mi okoli (popr i karla).
-
3D -- Karel se pohybuje ve vsemíru, má navíc příkaz vzhůru-vbok. + možná
něco dalšího. nutná dobrá vizualizace.
-
Hexarel, Karel na hexové síti.
-
Karel Malíř -- tři druhy značek: červená-značka, modrá-značka,
zelena-značka, zobrazení plánu města jako barevného obrázku a Karel
v něm kreslí. (nějaké fraktály a pod). Město by moho byt bez zdí.
+ ke každému nějaké pěkné příklady, které demonstrují čím se nový
Karel obohatil od původního.
- Křížovky -- program sestavující křížovku na základe slovníku. Zřejmě budou
potřeba nějaké optimalizace oproti "hrubé síle".
- Polynomialní kalkulačka s pamětí -- jako normální kalkulačka, ale
umožnuje operace nad polynomy proměnné x.
- 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".
- 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.
- Fraktály -- Zobrazení fratál zadaných předpisem.
- 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ě.
- Kompresní algoritmus -- nějaký kompresní algoritmus dle svého
výběru.
- Simulace obchoďáku -- vhodně si matematizovat nějakou věc z realného
života a tuto matematizaci implementovat. Vhodné by bylo vysledek
vyzualizovat.
- 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.)
- 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ů.
- Dlouhá a úzká kalkulačka -- jako norm kalkulačka. Čísla budou
reprezentovaná jako zlomky dlouhých čísel
.
- Dolňte posloupnost -- pokusí se uhodnout system v posloupnosti
čísel. Hledá klasické finty. Dobré by bylo, kdyby se další finty daly
snadno doprogramovat.
- 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/