Kdo by mě naučil základy programování?

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek
Odpovědět
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7404
Registrován: 23 pro 2010 09:23

Re: Kdo by mě naučil základy programování?

Příspěvek od faraon »

Tak vyzkoušej třeba tohle:

Kód: Vybrat vše

DO-POLOVINY
  KDYŽ NENÍ ZEĎ
    KROK
    KDYŽ NENÍ ZEĎ
      KROK
      DO-POLOVINY
    KONEC
    COUVNI
  KONEC
KONEC

Šlo by to ještě trochu vylepšit, například pomocí ?KROK...
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
staclu
Level 3
Level 3
Příspěvky: 642
Registrován: 22 lis 2012 15:15

Re: Kdo by mě naučil základy programování?

Příspěvek od staclu »

Takhle?

Kód: Vybrat vše

DO-POLOVINY
  ?KROK
    KDYŽ NENÍ ZEĎ
      KROK
      DO-POLOVINY
    KONEC
    COUVNI
  KONEC
Když chci poradit ohledně svého PC vždy mám na mysli tento počítač v podpisu
OS : Windows 7 64-bit
ZDROJ : MaxPower 500 W
CPU : AMD Phenom II x4 925 2,8 GHz
RAM : 4x1 GB
GPU : Gigabyte HD 7850 OC 2GB
MB : MSI KA790GX
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7404
Registrován: 23 pro 2010 09:23

Re: Kdo by mě naučil základy programování?

Příspěvek od faraon »

Ano, třeba takhle by to šlo. Ale má to chybu, protože to blbě počítá! Zkus to ještě trochu pozpřehazovat.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
staclu
Level 3
Level 3
Příspěvky: 642
Registrován: 22 lis 2012 15:15

Re: Kdo by mě naučil základy programování?

Příspěvek od staclu »

Nějak mi to nejde.
Když chci poradit ohledně svého PC vždy mám na mysli tento počítač v podpisu
OS : Windows 7 64-bit
ZDROJ : MaxPower 500 W
CPU : AMD Phenom II x4 925 2,8 GHz
RAM : 4x1 GB
GPU : Gigabyte HD 7850 OC 2GB
MB : MSI KA790GX
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7404
Registrován: 23 pro 2010 09:23

Re: Kdo by mě naučil základy programování?

Příspěvek od faraon »

Stále nic? Tak zkus ten tvůj kód porovnat s tímhle:

Kód: Vybrat vše

DO-POLOVINY
  KDYŽ NENÍ ZEĎ
    KROK
    ?KROK
    DO-POLOVINY
    COUVNI
  KONEC
KONEC
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
staclu
Level 3
Level 3
Příspěvky: 642
Registrován: 22 lis 2012 15:15

Re: Kdo by mě naučil základy programování?

Příspěvek od staclu »

To funguje. Myslím že něco takového jsem zkoušel ale asi tam byla ještě chyba. Ještě sem pořádně nepochopil tu rekurzi.
Když chci poradit ohledně svého PC vždy mám na mysli tento počítač v podpisu
OS : Windows 7 64-bit
ZDROJ : MaxPower 500 W
CPU : AMD Phenom II x4 925 2,8 GHz
RAM : 4x1 GB
GPU : Gigabyte HD 7850 OC 2GB
MB : MSI KA790GX
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7404
Registrován: 23 pro 2010 09:23

Re: Kdo by mě naučil základy programování?

Příspěvek od faraon »

Rekurze je úžasná magie, ale opravdu náročná na pochopení. Krásná rekurzivní úloha je skákání koně po šachovnici, znáš ten hlavolam?
Začneš na libovolném poli, například v levém horním rohu, a skáčeš po celé šachovnici tak, abys na každé pole vstoupil pouze jednou, ale musíš projít všechny! Takže na konci bys měl mít šachovnici popsanou čísly 1 až 64, pokud se ti podaří nezabloudit do nějaké slepé cesty, kde skončíš předčasně.
Tohle se dá v Karlovi také naprogramovat, můžeš to zkusit. Prostě z každého pole postupně skočíš na osm možných dalších polí, pozor na zdi, tam otestuješ jestli tam už neleží značka, a pokud ne, tak jednu položíš a rekurzivně zavoláš další skok. Po vyzkoušení všech osmi směrů se vracíš z rekurze a cestou zpátky značky zase sbíráš, aby se na uvolněná pole dalo skočit odjinud.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
staclu
Level 3
Level 3
Příspěvky: 642
Registrován: 22 lis 2012 15:15

Re: Kdo by mě naučil základy programování?

Příspěvek od staclu »

Tenhle hlavolam neznám. Zatím se mi povedlo jen zdokonalit koně.

Kód: Vybrat vše

KŮŇ
  KDYŽ JE ZEĎ
    ?KROK
  KONEC
  KROK
  KDYŽ JE ZEĎ
    ?KROK
    KROK
    KROK
  KONEC
  KROK
  VLEVO-VBOK
  KDYŽ JE ZEĎ
    VLEVO-VBOK
    VLEVO-VBOK
    KROK
  KONEC, JINAK
    KROK
  KONEC
KONEC

Je tam použit upravený ?KROK

Kód: Vybrat vše

?KROK
  KDYŽ NENÍ ZEĎ
    KROK
  KONEC, JINAK
    ČELEM-VZAD
  KONEC
KONEC
Když chci poradit ohledně svého PC vždy mám na mysli tento počítač v podpisu
OS : Windows 7 64-bit
ZDROJ : MaxPower 500 W
CPU : AMD Phenom II x4 925 2,8 GHz
RAM : 4x1 GB
GPU : Gigabyte HD 7850 OC 2GB
MB : MSI KA790GX
staclu
Level 3
Level 3
Příspěvky: 642
Registrován: 22 lis 2012 15:15

Re: Kdo by mě naučil základy programování?

Příspěvek od staclu »

Pomoc
Když chci poradit ohledně svého PC vždy mám na mysli tento počítač v podpisu
OS : Windows 7 64-bit
ZDROJ : MaxPower 500 W
CPU : AMD Phenom II x4 925 2,8 GHz
RAM : 4x1 GB
GPU : Gigabyte HD 7850 OC 2GB
MB : MSI KA790GX
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7404
Registrován: 23 pro 2010 09:23

Re: Kdo by mě naučil základy programování?

Příspěvek od faraon »

Pomoc s čím?

Ten tvůj KŮŇ funguje divně, mysli na to že když cestou narazíš na zeď, musíš se vrátit do výchozí pozice, a ne pokračovat z jiného místa úplně jiným směrem! Šel bych na to takhle:
1. Z každého pole můžeš vyjít čtyřmi různými směry.
2. V každém směru můžeš skočit do L buď vlevo nebo vpravo, takže si na to udělej dva příkazy, SKOK-L a SKOK-P, ve kterých budeš zvlášť řešit celou cestu koně na cílové pole a případný návrat na výchozí, do stejné pozice (a směru!) ze které skákal.

Prostě to musí vypadat tak, že když bude pole, na které má kůň doskočit, mimo město (šachovnici), tak Karel zůstane stát na místě a ani se nepohne. Zatím nebudeme řešit to že se na to pole dá dostat dvěma různými cestami, takže by se případná překážka dala obejít, použij jen jednodušší řešení.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
staclu
Level 3
Level 3
Příspěvky: 642
Registrován: 22 lis 2012 15:15

Re: Kdo by mě naučil základy programování?

Příspěvek od staclu »

Vždyť ten KŮŇ funguje. Když je o jedno políčko od zdi a zapnu příkaz KŮŇ tak narazí vrátí se zpět o jedno políčko a pak vykoná ten příkaz.
Tady jsem ti natočil jak funguje http://www.youtube.com/watch?v=oyk21h8n ... e=youtu.be
Když chci poradit ohledně svého PC vždy mám na mysli tento počítač v podpisu
OS : Windows 7 64-bit
ZDROJ : MaxPower 500 W
CPU : AMD Phenom II x4 925 2,8 GHz
RAM : 4x1 GB
GPU : Gigabyte HD 7850 OC 2GB
MB : MSI KA790GX
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7404
Registrován: 23 pro 2010 09:23

Re: Kdo by mě naučil základy programování?

Příspěvek od faraon »

To co dělá by odpovídalo tomu SKOK-L, ale pokud je v cestě překážka a na cílové pole se nedá dostat, tak Karel musí zůstat stát přesně ve stejné poloze jako před skokem, ne sám od sebe vyrazit na opačnou stranu!

Představ si že bys takhle naprogramoval mazání souboru, a kdybys chtěl smazat nějaký chráněný proti zápisu, tak by to samozřejmě nešlo, a program by místo toho smazal nějaký jiný, aby ti (nebo sobě) udělal radost!
Tady máš zástup spokojených uživatelů: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil:
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
Odpovědět

Zpět na „Programování a tvorba webu“