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

Moderátor: Mods_senior

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod faraon » 24 bře 2013 20:13

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)

Reklama
staclu
Level 3
Level 3
Příspěvky: 642
Registrován: listopad 12
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod staclu » 24 bře 2013 20:29

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: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod faraon » 24 bře 2013 20:58

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: listopad 12
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod staclu » 24 bře 2013 21:32

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: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod faraon » 27 bře 2013 19:33

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: listopad 12
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod staclu » 27 bře 2013 19:42

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: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod faraon » 27 bře 2013 20:16

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: listopad 12
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod staclu » 31 bře 2013 19:28

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: listopad 12
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod staclu » 06 dub 2013 20:36

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: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod faraon » 07 dub 2013 08:40

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: listopad 12
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod staclu » 07 dub 2013 16:18

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: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod faraon » 08 dub 2013 19:03

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)


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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti