Řídící struktury programu
|  (Přidáno cvičení Hodnoty funkce) |  (→Cvičení:  Dodáno cvičení na průchod polem.) | ||
| Řádka 123: | Řádka 123: | ||
| == Cvičení == | == Cvičení == | ||
| + | |||
| === 1. Hodnoty funkce === | === 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''.   | * 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>. | * 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: == | == Zdroje: == | ||
Verze z 12. 1. 2012, 08:59
| 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)
 
-  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.");
 }
  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á.
-  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
 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čí.
Zápis podmínek
Porovnání čísel
-  $a == 5
-  $a != 5(není rovno)
-  $a < 5
-  $a > 5
-  $a <= 5
-  $a >= 5
Porovnání textových řetězců
-  PHP: strcmp($t, "text")
-  Java: text.equals("text")
Logické funkce
-  PHP: ($a <= 5) AND ($b > 4), dále takéOR,XOR,NOT
-  Java i PHP: (a <= 5) && ($b > 4), dále také||,^,!
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>.
 
