Skip to main content

Opgaven Arrays/Sort

Opgave 1

We gaan oefenen met loops, arrays assiociative arrays en de verschillende array sort function.

Maak het volgende array

<?
$ceu = array( "Italy"=>"Rome", "Luxembourg"=>"Luxembourg", "Belgium"=> "Brussels", "Denmark"=>"Copenhagen", "Finland"=>"Helsinki", "France" => "Paris", "Slovakia"=>"Bratislava", "Slovenia"=>"Ljubljana", "Germany" => "Berlin", "Greece" => "Athens", "Ireland"=>"Dublin", "Netherlands"=>"Amsterdam", "Portugal"=>"Lisbon", "Spain"=>"Madrid", "Sweden"=>"Stockholm", "United Kingdom"=>"London", "Cyprus"=>"Nicosia", "Lithuania"=>"Vilnius", "Czech Republic"=>"Prague", "Estonia"=>"Tallin", "Hungary"=>"Budapest", "Latvia"=>"Riga", "Malta"=>"Valetta", "Austria" => "Vienna", "Poland"=>"Warsaw") ;

en maak een PHP script dat de volgende output genereert:

The capital of Netherlands is Amsterdam
The capital of Greece is Athens
The capital of Germany is Berlin 

Let op dat je het assiociative array sorteerd op 'value' (Amsterdam, Athens, Berlin,.....).

Zoek hiervoor de juiste functie op: w3schools

Opgave 2a

We hebben een lijst getallen: 78, 60, 62, 68, 71, 68, 73, 85, 66, 64, 76, 63, 75, 76, 73, 68, 62, 73, 72, 65, 74, 62, 62, 65, 64, 68, 73, 75, 79, 73

Stel je wilt het gemiddelde van de vijf hoogste waarden van deze reeks berekenen. Hoe doe je dat?

Eerst maken we het probleem kleiner door het in stapjes op te delen:

  1. Bepaal de vijf hoogste waarden.
  2. Bereken het gemiddelde van deze vijf waarden.

We hebben nu dus twee problemen, laten eerst naar probleem 1 kijken en dat weer onderverdelen in nog kleiner stapjes.

De vijf hoogste waarden kunnen we bepalen door het array eerst te sorteren, dus als we probleem 1 verdeer opdelen dan hebben we de stappen:

1.1 Sorteer het array aflopend (hoogste waarden vooraan).
1.2 Neem de eerste 5 elementen van het array.

1.1 kunnen we doen met de juiste sorteer functie, zie w3schools
1.2 kunnen we doen met een for-loop; we itereren door element 0,1,2,3 en 4.

Doe dit en druk de hoogste 5 waarden af om te controleren of we inderdaad de vijf hoogste waarden krijgen.

Nu wordt stap 2 (het gemiddelde bepalen) niet meer zo moeilijk. In plaats van het uitprinten van de vijf hoogdte waarden tellen we deze bij elkaar op en als we dat gedaan hebben dan delen we de uitkomt door 5.

Waarom? Omdat je het gemiddelde van vijf getallen als volgent berekent. Stel de hoogste waarden zijn 20,19,18,17,15,10 dan bereken je het gemiddelde door de berekening (20+19+18+17+15+10)/5.

Maak het hele PHP programma af. Zorg nu dat de 5 een variabele is ($aantal) zodat je ook eenvoudig het gemiddelde kan berekenen van de 4 hoogste waarden, of de 6 hoogste waarden of de 7, of 8.,....

Opgave 2b

Wat gebeurt er als je $aantal= 30 maakt?

Beveilig het PHP programma zodat als je de variabele $aantal niet zo groot kan worden dat het PHP programma een foutmelding geeft.

Opgave 3

Pas de code aan die je hebt gemaakt bij opgave 2b zodat je het gemiddelde van de laagste vijf waarden berekend.

--