Řídící struktury programu

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Cyklus for: Doplněn pojem čítač a odkaz na stránku o podmíněných výrazech.)
(Zápis podmínek na samostatnou stránku. Dodán cyklus while.)
Řádka 30: Řádka 30:
 
* PODMÍNKA:
 
* PODMÍNKA:
 
*: výraz, který vrací pravdivostní hodnotu (pravda nebo nepravda)
 
*: výraz, který vrací pravdivostní hodnotu (pravda nebo nepravda)
 +
*: více o zápisu podmínek je v kapitole [[Podmíněný výraz]].
 
* PŘÍKAZ:
 
* PŘÍKAZ:
 
*: obvykle se jedná o ''''složený příkaz'''', tedy o posloupnost příkazů, ohraničenou složenými závorkami.
 
*: obvykle se jedná o ''''složený příkaz'''', tedy o posloupnost příkazů, ohraničenou složenými závorkami.
Řádka 72: Řádka 73:
 
* PODMÍNKA:
 
* PODMÍNKA:
 
*: výraz, který vrací pravdivostní hodnotu (pravda nebo nepravda)
 
*: výraz, který vrací pravdivostní hodnotu (pravda nebo nepravda)
*: více zápisu podmínek je v kapitole [[Podmíněný výraz]].
+
*: více o zápisu podmínek je v kapitole [[Podmíněný výraz]].
 
* PŘÍKAZ:
 
* PŘÍKAZ:
 
*: obvykle se jedná o ''''složený příkaz'''', tedy o posloupnost příkazů, ohraničenou složenými závorkami.
 
*: obvykle se jedná o ''''složený příkaz'''', tedy o posloupnost příkazů, ohraničenou složenými závorkami.
Řádka 103: Řádka 104:
 
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čí.
 
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 ===
+
== Cyklus <code>while</code> ==
* 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>
+
=== Zápis: ===
 +
 
 +
while (PODMÍNKA) PŘÍKAZ;
 +
 
 +
Cyklus <code>while</code> provádí zadaný PŘÍKAZ tak dlouho, dokud je splněna PODMÍNKA.
 +
 
 +
* PODMÍNKA:
 +
*: výraz, který vrací pravdivostní hodnotu (pravda nebo nepravda)
 +
*: více o zápisu podmínek je v kapitole [[Podmíněný výraz]].
 +
* PŘÍKAZ:
 +
*: obvykle se jedná o ''''složený příkaz'''', tedy o posloupnost příkazů, ohraničenou složenými závorkami.
 +
 
 +
Pozn.: Cyklus <code>for</code> jazyků Java a PHP lze přepsat pomocí cyklu <code>while</code> následujícím způsobem:
 +
 
 +
INICIALIZACE;
 +
while (PODMÍNKA) {
 +
    PŘÍKAZ;
 +
    ÚPRAVA_ČÍTAČE;
 +
}
 +
 
 +
=== Příklady PHP ===
 +
 
 +
<pre>
 +
$i = 0;
 +
while ($i < 15) {
 +
    echo "<p>Průchod číslo $i.</p>";
 +
    $i++;
 +
}
 +
</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čí.
 +
 
 +
 
 +
 
  
 
== Cvičení ==
 
== Cvičení ==
Řádka 132: Řádka 172:
 
* Projděte hodnoty čísel v poli ''P''.  
 
* Projděte hodnoty čísel v poli ''P''.  
 
* Pokud je hodnota dělitelná číslem ''K'', zapište na odpovídající pozici v poli ''P'' číslo ''-1''.
 
* Pokud je hodnota dělitelná číslem ''K'', zapište na odpovídající pozici v poli ''P'' číslo ''-1''.
 +
 +
 +
  
 
== Zdroje: ==
 
== Zdroje: ==

Verze z 12. 1. 2012, 09:19



Obsah

Ří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.

Řídící struktury vyšších programovacích jazyků:

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ý!



Podmíněný příkaz

Zápis:

if (PODMÍNKA) PŘÍKAZ [ else PŘÍKAZ ];

Příklady PHP

 if ($vek < 15) {
     echo "POZOR! Přístupné až od 15 let!";
 }
 if ($hotovost > $cena) {
     $hotovost -= $cena;
 } else {
     die("Nákup nelze provést! Nemáme dostatek peněz.");
 }



Cyklus for

Zápis:

for (INICIALIZACE; PODMÍNKA; ÚPRAVA_ČÍTAČE) PŘÍKAZ;

Cyklus for je v PHP a Javě hodně obecný, obvykle se ale používá tak, že definujeme řídící proměnnou (třeba i), 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á.

Řídící proměnné se někdy také říká „čítač“.

Příklady PHP

 for ($i = 0; $i < 15; $i++) {
     echo "<p>Průchod číslo $i.</p>";
 }

Tento příklad vlastně provede následující kód:

 $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++;

Dále už je hodnota $i == 15, takže není splněna podmínka $i < 15 a tedy se provádění cyklu ukončí.



Cyklus while

Zápis:

while (PODMÍNKA) PŘÍKAZ;

Cyklus while provádí zadaný PŘÍKAZ tak dlouho, dokud je splněna PODMÍNKA.

Pozn.: Cyklus for jazyků Java a PHP lze přepsat pomocí cyklu while následujícím způsobem:

INICIALIZACE;
while (PODMÍNKA) {
    PŘÍKAZ;
    ÚPRAVA_ČÍTAČE;
}

Příklady PHP

 $i = 0;
 while ($i < 15) {
     echo "<p>Průchod číslo $i.</p>";
     $i++;
 }

Tento příklad vlastně provede následující kód:

 $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++;

Dále už je hodnota $i == 15, takže není splněna podmínka $i < 15 a tedy se provádění cyklu ukončí.



Cvičení

1. Hodnoty funkce

2. Průchod pole



Zdroje:

  1. 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>.
  2. 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>.
  3. 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>.
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje