MS Office week
Pouze tento týden sleva až 80 % na e-learning týkající se MS Office
50 % bodů zdarma na online výuku díky naší Slevové akci!

Řešené úlohy k 1.-4. lekci PHP

V minulé lekci, Textové řetězce podruhé a pole v PHP, jsme se naučili zadávat textové řetězce různými způsoby a uvedli jsme si pole.

Následující 3 cvičení vám pomohou procvičit znalosti programování v PHP z minulé lekce. Ve vlastním zájmu se je pokuste vyřešit sami. Pod článkem máte pro kontrolu řešení ke stažení. Ale pozor, jakmile se na něj podíváte bez vyřešení příkladů, ztrácí pro vás cvičení smysl a nic se nenaučíte :)

Pokud si opravdu nebudete vědět rady, podívejte se raději znovu do minulého tutoriálu a pokuste se na to přijít.

Ohlasy studentů

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Jednoduchý příklad

Vytvořte skript, který si založí proměnné $a a $b. Do těchto proměnných vloží délky stran obdélníka ($a = 10 cm; $b = 20 cm) a potom vypíše jeho obvod a obsah. Pomocí spojování řetězců dosáhněte následujícího výstupu:

Obdélník
localhost

<!DOCTYPE html>
<html lang="cs-cz">
<head>
    <meta charset="utf-8" />
    <title>Obdélník</title>
</head>
<body>
</body>
</html>

Středně pokročilý příklad

Napište skript, který eviduje produkty s následujícími cenami: 3500 Kč, 2800 Kč, 1280 Kč, 1920 Kč, 4320 Kč. Spočítejte odchylku 3. produktu od průměrné ceny. K řešení úlohy využijte pole.

Ukázka obrazovky programu:

Produkty
localhost
<!DOCTYPE html>
<html lang="cs-cz">
<head>
    <meta charset="utf-8" />
    <title>Produkty</title>
</head>
<body>
</body>
</html>

Pokročilý příklad

V čínské astrologii je každému roku přiřazeno jedno ze zvířecích znamení. Ta jsou: krysa, buvol, tygr, zajíc, drak, had, kůň, ovce, opice, kohout, pes a vepř. Vytvořte skript, který podle roku, uloženého v proměnné $rok, vypíše znamení pro tento rok. Rok 2017 je rok opice, 2018 je tedy kohouta a tak dále. Znamení se cyklí stále dokola, my ovšem ještě neumíme podmínky, tak se musíme spokojit s tím, že naše aplikace bude fungovat jen na 12 let dopředu. Zde přikládám skloněná zvířecí znamení, která použijeme ve výpisu: koně, ovce, opice, kohouta, psa, vepře, krysy, bůvola, tygra, zajíce, draka, hada

Ukázka obrazovky programu:

Zvěrokruh
localhost
<!DOCTYPE html>
<html lang="cs-cz">
<head>
    <meta charset="utf-8" />
    <title>Zvěrokruh</title>
</head>
<body>
</body>
</html>

V příští lekci, Asociativní pole v PHP a obsluha formulářů, si naprogramujeme svou první formulářovou aplikaci, bude to jednoduchá kalkulačka.


 

Stáhnout

Staženo 3313x (2.33 kB)

 

Předchozí článek
Textové řetězce podruhé a pole v PHP
Všechny články v sekci
Základní konstrukce jazyka PHP
Článek pro vás napsal David Čápka
Avatar
Jak se ti líbí článek?
36 hlasů
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn university Autor sítě se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity (14)

 

 

Komentáře
Zobrazit starší komentáře (69)

Avatar
Petius
Člen
Avatar
Petius:25.11.2019 15:12

$rok = 2019;
$zverokruh = array('psa','vep­ře','krysy','bů­vola','tygra','za­jíce','draka','ha­da','koně','ov­ce','opice','ko­houta');

$prevod = $rok - 2019;

echo ("Je rok $zverokruh[$pre­vod]");

 
Odpovědět
25.11.2019 15:12
Avatar
Matouš
Člen
Avatar
Matouš:14.12.2019 19:56

Přátelé, dalo mi to zabrat, ale zdá se, že ten čínský kalendář mám. Řekl jsem si, že musí být možné úlohu splnit se znalostmi do lekce 4. Zde to je:

<?php
        $znameni = array("koně", "ovce", "opice", "kohouta", "psa", "vepře", "krysy", "bůvola", "tygra", "zajíce", "draka", "hada");
        $rok = date("Y"); //rok 2019 je rok psa
        $rokCina = ($rok - 2015); //dava rok 4
        $prirazeni = $znameni[0 + $rokCina];
        echo ("Je rok $prirazeni");
        ?>
 
Odpovědět
14.12.2019 19:56
Avatar
Radek Procházka:17. února 18:18

Tak jsem zkusil využít toho co jsem se naučil do lekce 4 a přišel jsem na níže (beru v potaz poslední příklad). Po prohlédnutí výsledku od ITnetwork mi došlo, že to lze jednodušeji. Ale hlavní je výsledek. :-D

<?php
$znameni[2015] = 'koně';
$znameni[2016] = 'ovce';
$znameni[2017] = 'opice';
$znameni[2018] = 'kohouta';
$znameni[2019] = 'psa';
$znameni[2020] = 'vepře';
$znameni[2021] = 'krysy';
$znameni[2022] = 'bůvola';
$znameni[2023] = 'tygra';
$znameni[2024] = 'zajíce';
$znameni[2025] = 'draka';
$znameni[2026] = 'hada';

echo 'Je rok ' .$znameni[date('Y')];
?>
Editováno 17. února 18:19
 
Odpovědět
17. února 18:18
Avatar
Martin Knob
Člen
Avatar
Martin Knob:4. března 6:25

Našel jsem zajímavý matematický operátor - zbytek po dělení:

echo '<h1>Čínský kalendář</h1>';
    $zodiakC=[' ovce',' opice',' kohouta',' psa',' vepře',' krysy',' bůvola',' tygra',' zajíce',' draka',' hada',' koně',];
    $rokDnes=date('Y');
    echo ('<br>');
    echo ("Rok $rokDnes je rokem". $zodiakC[($rokDnes%12)].'.');
 
Odpovědět
4. března 6:25
Avatar
František Červeňák:30. července 0:06
<?php
//kód pre ľubovoľný rok(nielen pre najbližších 12 rokov):
$cin_znam=['koně','ovce','opice','kohouta','psa','vepře','krysy','bůvola','tygra','zajíce','draka','hada'];

if(date('Y')%12!=­=11){
echo "Je rok ". $cin_znam[date('Y')%12 + 1];
/*ľubovoľný rok po delení 12 dáva zvyšok z {0,1,2..11},napr. 2016 dáva 0, 2017 dáva 1 atď. Aby sme
ale patričnému celočíslému zvšku mohli priraiť patričný index podľa zadania úlohy (2015=koně,2016=ov­ce,
2017=opice atď, tak musíme ku každému zvšku pripočítať 1, okrem prípadu 11, lebo by sme dostali index
12, ktorý ale neexistuje v tomto poli).

Aktuálne teda vypíše rok veprě, zvyšok 2020 po delení 12 je 4, a teda index je 5, čo je z poľa 'vepř'

*/

}
else {echo "Je rok ". $cin_znam[0];}
/*ak rok dáva po delení 12 zvyšok 11 horná tak tomuto roku sa priradí index 0 poľa bude to rok
'koně' - sú to napr. roky 2015, 2027, 2039,

?>

\---

 
Odpovědět
30. července 0:06
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
František Červeňák:30. července 0:07
<?php
//kód pre ľubovoľný rok(nielen pre najbližších 12 rokov):
$cin_znam=['koně','ovce','opice','kohouta','psa','vepře','krysy','bůvola','tygra','zajíce','draka','hada'];
if(date('Y')%12!==11){
    echo "Je rok ". $cin_znam[date('Y')%12 + 1];
/*ľubovoľný rok po delení 12 dáva zvyšok z {0,1,2..11},napr. 2016 dáva 0, 2017 dáva 1 atď. Aby sme
ale patričnému celočíselnému zvyšku mohli priradiť patričný index podľa zadania úlohy (2015=koně,2016=ovce,
2017=opice atď, tak musíme ku každému zvyšku pripočítať 1, okrem prípadu 11, lebo by sme dostali index
12, ktorý ale neexistuje v tomto poli).

Aktuálne teda vypíše rok veprě, zvyšok 2020 po delení 12 je 4, a teda index je 5, čo je z poľa 'vepře'

*/

}
else {echo "Je rok ". $cin_znam[0];}
/*ak rok dáva po delení 12 zvyšok 11 tak tomuto roku sa priradí index 0 poľa bude to rok
'koně' - sú to napr. roky 2015, 2027, 2039,

?>
Editováno 30. července 0:10
 
Odpovědět
30. července 0:07
Avatar
Danny Zednickova:6. srpna 1:45

Ahoja :) má to spoustu řešení :) ale je super pročítat různá řešení a zkoušet co (i třeba víc šílenýho) bude fakčit ... :D

 
Odpovědět
6. srpna 1:45
Avatar
Pavel Kvasnička:5. září 11:26
$cinskyrok = ['ovce', 'opice', 'kohouta', 'psa', 'vepře', 'krysy', 'bůvola', 'tygra', 'zajíce', 'draka', 'hada', 'koně'];
echo("Je rok " . $cinskyrok[(date('Y')%12)] . ".");
 
Odpovědět
5. září 11:26
Avatar
Pavel Kvasnička:5. září 11:31
$pole = [3500 , 2800 , 1280 , 1920 , 4320];
echo("Třetí produkt se od průměrné ceny odlišuje o " . ((array_sum($pole) / count($pole)) - $pole[2]) . " Kč.");
 
Odpovědět
5. září 11:31
Avatar
Pavel Kvasnička:5. září 11:32
$a = 10;
$b = 20;
echo("Obdélník se stranami o délkách $a a $b cm má obsah " . $a * $b . " m<sup>2</sup> a obvod " . (2 * $a + 2 * $b) . " cm.");
 
Odpovědět
5. září 11:32
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 79. Zobrazit vše