Řídící struktury programu

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Doplnění dalších zdrojů)
m (Změna struktury nadpisů.)
 
(Není zobrazeno 13 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:Programovani]]
+
  
== Řídící struktury programovacích jazyků Java a PHP ==
 
  
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.
+
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.  
  
Řídící struktury vyšších programovacích jazyků:
+
Ve [[Programovací_jazyky | vyšších programovacích jazycích]] se používají pro přehlednější zápis ustálené řídící struktury.
* 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ý!'''
+
Běžné řídící struktury vyšších programovacích jazyků jsou:
  
 +
== Větvení ==
 +
* Podle splnění podmínky pokračuje kód jednou z několika větví.
  
 +
* Podmíněný příkaz (<code>if-elseif-else</code>)
  
== Podmíněný příkaz ==
+
  if (hero.lives <= 0) {
 
+
    window.alert("Game over!")
=== 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>
 
  
 +
* Více viz [[Větvení]].
  
== 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čí.
 
 
 
  
 +
== 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 &lt;http://download.oracle.com/javase/tutorial/java/nutsandbolts/flow.html&gt;].
+
# ARCANIS. Výuka PHP a MySQL [online]. Třeboň : 2008 [cit. 2011-06-07]. ''Řídící struktury''.
+
#:Dostupné z WWW: &lt;[http://arcanis.argon.cz/docs/seminarka1/index.php?incl=lekce_5 http://arcanis.argon.cz/docs/seminarka1/index.php?incl=lekce_5]&gt;.
+
# ARCANIS. Výuka PHP a MySQL [online]. Třeboň : 2008 [cit. 2011-06-07]. ''Cykly''.
+
#:Dostupné z WWW: &lt;[http://arcanis.argon.cz/docs/seminarka1/index.php?incl=lekce_6 http://arcanis.argon.cz/docs/seminarka1/index.php?incl=lekce_6]&gt;.
+

Aktuální verze z 9. 9. 2016, 12:03


Procesor počítačů 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 vyšších programovacích jazycích se používají pro přehlednější zápis ustálené řídící struktury.

Běžné řídící struktury vyšších programovacích jazyků jsou:

Větvení

if (hero.lives <= 0) {
   window.alert("Game over!")
}

switch(varianta) {
   case 1: return "Varianta A";
   case 2: return "Varianta B";
   case 3: return "Varianta C";
}


Cykly

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje