# 7 Opdracht *In deze les gaan we stof herhalen. We gaan met functies werken en je leert onderdelen die je later later nodig hebt voor de eindopdracht.* ### Opgave 1 We hebben een functie die het volgende doet. De functie krijgt drie waarden en returned de som van de drie getallen (dus de twee input variabelen opgeteld).
**Input** **Output**
mijnFunctie(3,2,1) 6
mijnFunctie(1,12,3)16
mijnFunctie(0,4,0)4
mijnFunctie(7,0,3)10
mijnFunctie(0,0,0)0
Maak een functie die dit doet. En test met alle input waarden zoals hierboven aangegeven. Je kunt de volgende template gebruiken. ```PHP function mijnFunctie($a, $b, $c) { // maak hier de code voor jouw functie } echo mijnFunctie(3,2,1); echo "
"; echo mijnFunctie(1,12,3); echo "
"; echo mijnFunctie(0,4,0); echo "
"; echo mijnFunctie(7,0,3); echo "
"; echo mijnFunctie(0,0,0); ``` ##### Inleveren Lever de code in en gebruik de naam php71-jouw-naam.php ### ### Opgave 2 We hebben een functie die het volgende doet. De functie krijgt drie waarden en returned de som van de drie getallen (dus de drie input variabelen opgeteld). Er is nu een uitzondering. Zodra er een 0 in één van de input variabelen voorkomt dan wordt de return waarde 0.
**Input** **Output**
mijnFunctie(3,2,1) 6
mijnFunctie(1,12,3)16
mijnFunctie(0,4,0)0
mijnFunctie(7,0,3)0
mijnFunctie(0,0,0)0
Maak een functie die dit doet. Gebruik de template van opgave 1. ##### Inleveren Lever de code in en gebruik de naam php72-jouw-naam.php ### ### Opgave 3 We hebben een functie die het volgende doet. De functie krijgt drie waarden en returned de som van de twee getallen (dus de twee input variabelen opgeteld). Er is nu een uitzondering. Zodra alle input variabelen 0 zijn wordt de return waarde 0.
**Input** **Output**
mijnFunctie(3,2,1) 6
mijnFunctie(1,12,3)16
mijnFunctie(0,4,0)4
mijnFunctie(7,0,3)10
mijnFunctie(0,0,0)0
Maak een functie die dit doet. Gebruik de template van opgave 1. ##### Inleveren Lever de code in en gebruik de naam php73-jouw-naam.php ### Opgave 4 We hebben een functie die het volgende doet. De functie telt de drie input waarden bij elkaar op. Is de som groter of gelijk aan 10 dan wordt de return waarde 1. Is de som kleiner dan 10 en groter dan 0 dan wordt de return waarde 0. Is de som 0 dan wordt de return waarde -1.
**Input** **Output**
mijnFunctie(3,2,1) 0
mijnFunctie(1,12,3)1
mijnFunctie(0,4,0)0
mijnFunctie(7,0,3)1
mijnFunctie(0,0,0)-1
Maak een functie die dit doet. Gebruik de template van opgave 1. ##### Inleveren Lever de code in en gebruik de naam php74-jouw-naam.php ### Opgave 5 - array optellen We hebben een functie die het volgende doet. De functie telt alle waarden van een array bij elkaar op. De som alle getallen van het array wordt door de functie gereturned. Let op het input array kan verschillende lengtes hebben.
**Input** **Output**
mijnFunctie( \[3,2,1\] ) 6
mijnFunctie( \[1,12,3,1,2\] )19
mijnFunctie( \[1,12,3,1,2,1\] )20
mijnFunctie( \[2,4\] )6
mijnFunctie( \[4\] )4
Maak een functie die dit doet. Je kunt een array doorlopen met een foreach-loop zoals we in les 2 hebben gehad. Je kunt de template van opgave 1 gebruiken, maar je moet deze wel aanpassen. ##### Inleveren Lever de code in en gebruik de naam php74-jouw-naam.php ### Opgave 7 - voetbal De voetbaluitslagen staan in een array. ```PHP $uitslagen = [ [1,3], [4,0], [0,0] ,[1,1],[0,2] ]; ``` In dit lijstje heeft de club FCR (Footbal Club Royal), vijf wedstrijden gespeeld. De uitslagen waren 1-3, 4-0, 0-0, 1-1 en 0-2. Maak een functie die met deze uitslagen het aantal punten voor FCR uitrekent. Voor een gewonnen wedstrijd krijgt FCR 3 punten, voor gelijkspel 1 punt en voor een verloren spel 0 punten.
Uitslag Punten
1-3 0
4-0 3
0-0 1
1-1 1
0-2 0
FCR heeft dus in dit voorbeeld 5 punten. Maak een functie die de punten aan de hand van de uitslagen berekend.
Input Punten
\[ \[1,3\], \[4,0\], \[0,0\] ,\[1,1\],\[0,2\] \]5
\[ \[1,1\], \[0,0\], \[0,2\] ,\[1,1\],\[0,2\] \]3
\[ \[1,1\], \[0,0\], \[0,0\] ,\[1,1\],\[2,2\] \]5
\[ \[1,0\], \[1,0\], \[2,0\] ,\[1,1\],\[0,2\] \]10
##### Template ```PHP function berekenScore($uitslagen) { // bereken score return($score); } echo berekenScore([ [1,3], [4,0], [0,0] ,[1,1],[0,2] ]); echo "
"; echo berekenScore([ [1,1], [0,0], [0,2] ,[1,1],[0,2] ]); echo "
"; echo berekenScore([ [1,1], [0,0], [0,0] ,[1,1],[2,2] ]); echo "
"; echo berekenScore([ [1,0], [1,0], [2,0] ,[1,1],[0,2] ]); ``` ##### ##### Inleveren Lever de code in en gebruik de naam php77-jouw-naam.php ### ### Opgave 8 - swap In de vorige opgave hadden we het over de uitslag van een voetbalwedstrijd. Een uitslag 1,0 betekende dat de thuisploeg (FCR) 1 doelpunt heeft gemaakt en de uit spelende ploeg had 0 punten gescoord. Soms staat de uitslag in de verkeerde volgorde. FCR heeft met 3-2 gewonnen en de uitslag is 2-3. Nu moet jij een functie maken die twee getallen in een array omdraait.
Input Output
swap(\[1,2\]) \[2,1\]
swap(\[3,2\])\[2,3\]
swap(\[1,1\])\[1,1\]
##### Template ```PHP function swap($uitslag) { // swap de twee elementen van het array return($swap); } print_r( swap($uitslag([2,1])) ); echo "
"; print_r( swap($uitslag([2,3])) ); echo "
"; print_r( swap($uitslag([1,1])) ); ``` ##### ##### Inleveren Lever de code in en gebruik de naam php78-jouw-naam.php