Voor het volgen van de module <Programmeren

advertisement
LES 2
In les 1 hebben we een opdracht gemaakt, waarin de tafel van 10 op het scherm zichtbaar is gemaakt.
Je hebt waarschijnlijk 10 regels gebruikt, die vrijwel allemaal hetzelfde zijn.
Het zou jammer zijn als je bij opdrachten die een groot aantal keren herhaald moeten worden steeds
de opdrachten weer volledig moet intypen.
Daar zijn andere mogelijkheden voor.
We bespreken daarvoor het statement for.
Verder gaan we gebruik maken van variabelen.
Wij zullen eerst dit begrip variabele bespreken.
Een variabele is een geheugenplaats waar informatie kan worden opgeborgen.
De inhoud van deze geheugenplaats kan veranderen doordat de inhoud wordt overschreven met een
andere waarde. (ezelsbrug: De inhoud van deze geheugenplaats is dus variabel)
Er zijn verschillende soorten (typen) variabelen.
Zo zijn er bijvoorbeeld variabelen van het type string (een rij karakters) die we in les 1 al hebben
gebruikt.
Andere type variabelen zijn onder anderen:
Integer
Een geheel getal
Double
Een gebroken getal, ook wel re&euml;el getal genoemd
Char
E&eacute;n enkel karakter
Boolean
Een variabele die alleen de waarde WAAR of NIET WAAR kan hebben
Arrays
Reeksen variabelen van hetzelfde type
In de loop van de lessen komen deze verschillende typen variabelen nog aan bod.
Wij gaan nu eerst gebruik maken van een variabele van het type integer, dus een geheel getal.
Gehele getallen hebben geen waarde achter de komma. Voorbeelden hiervan zijn: 2, 4, -10, 0 enz.
Gehele getallen worden ook wel telgetallen genoemd, omdat we hiermee kunnen tellen, bijvoorbeeld:
1, 2, 3, 4 enzovoort, maar ook: 1, 0, -1, -2, -3 enzovoort
In php worden variabelen altijd voorafgegaan door het teken $
Een variabele is aan dit teken herkenbaar.
Om onderscheid te kunnen maken tussen de verschillende variabelen die we gaan gebruiken geven
we de variabele een naam. Dit is vergelijkbaar met de naam die je zelf gekregen hebt van je ouders.
Aan je naam ben je herkenbaar.
Je bent vrij in het kiezen van namen. Het is een goed gebruik om de namen van de variabelen aan te
passen aan de betekenis van de variabele in het programma. Er zijn enkele symbolen die je niet in
een naam mag gebruiken. Als je alleen gebruik maakt van letters en cijfers gaat het vrijwel altijd goed.
Voorbeelden:
$teller
$huur
$brutoSalaris
$nettoSalaris
$BTW
$onkosten
Het for-statement:
for wordt gebruikt wanneer van te voren bekend is hoe vaak een herhaling moet plaatsvinden.
Als voorbeeld gaan we de getallen van 1 tot en met 10 optellen.
Een herhalingslus met het statement for is als volgt opgebouwd:
for ( beginwaarde ; herhalingsvoorwaarde ; veranderingsopdracht ) {uit te voeren statements};
We bekijken het volgende voorbeeld plus het resultaat in de browser:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;opdracht1&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;?php
$resultaat=0;
for ($teller=1;$teller&lt;=10;$teller++)
{
$resultaat=$resultaat+$teller;
}
echo &quot;De som van de getallen 1 t/m 10 is: &quot;.$resultaat;
?&gt;
&lt;/body&gt;
&lt;/html&gt;
In dit codefragment worden twee variabelen gebruikt en wel $resultaat en $teller.
In regel 7 staat het statement:
$resultaat=0;
Dit is een zogenaamd toekenningstatement.
Voor het = teken staat de variabele die een waarde krijgt.
Achter het = teken staat de waarde die de variabele krijgt (welke waarde aan de variabele wordt
toegekend)
De variabele $resultaat krijgt daarmee de waarde 0.
We gaan nu naar de heading (regel 8) van het for-statement kijken.
In de heading worden alle belangrijke waarden aangegeven.
for ($teller=1;$teller&lt;=10;$teller++)
Als beginwaarde wordt opgegeven: $teller=1
Daarmee wordt aan de variabele $teller de (begin)waarde 1 toegekend.
Het tweede deel is de voorwaarde waaronder de for-lus wordt herhaald.
$teller&lt;=10 ($teller kleiner dan of gelijk aan 10)
Dit betekend, dat zolang de variabele $teller kleiner dan 10 of gelijk is aan 10 de lus wordt herhaald.
Het derde deel is het veranderingsdeel. Hier vinden we:
$teller++
Dit is een bijzondere schrijfwijze om de waarde van een variabele met 1 te verhogen.
Dit statement kan ook op een andere manier worden geschreven, namelijk als:
$teller=$teller+1;
De verklaring is als volgt:
De variabele $teller wordt gelijk aan de waarde die de variabele $teller nu heeft plus 1.
Heeft de variabele $teller de waarde 1, dan wordt de waarde na dit statement 1+1=2
Bij de volgende keer dat dit statement wordt uitgevoerd krijgt de variabele $teller de waarde 3
enzovoort.
Er is nog een derde mogelijkheid om dit statement te schrijven namelijk als:
$teller+=1;
Ter verduidelijking:
het statement:
$teller*=5;
is gelijk aan het statement
$teller = $teller*5;
en ook:
$teller-=3;
is gelijk aan het statement
$teller = $teller-3;
Ten slotte staat er tussen de accolades de statements aangegeven die moeten worden herhaald.
Dit is in dit geval slechts 1 statement en wel:
$resultaat=$resultaat+$teller;
opdracht: hoe kun je dit statement veel korter schrijven?
Met de kennis die we nu hebben gaan we het programma nog een keer helemaal doornemen.
Regel 7:
Regel 8:
Regel 10:
Regel 8:
Regel 10:
$resultaat krijgt de waarde 0.
$teller krijgt de waarde 1.
We kijken naar de voorwaarde. Omdat $teller de waarde 1 heeft en dit kleiner (of
gelijk) is dan 10 wordt aan de voorwaarde voldaan.
Het statement in regel 9 wordt daarom uitgevoerd.
$resultaat wordt gelijk aan 1 ($resultaat was 0 en $teller was 1)
$teller wordt 1 opgehoogd naar 2
$teller (2) is kleiner dan 10, dus wordt de lus herhaald.
$resultaat wordt gelijk aan 3 (1 + 2). Ga dit goed na!
Opdracht: Controleer de rest van het programma.
Wanneer de variabele $teller de waarde 9 heeft wordt deze in regel 8 verhoogd naar 10.
Er wordt nog aan de voorwaarde voldaan, want 10 is (kleiner dan of) gelijk aan 10.
Het statement in regel 10 wordt nog een keer herhaald.
Vervolgens wordt $teller verhoogd naar 11.
Omdat 11 &gt; 10 wordt niet meer aan de voorwaarde voldaan en gaat het programma verder met het
volgende statement op regel 12
We schrijven hier het resultaat naar het scherm.
Ook hier is weer extra uitleg nodig.
Het statement luidt:
echo &quot;De som van de getallen 1 t/m 10 is: &quot;.$resultaat;
De inhoud van de variabele $resultaat willen we ook weergeven op het scherm.
Met echo wordt een string (rij karakters) naar het scherm geschreven.
Verder willen we ook een variabele naar het scherm schrijven.
Hoewel php een heel slim programma is en zelf vaak kan bepalen dat het de bedoeling is om een
variabele naar het scherm te schrijven, is het beter om dit zelf goed te regelen. We doen dat door de
tekst te koppelen aan de variabele met gebruik van een punt.
LET OP: de string is herkenbaar aan de dubbele quotes.
Steeds als er een variabele naar het scherm wordt geschreven in combinatie met een string wordt een
punt als koppeling gebruikt.
We zien in het resultaat eerst de tekst: De som van de getallen 1 t/m 10 is: gevolgd door de waarde
van de variabele $resulaat op dat moment (55)
Opdracht 2_1:
Wat zal het resultaat zijn van de volgende statements als de variabele $aantal de waarde 10 heeft.:
a.
b.
c.
d.
e.
f.
echo “Na “.$aantal.” jaren stopt de uitkering.”;
echo $&auml;antal.” dagen later”;
echo $aantal;
echo 10*$aantal;
echo $aantal-3;
echo “Vijf keer “.$aantal.” is gelijk aan: “.$aantal*5;
Probeer deze statements uit in een programma. Kijk ook wat de invloed is van spaties in de
gebruikte strings.
Opdracht 2_2:
Toon de tafel van 10 opnieuw op het scherm, maar maak nu bij het aanmaken van de rijen van de
tabel gebruik van het for-statement en de variabele $teller.
Het resultaat moet er als volgt uitzien:
Opdracht 2_3:
Herhaal de opdracht 2_2, maar maak nu gebruik van een variabele $tafel, waarin je de waarde zet
van de tafel die je wilt zien. Geef in je programma deze variabele de gewenste waarde mee.
Bijvoorbeeld met het statement: $tafel=8; als je de tafel van 8 wilt laten zien.
De uitvoer moet gelijk zij aan die van de vorige opdracht.
Download