Řídící struktury programu
(Zápis podmínek na samostatnou stránku. Dodán cyklus while.) |
(Přidány příklady v Javě a odpovídající kategorie) |
||
| Řádka 1: | Řádka 1: | ||
| − | [[Category:VSE]] | + | [[Category:VSE]][[Category:Informatika]][[Category:Programování]][[Category:Java]][[Category:PHP]] |
| − | [[Category:Informatika]] | + | |
| − | [[Category:Programování]] | + | |
| − | + | ||
| − | + | ||
== Řídící struktury programovacích jazyků Java a PHP == | == Ří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. | + | 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 [[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 vyšších programovacích jazyků: | Řídící struktury vyšších programovacích jazyků: | ||
| Řádka 52: | Řádka 48: | ||
} | } | ||
</pre> | </pre> | ||
| + | |||
| + | === Příklady Java === | ||
| + | |||
| + | if (vek < 15) { | ||
| + | System.out.println("POZOR! Přístupné až od 15 let!"); | ||
| + | } | ||
| + | |||
| + | if (zakaznik.getHotovost() > cena) { | ||
| + | zakaznik.zaplat(cena); | ||
| + | } else { | ||
| + | System.err.println("Nákup nelze provést! Nemáme dostatek peněz."); | ||
| + | } | ||
| + | |||
| Řádka 103: | Řádka 112: | ||
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čí. | ||
| + | |||
| + | |||
| + | === Příklady Java === | ||
| + | |||
| + | for (int i = 0; i < 15; i++) { | ||
| + | System.out.println("Průchod číslo "+i+"."); | ||
| + | } | ||
| Řádka 157: | Řádka 173: | ||
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čí. | ||
| + | |||
| + | === Příklady Java === | ||
| + | |||
| + | int i = 0; | ||
| + | while (i < 15) { | ||
| + | System.out.println("Průchod číslo "+i+"."); | ||
| + | i++; | ||
| + | } | ||
| Řádka 183: | Řádka 207: | ||
# ARCANIS. Výuka PHP a MySQL [online]. Třeboň : 2008 [cit. 2011-06-07]. ''Cykly''. | # 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]>. | #: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]>. | ||
| + | |||
| + | ; Související stránky: | ||
| + | * [[Programovací_jazyky]] | ||
Verze z 18. 11. 2013, 08:57
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ů:
- podmíněný příkaz (
if) - cyklus
for - cyklus
while - cyklus
do-while - + větvení (příkaz
switch)
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 ];
- 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.
- větev
else:- 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
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.");
}
Příklady Java
if (vek < 15) {
System.out.println("POZOR! Přístupné až od 15 let!");
}
if (zakaznik.getHotovost() > cena) {
zakaznik.zaplat(cena);
} else {
System.err.println("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č“.
- INICIALIZACE_ČÍTAČE:
- 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)
- 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.
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čí.
Příklady Java
for (int i = 0; i < 15; i++) {
System.out.println("Průchod číslo "+i+".");
}
Cyklus while
Zápis:
while (PODMÍNKA) PŘÍKAZ;
Cyklus while 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 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čí.
Příklady Java
int i = 0;
while (i < 15) {
System.out.println("Průchod číslo "+i+".");
i++;
}
Cvičení
1. Hodnoty funkce
- Vstup: čísla A, B a K.
- Berte hodnoty funkce y = 1/2 x^2 - 5 v rozsahu hodnot x z intervalu <A;B> s krokem K.
- Vypište hodnoty x, ve kterých je hodnota y v intervalu <-2;2>.
2. Průchod pole
- Vstup: číslo K a pole kladných čísel 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.
Zdroje:
- The Java Tutorials [online]. 1995, 2011 [cit. 2011-06-07]. Control Flow Statements.
- 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>.
- 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>.
- Související stránky