Ve Stanici Techniků Vyšehrad pořádáme v rámci Soutěže v programování Okresní kolo pro Prahu 2 a další pražské části, pro které se nenajde místní organizátor. Zadání okresního kola vytváříme sami, s ohledem na
Dále (zpravidla v dubnu) se u nás pořádá pražské krajské kolo soutěže. Zadání úloh krajských kol jsou společné pro celou ČR a dostupné na sp.stv.cz. V krajském kole jsou pro porotce společně se zadáním předepsána hodnotící kritéria, zajištující konzistenci hodnocení napříč kraji.
Tento web vznikl za účelem sdílení našich zadání úloh a metodik, ke kterým jsme zkušeností dospěli.
Vygenerování pyramidy znaků
Program pro evidenci sbírky plyšových zvířátek. Ukládá data a umožňuje vyhledávání.
Grafická úloha - zobrazte oči pozorující kurzor.
Vyhledávání nejkratší cesty v bludišti, která navštíví zadaná místa.
Úkolem úlohy je v bludišti nalézt všechna dosažitelná slova. Poté je vypsat správně obrácená (určuje velké písmenko na začátku) a abecedně seřazená.
Úkolem je vytvořit jednoduchou kalkulačku se zadáním čísel, operacemi sčítání, odčítání, násobení a dělení. Rozšíření by mělo fungovat pro zlomky, zadané se znakem pípy, například 5|3
Vstupem programu je obrázek rozdělený na čtvrtiny (přesné). Cílem je poskládat zpětně ze čtvrtin obrázek - nemáte však informaci, která čtvrtina je ve výsledném obrázku na kterém místě.
Tetris se čtvercovou, a případně s dlouhou kostičkou.
Hledání playlistu z daných písniček, tak aby splňoval zadanou délku. Problém batohu řešitelný dynamickým programováním.
Hledání nejkratší cesty bludištěm řešitelný například Dijkstrovým algoritmem
Úloha sestavování obrázku z jeho menších částí. Snazší varianta bez rotace, složiější (za více bodů) s rotací zdrojových obrázků - je třeba se orientovat v soustavě souřadné a vymyslet správnou transformaci.
Jde o vložení znaku nového řádku dle zadaných pravidel.
Grafická animační úloha - animace krajiny
Algoritmus pro televizní přepínač
Logická hra v mřížce - bludiště a přesouvání beden
Interaktivní tvorba receptů
Grafická animační úloha - pohyb a animace rybiček.
Náročnější grafová úloha.
Populární jednoduchá hra s časovou osou
Algoritmus pro zpracování proudu textových akcí. Zadání využívá jednu z posledních automatizačních změn, dotýkající se běžného života.
Hra pro dva hráče - a na plný počet bodů i s počítačem jako protihráčem. Anglicky se tato hra jmenuje Nim.
Grafová úloha, řešitelná nejefektivněji Floyd-Warshall algoritmem.
Lingivistická úloha která prověří základní funkce pro práci s řetězci. Vede na zamyšlení se nad jazykem z programátorského hlediska.
Kupecká trojčlenka zadaná na příkladu z reálného světa. Aplikace které tento problém řeší mají desítky milionů stažení - a jejich základem je nejspíš podobný algoritmus jako napíšete vy.
Hra - kulička odrážená dvěma pálkami. Ukázkových řešení je plno, takže pozor na plagiátorství.
Podobné úloze frekvence písmen v textu; využije hashmap/dictionary
Kombinatorická úloha, respektive hledání cesty bez backtrackingu.
Práce s grafikou - obrázkem - na úrovni bitmapy.
Překvapivě nepopulární (asi dvě řešení od třiceti účastníků) úloha - možná je fyzikální model příliš komplikovaný, možná je to jen zmateně zadané.
Vdečná úloha na GUI, názorná pomůcka pro učení zlomků.
Matfyzácká úloha s doplňováním mezer do řádků textu tak, aby byl text zarovnán do bloku.
Kódování - jeden řádek se rozvine do tří řádků (výstupků pro nevidomé), stačí anglická abeceda (26 znaků)
Matfyzácká úloha na BFS a backtracking.
Spořič obrazovky z prastarého ''Volkov Commander'' - zobrazování hvězd v různé fázi. Tehdy to bývalo v textovém režimu, my to můžeme mít jako grafickou úlohu.
Hra - zpracování deskovky ''Kde leží Kotěhůlky'' s pražskými tramvajemi. Vstupy je snadné vytvořit s pomocí otevřených dat DPP.
Grafická úloha s animací.
Klasický algoritmus převodu mezi soustavami - parametrizovaná vstupní soustava, výstup do desítkové.
Logická hra s přesouváním prázdného místa po NxN čtverci okořeněná požadavkem na zobrazení rozřezaného obrázku na přesouvaných dlaždicích.
Experimentální úloha analýzy souvislého vstupu - síťového streamu.
Klasická algoritmická úloha hledající délku intervalu mezi dvěma časy. Ulehčení je, že na Marsu nejsou měsíce. Díky použití specifik jiné planety se vyhýbáme možnosti plagiátorství, na druhou stranu nelze použít běžnou zkušenost, ale je třeba opravdu pečlivě přečíst a pochopit zadání.
Snaha prověřit znalost datové struktury hashmapy (dictionary, ...) - prostě key->value a její praktické použití. Hodnoceno i na základě schopnosti pracovat s písmenky s diakritikou a utf-8 znaky - což je vlastnost, kterou dnes čím dál tím víc jazyků a postupů poskytne "zadarmo".
Grafická úloha vykreslení klasických ručičkových hodin pomocí grafických primitiv (přímka, kružnice, atd) prověřuje základy analytické geometrie a soustavy souřadné používané při práci s grafickými knihovnami.
Grafická hra, vyžaduje interaktivitu a schopnost zobrazit obrázky. Není nutné implementovat hru více hráčů.
Grafická úloha - ze zadaných datapointů vykreslete graf.
Matfyzácká úloha, prověřující vstup ze souboru. Bludiště s krokováním.
Další matfyzácká úloha, prohledávání stavového prostoru s diskusí hladového algoritmu a vedoucího na dynamické programování.