PHP Souhrnné cvičení Mgr. Josef Nožička IKT PHP
AnotaceMateriál poskytuje žákům sadu příkladů na cyklické příkazy, používané v PHP. Musí být doplněn výkladem. AutorMgr. Josef Nožička (Autor) JazykČeština Očekávaný výstup26–41-M/01 Elektrotechnika M/01 Technické lyceum Speciální vzdělávací potřeby - žádné - Klíčová slovaProgram, cyklus Druh učebního materiáluPrezentace Druh interaktivityKombinované Cílová skupinaŽák Stupeň a typ vzděláváníodborné vzdělávání Typická věková skupina let Vazby na ostatní materiályJe součástí IKT.
Cyklické příkazy – příklad 1 <?php $n=rand(1,100); echo "n = $n "; echo "Tisk čísel: "; $i=1; while ($i<$n) { echo "$i,"; $i++; } echo "$n."; ?> Napište program, který s použitím cyklu vytiskne na obrazovku celá čísla od 1 do n (číslo n nechte náhodně vygenerovat ). Čísla při tisku oddělte čárkou, za posledním udělejte tečku. Řešení s použitím cyklu while: Řešení s použitím cyklu for: <?php $n=rand(1,100); echo "n = $n "; echo "Tisk čísel: "; for ($i=1; $i<$n;$i++) echo "$i,"; echo "$n."; ?>
Cyklické příkazy – příklad 2 <?php $n=rand(2,20); echo "Počet čísel = $n "; echo "Jednotlivá čísla: "; $i=1; $s =0; while ($i<=$n) { $x=rand(0,100); echo "$x "; $s = $s + $x; $i++; } $p = $s/$n; echo "Aritmetický průměr = $p"; ?> Napište program, který vypočítá aritmetický průměr náhodně vygenerované posloupnosti čísel. Řešení :
Cyklické příkazy – příklad 3 Obrázek … <?php $i=50; $j=70; // původní rozměry obrázku jsou 50 pixelů na šířku // a 70 pixelů na výšku while ($i<=250) { echo " "; $i+=50; $j+=70; } ?> Napište program, který s použitím cyklu zobrazí na stránku pětkrát vedle sebe stejný obrázek a tím, že rozměry obrázku se budou postupně zvětšovat (původní poměr výšky a šířky však zůstane zachován). Řešení:
Příklad 3 – jiné řešení Obrázek … <?php for ($i=50; $i<=250;$i+=50) { $j=7/5*$i;// rozměry obrázku jsou v poměru 7:5 echo " "; } ?> Při tomto řešení je místo cyklu while použit cyklus for a je zde jiným způsobem počítána souřadnice výšky obrázku.
Cyklické příkazy – příklad 4 Analýza: Názvy dnů v týdnu si uložíme do pole a vytiskneme je s použitím cyklického příkazu. Dále v programu využijeme příkaz date(‘w‘), který v závislosti na aktuálním datumu (zjištěné dle systémového data počítače) vrací číslo od 0 do 6 (s tím, že 0 je neděle, 1 pondělí … 6 sobota). Tomu bude odpovídat i pořadí názvů dnů, uložených do pole. Napište program, který vytiskne pod sebe na obrazovku názvy dnů v týdnu (pondělí – neděle), s tím, že aktuální den se vytiskne tučně.
Příklad 4 – řešení <?php $den=array(neděle,pondělí,úterý,středa,čtvrtek,pátek,sobota); $dnes=date("w"); echo "Dny v týdnu: "; for($i=1;$i<=6;$i++) { if ($i==$dnes) echo " $den[$i] "; else echo "$den[$i] "; } if ($dnes==0) echo " $den[0] "; else echo "$den[0] "; ?>
Shrnutí Na uvedených příkladech jsme mohli vidět, že cykly mají využití nejenom v algoritmech početního typu, které se spíše programují ve vyšších programovacích jazycích, ale i ve skriptech, určených pro tvorbu webových stránek. U daných typů úloh je přitom většinou jedno, který cyklický příkaz použijeme (for, while nebo do while) – v podstatě záleží jen na programátorovi, který z nich používá nejraději.
Zdroje BRÁZA, Jiří. PHP 5: začínáme programovat. 1. vyd. Praha: Grada Publishing, 2005, 244 s. ISBN X.