Další práce s proměnnými

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.

Užití IF - tvorba testu

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.


Úkoly:

Úkol (2 body)

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) .

Úkol (body podle rozsahu, vzhledu a užitečnosti, neomezeně)

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
Použité zdroje: Není-li uvedeno jinak, jsou všechny ilustrační obrázky dílem autora.