|
|
(Není zobrazeno 11 mezilehlých verzí od 1 uživatele.) |
Řádka 1: |
Řádka 1: |
− | [[Category:VSE]] | + | [[Category:VSE]][[Category:Informatika]][[Category:Programování]][[Category:Java]][[Category:PHP]] |
− | [[Category:Informatika]] | + | |
− | [[Category:Programování]] | + | |
| | | |
| | | |
| + | Procesor počítačů [[Von Neumannova architektura|von Neumannova typu]] provádí instrukce v takovém pořadí, v jakém jsou uloženy v operační paměti. Pokud chceme toto chování změnit, musíme použít speciální instrukci skoku. |
| | | |
| + | Ve [[Programovací_jazyky | vyšších programovacích jazycích]] se používají pro přehlednější zápis ustálené řídící struktury. |
| | | |
− | == Řídící struktury programovacích jazyků Java a PHP ==
| + | Běžné řídící struktury vyšších programovacích jazyků jsou: |
| | | |
− | Počítače von Neumannova typu provádí instrukce v takovém pořadí, v jakém jsou v operační paměti uloženy. Pokud chceme toto chování změnit, musíme použít speciální instrukci skoku. Ve vyšších programovacích jazycích se používají pro přehlednější zápis ustálené řídící struktury.
| + | == Větvení == |
| + | * Podle splnění podmínky pokračuje kód jednou z několika větví. |
| | | |
− | Řídící struktury vyšších programovacích jazyků:
| + | * Podmíněný příkaz (<code>if-elseif-else</code>) |
− | * podmíněný příkaz (<code>if</code>) | + | |
− | * cyklus <code>for</code>
| + | |
− | * cyklus <code>while</code>
| + | |
− | * cyklus <code>do-while</code>
| + | |
− | * + větvení (příkaz <code>switch</code>)
| + | |
| | | |
− | Dále uvádíme základní popis použití nejběžnějších řídících struktur. Jsme si vědomi, že '''následující text je velmi zjednodušený!'''
| + | if (hero.lives <= 0) { |
− | | + | window.alert("Game over!") |
− | | + | |
− | | + | |
− | | + | |
− | == Podmíněný příkaz ==
| + | |
− | | + | |
− | === Zápis: ===
| + | |
− | | + | |
− | if (PODMÍNKA) PŘÍKAZ [ else PŘÍKAZ ]; | + | |
− | | + | |
− | * PODMÍNKA:
| + | |
− | *: výraz, který vrací pravdivostní hodnotu (pravda nebo nepravda)
| + | |
− | * PŘÍKAZ:
| + | |
− | *: obvykle se jedná o ''''složený příkaz'''', tedy o posloupnost příkazů, ohraničenou složenými závorkami.
| + | |
− | * větev <code>else</code>:
| + | |
− | *: tento příkaz se provede, pokud podmínka '''není''' splněná.
| + | |
− | *: tato část příkazu ale nemusí být vůbec uvedena.
| + | |
− | | + | |
− | === Příklady PHP === | + | |
− | | + | |
− | <pre>
| + | |
− | if ($vek < 15) {
| + | |
− | echo "POZOR! Přístupné až od 15 let!";
| + | |
| } | | } |
− | </pre> | + | |
| + | * Příkaz <code>switch</code> |
| | | |
− | <pre>
| + | switch(varianta) { |
− | if ($hotovost > $cena) { | + | case 1: return "Varianta A"; |
− | $hotovost -= $cena;
| + | case 2: return "Varianta B"; |
− | } else {
| + | case 3: return "Varianta C"; |
− | die("Nákup nelze provést! Nemáme dostatek peněz.");
| + | |
| } | | } |
− | </pre>
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | == Cyklus <code>for</code> ==
| |
− |
| |
− | === Zápis: ===
| |
− |
| |
− | for (INICIALIZACE; PODMÍNKA; ÚPRAVA_ČÍTAČE) PŘÍKAZ;
| |
− |
| |
− | Cyklus <code>for</code> je v PHP a Javě hodně obecný, obvykle se ale používá tak, že definujeme řídící proměnnou (třeba <code>i</code>), která postupně nabývá hodnot od 0 do maximální hodnoty. Pro každou hodnotu řídící proměnné pak provádíme příkaz, který obvykle tuto hodnotu nějak využívá.
| |
− |
| |
− | * INICIALIZACE:
| |
− | *: příkaz, který se provede na začátku, před prováděním cyklu.
| |
− | *: obvykle nastaví počáteční hodnotu řídící proměnné cyklu.
| |
− | * ÚPRAVA_ČÍTAČE:
| |
− | *: příkaz, který se provede po každém provedení PŘÍKAZU. Obvykle zvýší či sníží hodnotu řídící proměnné.
| |
− | * PODMÍNKA:
| |
− | *: výraz, který vrací pravdivostní hodnotu (pravda nebo nepravda)
| |
− | * PŘÍKAZ:
| |
− | *: obvykle se jedná o ''''složený příkaz'''', tedy o posloupnost příkazů, ohraničenou složenými závorkami.
| |
− |
| |
− | === Příklady PHP ===
| |
− |
| |
− | <pre>
| |
− | for ($i = 0; $i < 15; $i++) {
| |
− | echo "<p>Průchod číslo $i.</p>";
| |
− | }
| |
− | </pre>
| |
− |
| |
− | Tento příklad vlastně provede následující kód:
| |
− |
| |
− | <pre>
| |
− | $i = 0;
| |
− | echo "<p>Průchod číslo $i.</p>"; // $i == 0
| |
− | $i++;
| |
− | echo "<p>Průchod číslo $i.</p>"; // $i == 1
| |
− | $i++;
| |
− | .
| |
− | :
| |
− | :
| |
− | echo "<p>Průchod číslo $i.</p>"; // $i == 13
| |
− | $i++;
| |
− | echo "<p>Průchod číslo $i.</p>"; // $i == 14
| |
− | $i++;
| |
− | </pre>
| |
− |
| |
− | Dále už je hodnota <code>$i == 15</code>, takže není splněna podmínka <code>$i < 15</code> a tedy se provádění cyklu ukončí.
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | == Zápis podmínek ==
| |
− |
| |
− | === Porovnání čísel ===
| |
− | * <code>$a == 5</code>
| |
− | * <code>$a != 5</code> (není rovno)
| |
− | * <code>$a < 5</code>
| |
− | * <code>$a > 5</code>
| |
− | * <code>$a <= 5</code>
| |
− | * <code>$a >= 5</code>
| |
− |
| |
− | === Porovnání textových řetězců ===
| |
− | * PHP: <code>strcmp($t, "text")</code>
| |
− | * Java: <code>text.equals("text")</code>
| |
| | | |
− | === Logické funkce ===
| + | * Více viz [[Větvení]]. |
− | * PHP: <code>($a <= 5) AND ($b > 4)</code>, dále také <code>OR</code>, <code>XOR</code>, <code>NOT</code> | + | |
− | * Java i PHP: <code>(a <= 5) && ($b > 4)</code>, dále také <code>||</code>, <code>^</code>, <code>!</code>
| + | |
| | | |
| | | |
| + | == Cykly == |
| + | * Zadaný kód se opakuje, dokud je splněna podmínka. |
| + | * Cyklus <code>for</code> |
| + | * Cyklus <code>for each</code> |
| + | * Cyklus <code>while</code> |
| + | * Cyklus <code>do-while</code> |
| | | |
− | == Zdroje: ==
| + | * Více viz [[Cykly]]. |
− | # The Java Tutorials [online]. 1995, 2011 [cit. 2011-06-07]. ''Control Flow Statements''.
| + | |
− | #:Dostupné z WWW: [http://download.oracle.com/javase/tutorial/java/nutsandbolts/flow.html <http://download.oracle.com/javase/tutorial/java/nutsandbolts/flow.html>].
| + | |
− | # ARCANIS. Výuka PHP a MySQL [online]. Třeboň : 2008 [cit. 2011-06-07]. ''Řídící struktury''.
| + | |
− | #:Dostupné z WWW: <[http://arcanis.argon.cz/docs/seminarka1/index.php?incl=lekce_5 http://arcanis.argon.cz/docs/seminarka1/index.php?incl=lekce_5]>.
| + | |
− | # ARCANIS. Výuka PHP a MySQL [online]. Třeboň : 2008 [cit. 2011-06-07]. ''Cykly''.
| + | |
− | #:Dostupné z WWW: <[http://arcanis.argon.cz/docs/seminarka1/index.php?incl=lekce_6 http://arcanis.argon.cz/docs/seminarka1/index.php?incl=lekce_6]>.
| + | |