Vypracujte program a dokumentaci v programovacím jazyku FERDA podle vzoru
výsledkem budou tři soubory uložené na disku H: v adresáři PROGRAM a podadresáři FERDA2
tyto soubory budou
Jako zadání si vyberte jeden libovolný program z této nabídky úloh s minimální obtížností 15V. (s těmito úlohami
jste se setkali ve Ferdovi - byly to neřešené úlohy).
Zadání si nechte schválit vyučujícícm.
Zadání 1.1
Ferda v prázdném městě nakreslí ze značek čtyři čtverce, které mají společný vrchol. 10x10. (Obtížnost 15V)
Zadání 1.2
Ferda položí značky do čtverce 10x10 značek a vyznačí i úhlopříčky tohoto čtverce.(Obtížnost 15V)
Zadání 1.3
Ferda v prázdném městě nakreslí ze značek rovnostranný trojúhelník s proměnnou základnou. Velikost základny se řídí
počtem značek na druhém pollíčku města. Pokud je zde jedna značka má základna velikosti 10 značek, při dvou značkách
12 značek a při třech značkách 14 značek. (Obtížnost 20V)
Zadání 1.4
Ferda vyplní město šachovnicí ze značek.(Obtížnost 20V)
Zadání 1.5
Ferda nakreslí vyplněný čtverec 10x10 značek s tím, že obvod čtverce budou tvořit políčka se třemi značkami. (Obtížnost
25V)
Zadání 1.6
Ve městě jsou náhodně rozmístěny značky. Ferda je všechny sebere, tedy na konci programu nebudou ve městě žádné značky.
Poté se Ferda zastaví. (Obtížnost 20V)
Zadání 1.7
V prázdném městě jsou náhodně rozmístěny tři značky. Ferda je nalezne a odnese domů. Pak ukončí program. (Obtížnost
20V)
Zadání 1.8
Ve městě jsou na prvním řádku položeny náhodně do tří políček 1,2 nebo 3 značky. Ferda tyto značky přenáší tak, že je
seřadí podle velikosti - podle jejich počtu. To znamená, že na konci programu bude v řádku nejprve políčko s jednou
značkou, pak se dvěma a poslední se třemi značkami. Zkuste tuto úlohu rozšířit i na seřazení více políček než tří.
(Obtížnost 40V)
Zadání 1.9
Ve městě je pomocí značek vyznačena cesta. Cesta může vést i úhlopříčně. Na konci cesty jsou tři značky. Ferda jde po
cestě a po nalezení tří značek se zastaví. (Obtížnost 25V)
Zadání 1.10
Ferda vyplní oblast města ohraničenou zdí značkami tak, že bude obvod oblasti obcházet ve spirále.(Obtížnost 15V)
Zadání 1.11
Ferda má ve městě vytvořit ze značek spirálu tak, že začne vyplňovat značky nejdříve po obvodu a uprostřed města skončí.
Spirála má mezery mezi jednotlivými závity.(Obtížnost 30V)
Zadání 1.12
Ferda má ve městě vytvořit ze značek spirálu tak, že spirálou vyplní oblast ohraničenou třemi značkami. (Obtížnost 30V)
Zadání 2.1
Město je tvořeno souvislým bludištěm, t.j. každá zeď navazuje na jinou zeď nebo na okraj města. Na libovolném místě města je
položena značka. Ferda tuto značku nalezne a program ukončí. (Obtížnost 20V)
Zadání 2.2
Město je tvořeno souvislým bludištěm, t.j. každá zeď navazuje na jinou zeď nebo na okraj města. Na libovolném místě města
jsou položeny 3 značky. Ferda tyto značky nalezne a poté se pro ně vypraví znovu, ale už nejkratší cestou. Poté program
ukončí. (Pozn.: Ferda si cestu musí během bloudění vyznačit). (Obtížnost 50V)
Zadání 2.3
Město je tvořeno nesouvislým bludištěm, t.j. zeď nemusí navazovat na jinou zeď nebo na okraj města. Na libovolném místě města
je položena značka. Ferda tuto značku nalezne a program ukončí. (Obtížnost 60V)
Zadání 2.4
Město je tvořeno nesouvislým bludištěm, t.j. zeď nemusí navazovat na jinou zeď nebo na okraj města. Na libovolném místě města
jsou položeny 3 značky. Ferda tyto značky nalezne a poté se pro ně vypraví znovu, ale už nejkratší cestou. Poté program
ukončí. (Pozn.: Ferda si cestu musí během bloudění vyznačit). (Obtížnost 80V)
Zadání 2.5
Město je tvořeno souvislým bludištěm, t.j. každá zeď navazuje na jinou zeď nebo na okraj města. Po městě jsou rozmístěny 3
jednotlivé značky. Ferda tyto značky nalezne, odnosí je domů (ne příkaz domů!) a poté program ukončí.(Obtížnost 50V)
Zadání 2.6
Město je tvořeno nesouvislým bludištěm. Po městě jsou rozmístěny 3 jednotlivé značky. Ferda tyto značky nalezne, odnosí je
domů (ne příkaz domů!) a poté program ukončí. (Obtížnost 80V)
Zadání 2.7
Ve městě jsou rozmístěny ve směru východ-západ zdi s jediným průchodem. Na nejsevernější hraně města je umístěna značka.
Ferda nalezne ke značce nejkratší cestu. Využijte funkci RANDOM VBOK a srovnejte s algoritmem, kde tuto funkci
nepoužijete. Proveďte analýzu rychlosti obou dvou algoritmů. (Jedná se o využití metody, která se nazývá Monte Carlo).
Vyzkoušejte města s více průchody ve zdech(nesouvislé bludiště).(Obtížnost 20V)
Zadání 3.1
Vytvořte program, který vyplní náhodně oblast o rozměrech 8x6 značkami - v políčku buď bude jedna značka nebo žádná
značka. Poté jednotlivé řádky interpretujte jako dvojková čísla(je značka =1, není značka=0) a po jejich převodu do
desítkové soustavy snad dostanete náhodná čísla do sportky. Jak omezíte Ferdu aby generoval pouze dvojková čísla do
určité velikosti? (Obtížnost 60V)
Zadání 3.2
Ve městě jsou na různých místech rozmístěny souvislé zdi, které jinak spolu nesouvisí. Ferda tyto zdi obklopí značkami - izoluje
je od ostatního města značkami. (Obtížnost 90V)
Zadání 3.3
Ve městě jsou na různých místech rozmístěny souvislé zdi, které jinak spolu nesouvisí. U těchto zdí jsou nesouvisle rozmístěny
značky. Ferda tyto značky zdvojí.(Obtížnost 90V)
Zadání 3.4
Ve městě jsou na různých místech rozmístěny souvislé zdi, které jinak spolu nesouvisí. U těchto zdí jsou nesouvisle rozmístěny 3
značky. Ferda tyto značky zredukuje na jednu značku. (Obtížnost 90V)
Zadání 3.5
Ve dvou řádcích jsou umístěny značky tak, že je je možné interpretovat jako dvojková čísla. Ferda provede sečtení těchto
dvojkových čísel a výsledek umístí do následujícího řádku. Pro sčítání dvojkových čísel platí: 0+0=0, 0+1=1, 1+0=1,
1+1=10.Příklad počátečního postavení je na následujícím obrázku. Jsou zde dvojkově vyjádřena čísla 10101101 což je
173 dekadicky a 01110111= 119 dekadicky. Správný výsledek je 292 t.j. binárně 1 0010 0100 (Obtížnost 70V)
Zadání 4.1
V prvním řádku je položeno 15 značek po sobě. Střídavě s Ferdou odebíráte každý jednu až tři značky. Kdo nemá co
sebrat prohrává. Sestavte program tak, že při každém spuštění Ferda sebere příslušný počet značek. Poté ručně
odeberete své značky a opět spustíte program. Ferda při posledním spuštění úrogramu oznámí výsledek. (Obtížnost 60V)
Zadání 4.2
Zadání je shodné se zadáním 4.1 pouze v každém z patnácti políčkek může být položena jedna až tři značky. Pravidla
jsou taková, že lze sebrat pouze značky jen z jednoho políčka a to současně jednu až všechny tři. Kdo nemá co sebrat,
prohrává. Sestavte program podobným způsobem, jako v bodě 4.1. (Obtížnost 70V)
Zadání 4.3
Ve třech sloupcích jsou rozmístěny jednotlivé značky. Jejich počáteční celkový počet je 15 značek. Hrajete střídavě s
Ferdou. Vždy můžete sebrat značky, ale pouze stejný počet značek ze dvou sloupečků. Kdo sebere poslední počet značek
tak prohraje (vyhraje). Program pro Ferdu vždy spusťte a poté vy odeberte příslušný počet značek. Ferdu můžete jiným
programem přinutit, aby náhodně za vás značky na začátku hry postavil. (Obtížnost 100V)