Tehtävä 1 Tee PHP-koodaus if-lauseilla joka antaa kokonaispisteitä vastaavan arvosanan seuraavasti: Kok.pisteet - Arvosana 0 - 119 => 0 120 - 212 => 1 213 - 305 => 2 306 - 400 => 3 Huom ! Esim. 119.1 pisteellä arvosana on 1, 212.1 pisteellä arvosana on 2 jne.
VALINTOJEN TEKEMINEN OHJELMASSA
if
-lauseita ja switch..case
-lause.Valintoja suoritetaan ennalta asetettujen ehtojen mukaan, esimerkiksi:
Matti vie Maijan elokuviin,
jos hänellä on rahaa 32 euroa.
Matti tarjoaa lisäksi kahvit kahvilassa,
jos hänellä on enemmän kuin 50 euroa.
Muutoin Matti ja Maija katsovat vuokravideoita kotona.
Ehtorakenteissa tarvitaan usein vertailu- ja loogisia-operaattoreita jotka löytyvät täältä.
if - LAUSE
if
-lause muodostuu seuraavasti:
if (ehto) { lause; }
if
-lauseessa tutkitaan ehto ja mikäli ehto on tosi (1), suoritetaan lause. Mikäli ehto on epätosi (0), ohjelma siirtyy seuraavaan suoritettavaan lauseeseen.Esimerkissä lasketaan
if
-lauseen ehdossa yhteen luku1
ja luku2
. Summan perusteella tulostuu jokin kolmesta tekstistä./* if-lauseen käyttö */ <!DOCTYPE HTML> <html lang="en"> <html> <head> <meta charset="UTF-8"> </head> <body> <?php $luku1 = 12; $luku2 = 15; if ($luku1+$luku2 < "20") echo "Luku on alle 20"; if ($luku1+$luku2 == "27") echo "Luku on tasan 27"; if ($luku1+$luku2 > "30") echo "Luku on yli 30"; ?> </body> </html>
Luku on tasan 27
OHJELMALOHKON KÄYTTÖ if - LAUSEEN YHTEYDESSÄ
if
-lauseen ehdon toteutuessa voidaan suorittaa yksi lause tai useita lauseita eli ohjelmalohko. Mikäli if
-lauseen ehdon toteutumisen seurauksena on suoritettavana
useita lauseita, nämä kootaan aaltosulkujen sisään.
Ohjelmalohko muodostuu seuraavasti:
Mikäli ehto on tosi, suoritetaan aaltosulkujen sisällä olevat lauseet, eli lisäämällä aaltosulkeet saadaanif (ehto) { lause_1; lause_2; .... lause_n; }
if
-lauseelle
useampia toimintoja aikaan.Tehtävä 2 Tee PHP-koodaus. LUKU_1 muuttujassa on numero 12. LUKU_2 muuttujassa on numero 14. LUKU_3 muuttujassa on numero 16. Jos LUKU_2 on yhtäsuuri tai suurempi kuin kuin 14, näytä LUKU_1 + LUKU_2 ja laskun tulos näytä LUKU_2 + LUKU_3 ja laskun tulos näytä LUKU_1 + LUKU_3 ja laskun tulos
SISÄKKÄISET if - LAUSEET
Sisäkkäistenif
-lauseiden yleinen muoto on:
Toinenif (ehto) if(ehto2) lause;
if
-lause on ensimmäisen if
-lauseen rungon osa. Lause suoritetaan vain kun molemmat ehdot ovat tosia./* sisäkkäiset if-lauseet */ <?php $luku = 141; echo "Tutkittava luku on 141. <br>"; if($luku >= 1 & $luku < 500){ echo " Luku on 1 ja 500 välillä, <br>"; if($luku > 1 & $luku < 250){ echo " sekä luku on 1 ja 250 välissä.<br>"; } if($luku > 251 & $luku <= 500){ echo " sekä luku on 251 ja 500 välissä."; } } ?>
Esimerkin tuottama tulos www-sivulle:
Tutkittava luku on 141.
Luku on 1 ja 500 välillä,
sekä luku on 1 ja 250 välissä.
if ... else LAUSE
if
-lauseessa testataan ehto, mikäli ehto pitää paikkansa, suoritetaan if-lauseelle kirjoitetut tehtävät. Mikäli ehto ei toteudu, toimintoja ei suoriteta. Kuitenkin usein
on tilanne että pitäisi jotain toimintoja tehdä vaikka if
-lause ei toteutunut. Ratkaisu on if...else
-lause, joka sallii
suoritettavaksi tehtäviä mikäli if
-ehto ei toteudu.Yleinen muoto
if...else
lauseelle:
Esimerkissä käytetäänif (ehto) else lause;
date()
-funktioita kellonajan saamiseksi aika
-muuttujaan. aika
-muuttujassa olevaa tietoa tutkitaan if
-
lauseen ehdossa. Mikäli kello on 9 - 18, toivotetaan Hyvää päivää ! ja näytetään kellonaika, muuten näytetään Hyvää iltaa ! teksti./* if-lauseen käyttö */ <?php $aika = date("H:i"); if ($aika >= "9" || $aika < "18") { echo "Hyvää päivää ! <br>Kello on "; echo $aika; } else { echo "Hyvää iltaa !"; } ?>
Hyvää päivää !
Kello on 05:47
Sisäkkäisten if else rakenne on seuraava:
Esimerkissä käytetään sisäkkäistä rakennetta lämpötilan ilmaisussa:if (ehto 1) { if (ehto 2) lause A; else lause B; } else lause C;
/* Sisäkkäiset if else-lauseet */ <?php $lampo = 13.1; if ($lampo < 25) { if ($lampo > 15) echo "Sopivan lämmintä."; else echo "Liian kylmää !"; } else echo "Nyt tuli hiki..."; ?>
Liian kylmää !
if elseif else LAUSE
if elseif else
-lauserakennetta voidaan käyttää vaihtoehtona rakenteelle if - if - else
.Yleinen muoto
if...elseif...else
lauseelle:
Esimerkissä on osa jäähdyttimen ohjauskoodia. Kun anturin lämpötila on enemmän kuin 23 astetta, saadaan ilmoitus "Käynnistä jäähdytys". Jäähdyttäminen pysäytetään kun anturin lämpötila on alle 20 astetta. Kun lämpötila on 20 -23 astetta, annetaan siitä ilmoitus "Sisälämpö välillä 20 -23".if (ehto 1) lause; elseif (ehto 2) lause; else lause;
/* if elseif else lause */ <?php $lampo = 19.9; echo "Anturin lämpötila " . $lampo . "<br>"; if ($lampo > 23) { echo " Käynnistä jäähdytys. "; } elseif ($lampo < 20) { echo "Pysäytä jäähdytys"; } else { echo "Sisälämpö välillä 20 - 23."; } ?>
Anturin lämpötila 19.9
Pysäytä jäähdytys
Tehtävä 2 Kirjoita tähän myöhemmin tehtävä.
else
-osa kuuluu aina lähimpään if
-osaan. Sulkuja käyttämällä voidaan järjestystä muuttaa. Sisäkkäisten if...else
lauseiden käytössä
on oltava huolellinen, koska else
saattaa viitata helposti väärään if
-osaan.switch ... case LAUSE
PHP:ssa on mahdollisuus suorittaa useasta valinnasta yksi lause tai lausekokonaisuus käyttämälläswitch...case
-rakennetta.switch...case
yleinenmuoto:
switch(valinta) { case valinta_1: lause_1; break; case valinta_2: lause_2; break; ........... case valinta_n: lause_n; break; default: oletuslause; }
switch...case
-komentoa käytettäessä testataan muuttuja. Mikäli case tapauksista löytyy vastaava suoritetaan lause. Muussa tapauksessa suoritetaan default
-osa.
default
-osa voi myös puuttua.<?php $Vari = "Mustikka"; switch ($Vari) { case "Mansikka": echo "Mansikan väri on punainen!"; break; case "Mustikka": echo "Mustikan väri on sininen!"; break; case "Lakka": echo "Lakan väri on oranssi!"; break; default: echo "Sinun marjasi ei ole Mansikka, Mustikka tai edes Lakka!"; } ?>
Mustikan väri on sininen!
Tehtävä 3 Kirjoita tähän myöhemmin tehtävä.
switch
-komennon yhteydessä on käytettävä break
-komentoa. break
-komento siirtää ohjelman suorituksen switch
-rakennetta
seuraavaan ohjelmalauseeseen.