Indyk
12.05.2009, 15:13:02
Manchmal kommt man in Situationen wo man jemanden Übungsaufgaben geben muss / möchte, sei es ein Praktikant oder Schüler oder man möchte selbst sich testen und findet keine. In dem Sinne werde ich hier jetzt ein paar Aufgaben (mit meiner eigenen Lösung die nicht perfekt sein muss) posten.
Aufgabe 1
Erstellen Sie einen Algorithmus für die Funktion holeSonnenstunden(), welche die Sonnenstunden eines Postleitzahlenbreichs aus dem zweidimensionalen Array Sonnenstunden liefert. Der Übergabeparameter ist eine PLZ.
// PLZ, Sonnenstunden
$Sonnenstunden = array(
array(50606, 1200),
array(51491, 1100),
);
Hinweis:
Die Zeilen des Arrays sind nach Postleitzahlen aufsteigend sortiert
Wird die Übergebene PLZ Im Array nicht gefunden, so soll die Sonnenstundenzahl der nächstkleineren PLZ Verwendet werden
Ist die eingegeben PLZ Kleiner als die kleinste im Array vorhandene PLZ, wird -1 zurückgegeben.
Lösung Aufgabe 1 v.1
function holeSonnenstunden($plz)
{
global $Sonnenstunden;
if($plz < $Sonnenstunden[0][0])
{
return -1;
}
foreach($Sonnenstunden as $a)
{
if($a[0] == $plz)
{
return $a[1];
}
}
return holeSonnenstunden($plz-1);
}
Benutzen von global ist kein guter Programmierstyle :)
P.s:
Die Aufgaben und deren Beschreibung sind nicht von mir. Fragen oder andere Lösungsvorschläge würde ich über PM oder anderen thread sehr begrüßen damit dieser hier überschaubar bleibt.
Aufgabe 1
Erstellen Sie einen Algorithmus für die Funktion holeSonnenstunden(), welche die Sonnenstunden eines Postleitzahlenbreichs aus dem zweidimensionalen Array Sonnenstunden liefert. Der Übergabeparameter ist eine PLZ.
// PLZ, Sonnenstunden
$Sonnenstunden = array(
array(50606, 1200),
array(51491, 1100),
);
Hinweis:
Die Zeilen des Arrays sind nach Postleitzahlen aufsteigend sortiert
Wird die Übergebene PLZ Im Array nicht gefunden, so soll die Sonnenstundenzahl der nächstkleineren PLZ Verwendet werden
Ist die eingegeben PLZ Kleiner als die kleinste im Array vorhandene PLZ, wird -1 zurückgegeben.
Lösung Aufgabe 1 v.1
function holeSonnenstunden($plz)
{
global $Sonnenstunden;
if($plz < $Sonnenstunden[0][0])
{
return -1;
}
foreach($Sonnenstunden as $a)
{
if($a[0] == $plz)
{
return $a[1];
}
}
return holeSonnenstunden($plz-1);
}
Benutzen von global ist kein guter Programmierstyle :)
P.s:
Die Aufgaben und deren Beschreibung sind nicht von mir. Fragen oder andere Lösungsvorschläge würde ich über PM oder anderen thread sehr begrüßen damit dieser hier überschaubar bleibt.