Ve druhé lekci jsme se učili o proměnných, jejich typech a operacích, které lze s nimi provádět. V této lekci si ukážeme zkrácené zápisy některých operací pro pohodlné programátory (to jsou všichni ;-) ).
Pokud chceme například proměnnou $a zvětšit o 5, potom bychom měli psát:
$a = $a+5
(do proměnné $a se uloží součet $a+5), pro tu samou operaci lze použít také tento zkrácený zápis:
$a += 5, obdobně lze zkracovat i další operace:
$a -= 1 (znamená $a = $a-1)
$a -= $b+$c (znamená $a = $a-($b+$c)
$a /= 2 (znamená $a = $a/2)
$a *= $b (znamená $a = $a*$b)
$a %= 3 (znamená $a = $a%3 - určí zbytek po dělení $a číslem 3)
Další zkrácený zápis se používá pro zvětšení (zmenšení) proměnné o jedničku (také se říká inkrementace a dekrementace):
++$i nebo $i++ (znamená $i = $i+1)
--$i nebo $i-- (znamená $i = $i-1)
Jestli napíšete znaménka v tomto zkráceném zápisu před nebo za proměnnou je důležité, pokud budete chtít tuto hodnotu uložit do další proměnné, je-li například $a=10, potom $b=++$a do $b uloží číslo 11 ($a se nejprve zvětšila a potom uložila), zatímco $b=$a++ uloží do $b číslo 10 ($a se nejprve uloží a potom zvětší).
Pokud využijeme naše znalosti z HTML a CSS, můžeme díky PHP vytvořit už nyní jednoduché testy on-line, jejichž zadání by mohlo vypadat třeba takto (ale samozřejmě i lépe :-) ). Aby měl test větší smysl, je přidáno i celkové vyhodnocení podle následujícího textu. Tento způsob tvorby testů sice není nejšikovnější, ale funguje.
Jak se můžete sami podívat, ve zdroji stránky s testem nejsou velké změny, jsou jen přidané další výběry a pomocí parametru checked je vždy jedna z hodnot předem vybraná, protože by došlo k chybě, kdyby nebylo nic vybráno.
Hlavní změnou ve vyhodnocení odpovědí je ta, že při správné odpovědi zvětšíme proměnnou $spravne o jedničku a vypíšeme hlášku, chceme tedy při splnění podmínky vykonat dva příkazy - potom je musíme uzavřít do složené závorky.
<?php
............
$spravne=0;
echo "hlavní město Slovenska - tvoje odpověď: $slovensko - ";
if ($slovensko=="Bratislava") {$spravne++; echo "výborně";} else echo"chyba";
echo "<br /> <br />";
echo "hlavní město Rakouska - tvoje odpověď: $rakousko - ";
if ($rakousko=="Vídeň") {$spravne++; echo "výborně";} else echo"chyba";
.....
echo"počet správných odpovědí: $spravne ze 4, to je ", 100*$spravne/4,"%";
?>
Vyhodnocení v procentech úspěšnosti je pro 4 otázky velmi jednoduché, snad to zvládnete i pro jiný počet otázek.
Vytvořte test podle textu lekce se čtyřmi otázkami (pozor, chybí část zdroje, kterou jsme použili již dvakrát v minulých lekcích) .
Bylo by výborné vytvořit sadu on-line testů, kterou bychom mohli prezentovat třeba i naší školní stránce (mohla by to být dobrá pomůcka pro opakování vybraného tématu kteréhokoliv předmětu). Můžete se domluvit i na práci ve skupinkách. Tématem by mohla být také příprava k přijímacím zkouškám podobná testům SCIO (zadání byste mohli připravit ve spolupráci s vyučujícími).
Název školy: | Základní škola, Hradec Králové, M. Horákové 258 |
Název projektu: | EU peníze školám |
Číslo projektu: | CZ.1.07/1.4.00/21.2575 |
Téma: | Programování v PHP |
Název: | VY_32_INOVACE_05_10A_PHP5 |
Autor: | Pavel Petr |