Nabídka zápočtových programů pro zimní semestr

Vyberte si úlohu a napište mi e-mail (případně mi dejte vědět osobně či telefonicky). Úlohu po té opatřím v záhlaví jménem, což bude značit, že úloha je již zadána. Úlohy jsem se snažil zhruba rozdělit podle obtížnosti.

Komentář k řešení: úlohu mi můžete zaslat předem e-mailem(preferovaný způsob), nebo donést osobně na disketě. Program opatřete komentářem, aby bylo jasné, jakou úlohu řešíte, jakou metodou a kdo program napsal a kdy. Snažte se psát program přehledně a mezi řádky vkládejte komentáře. Při udělování zápočtu budu požadovat provedení malé změny v programu, abych viděl, že mu rozumíte.

Jednodušší úlohy

Výpočet čísla pi: (Eva Schunová) Napište program, který vypočte číslo pi s přesností na 1000 míst.

Výpočet čísla e: (Eva Skopalová) Napište program, který vypočte číslo e s přesností na 1000 míst.

Výpočet odmocniny: (Martin Pochyla) Napište program, který vypočte druhou odmocninu zadaného přirozeného čísla s přesností na 1000 míst.

Exponenciála matice: Napište program, který spočte exponenciálu dané matice. Ta je definována jako součet řady exp(M) = 1 + M + M^2/ 2! + M^3/3! + ... , kde jednotlivé členy výrazu obsahují jen umocňování (tj. násobení) matic a násobení matice číslem. Součet ukončete, po pevném počtu (např. 100) členů.

Převody čísel: (Vojtěch Sidorin) Napište program, který bude provádět převody mezi číselnými soustavami o různých základech a také římskými čísly. Na začátku si uživatel zvolí soustavu pro vstup a zadá číslo. Poté zvolí soustavu pro výstup a číslo se vypíše dle volby. Základ soustavy může být císlo 2-16 nebo římská čísla a cifry jsou 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F a pro římská čísla: I,V,X,L,C,D,M.

Řešení kubické rovnice: Napište program, který bude obecně řešít kubickou rovnici. Vstupem budou koeficienty a výstupem tři řešení rovnice. Pozor na práci s komplexními císly!

Zpracování textu 1: (Lukáš Slodička) Napište program, který prečte zadaný text a určí četnost písmen (znaků) v textu. Možné zajímavé použití: Zkuste si na internetu najít texty v různých jazycích a porovnejte výsledky. Můžete také porovnat výsledky pro různé texty v tomtéz jazyku.

Zpracování textu 2: (Radim Procházka) Napište program, který prečte zadaný text a určí sto nejfrekventovanejších slov v textu, s počtem jejich výskytů. Jako vstupní text doporučuji najít na internetu v projektu Gutemberg nejaký váš oblíbený román.

Zpracování textu 3: Napište program, který prečte zadaný text a určí sto nejfrekventovanejších slov v textu, a najde průměrnou vzdálenost mezi sousedními výskyty slova v textu. Jako vstupní text doporučuji najít na internetu v projektu Gutemberg nejaký váš oblíbený román.

Prekladač pro Morseovu abecedu: (Eva Rozkotová) Napište překladač pro Morseovu abecedu. Vstup muze být v Morseovce a program text přeloží do běžné abecedy, nebo naopak program přeloží text do Morseovy abecedy.

Kódování zpráv šifrovací tabulkou: (Jan Procházka) Navrhněte způsob jak representovat v počítači šifrovaní tabulku (viz např. Jules Verne: Matyáš Sandorf) a napište program šifrující zprávy pomocí tabulky oběma směry.

Kódování posunem podle klíce: (Martin Sigmund) Napište program, který za/de-kóduje zprávu šifrovanou pomocí klíčového slova, jež to se 'pričte' k šifrované zprávě tak, že se každé písmeno zprávy posune o tolik pozic v abecedě kolikátým písmenem v abecedě je písmeno v klíčovém slově. Např. klíčové slovo ABC znamená posun prvního písmene o jednu pozici, druhého o dvě, třetího o tři, čtvrtého opět o jednu atd. Tj. např slovo TAJNOST se zakóduje na UCMOQVU.

Kořen funkce: (Dušan Prašienka) Napište program pro hledání kořene zadané funkce metodou půlení intervalu. Funkce může být zadána přímo zásahem do programu.Přesnost je předem dána konstantou definovanou v programu.

Výpočet určitého integrálu: (Jiří Příbek)Napište program pro výpočet určitého integrálu ze zadané funkce. Otestujte na nějaké funkci, kterou umíte integrovat analyticky.

Obtížnejší úlohy

Lodě: (Daniela Procházková) Jistě znáte hru lodě, již hrají dva hráci na čtverečkovaném papíru. Napište program, který vám nahradí inteligentního protihráce.

Jednoduchý kalkulátor: (Jaroslava Schovancová) Napište program nahrazující jednoduchý kalkulátor pro práci s celými čísly s velkým počtem cifer. Příklady vstupních rádků: a1=7642969543 (definuje konstantu a1), a2=-764322229839974298 (definuje konstatu a2), a3=a1*a2-a1 (definuje konstantu a3 jako výsledek vyčíslení výrazu), a2 (způsobí výpis konstanty a2), a2*a2*a1 (způsobí výpis výsledku po vyčíslení výrazu). Přítomnost operátoru = znamená definici konstanty, jinak jde o příkaz k výstupu výsledku na obrazovku. Výrazy obsahují operátory *,-,+,MOD,DIV. Dodržujte prioritu operátorů.

Kalkulátor pro polynomy: Napište program přestavující jednoduchý kalkulátor pro práci s polynomy s celocíselnými koeficienty. Filosofie programu je stejná jako u předchozí úlohy. Zadání může vypadat např. jako a1=1+234x^5-34x^7 nebo a6=a3 DIV a2 nebo a2*a1-a2 (tj. příkaz vypsat výsledek uvedeného výrazu, tj. výsledný polynom).

Kalkulátor pro zlomky: Jako předchozí dvě úlohy, ale pro přesné počítání se zlomky. Nezapomeňte zlomek zkrátit, aby čitatel a jmenovatel byla nesoudělná čísla.

Velká písmena: Napište program, který vytiskne zadaný text velkými písmeny. Např. Myslete predevším na vhodný způsob jak reprezentovat datově popis jednotlivých velkých znaků. Stačí udělat pro písmena A,B,C,...,Z.

Digitální císla: Napište program, který opíše zadané celé číslo digitálně. Např.
Možné rozšíření: Udělejte digitalní hodiny, kterým se zadá počet sekud a ty pak budou odpočítávat, např. 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0.

Racionální kořeny polynomu s celočíselnými koeficienty: Najděte zkusmo všechny racionální kořeny zadaného polynomu. Polynom je zadán z klávesnice (např. 3x^5-2x+4). Využijte toho, že racionální číslo může být kořenem polynomu s celočíselnými koeficienty pouze pokud jmenovatel dělí koeficient u nejvyšší mocniny x a čitatel koeficient u nejnižší mocniny x. U předchozího příkladu tudíž připadají v úvahu pouze císla 4/3, 2/3, 1/3, 4, 2, 1 a to jak se znaménkem plus tak minus.

Lahůdky

Loydova patnáctka: (David Schmoranzer) Napište program, který řeší hlavolam Loydova patnáctka. Na začátku se vygeneruje náhodné rozházení hlavolamu a program poté umožní uživateli pomocí klávesnice hlavolam skládat a na pokyn jej složí sám.

Master Mind: Navrhněte algoritmus a napište program pro hru Master Mind (česky nazývaná někdy Logik). Základní varianta: Zadejte barvy kolíčků z klávesnice a nechte program vypsat vzorovou partii. Možné rozšíření: na začátku volba zda chcete zadávat barvy nebo hádat čísla, která vygeneruje náhodně počítač.

Mine-Sweeper: (Petr Sojnek) Napište program, který automaticky sám řeší známou hru zabudovanou do systému Windows.

Vláčky: (Martin Rejman) Koleje pro model železnice mají takový tvar, že přesne zapadají do šestiúhelníhové sítě. Rovný díl spojuje protejší hrany, zatáčka uhýbá o jednu hranu, výhybku si můžete přestavit jako sloučení rovného dílu a zatáčky a křížení jako sloučení dvou rovných dílů jdoucích přes sebe v jednou šestiúhelníku. Na vstupu je počet rovných dílů, zatáček, výhybek a křížů. Najděte všechny uzavřené souvislé kolejové tratě, které lze ze zadaných dílů postavit tak, aby se využilo všech dílu.


Zpět, Domů