Nějaké další dotazy? Třeba co jsi už zkusil, co dalšího umíš, a co bys chtěl konkrétně programovat?
Re: Programování
Napsal: 15 led 2014 20:27
od SmookyJ
No. Chtěl bych programovat nějaké programy na windows. Třeba vytvořit zatím obyčejnou kalkulaěku nebo tak něco. (Postupně začínat s těžšími věcmi.) S Karlem jsem si hrál, a pochopil jsem o co tam jde. Teď bych potřeboval poradit včem a jak programovat dál. (Jinak díky za odpověď) Třeba pokuď existuje nějaká stránka kde jsou ty kódy, a včem bych to mohl dávat do kupi (nejlepší by bylo nějaké video na youtube ale tam jsem nic nenašel). Díky za odpověď.
A jestli jsi na YouTube nic nenašel, tak jsi opravdu špatně hledal, jsou jich tam tisíce:
Říkáš že jsi pochopil o co v Karlovi jde, to můžeme snadno otestovat dvěma jednoduchými úkoly, dohromady tak na hodinku času. V prvním si zkus vyřešit tohle, přesně podle zadání, s tím bys měl zvládnout základy, tedy algoritmizaci, dekompozici a strukturování.
Napiš program, který naučí Karla stavět různé domy, podle těchhle podmínek:
1. Základní příkazy DOMEK, VILA a PANELÁK vytvoří každý svůj typ domu, přitom používají pomocné příkazy, které jsou společné. Takže nejdřív najdi společné prvky domů - proveď analýzu úlohy.
2. Karel se může na začátku nacházet v libovolném místě města otočený do libovolného směru, takže ho musíš dostat do nějaké výchozí pozice, třeba levého dolního rohu (kde má svůj domov), ze které začne svojí práci. Tak jako první vytvoř příkaz DOMŮ.
3. Po skončení práce se Karel přesune do dveří domu a otočí směrem k uživateli, ale aby dveře mohly být v libovolném místě domu (pro použití v jiné verzi programu, která bude umět navíc i jiné typy domů, třeba SKLADIŠTĚ), musí být Karel schopný dveře detekovat. Proto je v nich jen jedna značka - práh.
4. A jedna podmínka na závěr - žádný z příkazů nesmí mít víc než 12 řádků! Čím méně jich bude mít, tím lépe.
Až to budeš mít, zkus si přidat ten příkaz SKLADIŠTĚ, tak abys využil již existující části a nemusel vůbec nic upravovat!
Druhá úloha je na umění rekurze, jednoho z nejmocnějších programátorských nástrojů:
Napiš program, který z jakékoliv pozice provede Karla bludištěm, aby našel svůj domeček, umístěný na libovolném místě. Není-li cesta k domečku možná, musí se program ukončit, nesmí běhat donekonečna.
Bludiště si můžeš vymyslet jaké chceš, tohle je jen pro příklad. Dá se to zvládnout jediným příkazem, právě díky rekurzi, ale jinak si to řeš jak uznáš za vhodné. Jestli o procházení bludišť nic nevíš, tak pro inspiraci hledej termín "ariadnina nit".
Karel-bludiste.png (5.04 KiB) Zobrazeno 481 x
Když budeš umět tohle, máš jistotu že jsi schopný začít pracovat se skutečným programovacím jazykem a se skutečnými daty. Ale jestli ne, stejně se tyhle věci budeš muset naučit, jen si tím přiděláš spoustu práce a starostí, protože kvůli své neznalosti napácháš hromadu zbytečných chyb, které tě budou stát moře času promarněného zbytečně...