Arrays auswerten (Minimum, Maximum, Summe)

    Bisher können wir Arrays speichern und einzelne Elemente oder das komplette Array ausgeben. Mit Arrays geht aber noch deutlich mehr: Es ist auch möglich, das komplette Array zu "scannen", um z.B. Summen zu bilden oder Maximalwerte zu berechnen.

    Wie so etwas funktioniert, schauen wir uns an einem kleinen Spiel an. Wir steuern dabei einen Roboter, der 6 Sekunden Zeit hat, möglichst viele im Raum verstreute Zahlen aufzusammeln. Diese Zahlen wandern dann in sein Inventar, fĂŒr das wir ein Array erstellt haben.

    Summe: Wer sammelt die besten Zahlen?

    Ziel des Spieles ist es natĂŒrlich, möglichst "wertvolle" Zahlen zu sammeln. Um herauszufinden, wie erfolgreich wir waren, mĂŒssen wir also alle Zahlen zusammenzĂ€hlen. Mit anderen Worten: Wir mĂŒssen die Summe der Elemente im Array bilden.

    Struktogramm: Berechnung der Summe

    Aufgabe: Summe der Werte eines Arrays bilden

    (1) Summe im Unterprogramm berechnen

    Benutzen Sie das Projekt 7120_Array_Auswerten-AUFGABE

    Entwerfen Sie das Programm zur Berechnung der Summe und lassen Sie sich diese ausgeben! Das Struktogramm oben sollte Ihnen hilfreich sein 


    Damit das Ganze möglichst ĂŒbersichtlich bleibt, sollen Sie die Berechnung der Summe in einem eigenen Unterprogramm entwerfen. Im Sprite Player wurde bereits ein Programm summeBerechnen angelegt (siehe Abbildung) - aber das funktioniert natĂŒrlich noch nicht richtig, da als Summe immer 0815 gespeichert wird).

    Maximum: Wer hat die grĂ¶ĂŸte Zahl gesammelt?

    Wir wollen jetzt noch ermitteln, wer die grĂ¶ĂŸte Zahl gesammelt hat. DafĂŒr durchlaufen wir das Array und speichern die jeweils grĂ¶ĂŸte Zahl in der Variablen max!

    Struktogramm: Ermitteln des Maximums

    Aufgaben: Maximum, Minimum

    (2) Maximum ermitteln

    Benutzen Sie das Projekt 7120_Array_Auswerten-AUFGABE

    Entwerfen Sie entsprechend Aufgabe 1 ein Unterprogramm maximumErmitteln, mit dem Sie die grĂ¶ĂŸte Zahl im Array inventar herausfinden und ausgeben.

    (3) Minimum ermitteln

    In einer spĂ€teren Version des Programms soll es Strafpunkte fĂŒr den Spieler geben, der mindestens eine Zahl eingesammelt hat, die kleiner als 2 ist. Sie mĂŒssen deshalb ermitteln, welches die kleinste Zahl ist, die der Roboter eingesammelt hat.

    Erstellen Sie hierzu ein Struktogramm und ein Unterprogramm (minimumErmitteln)!

    (Tipp: Wir werden die Variable min mit jedem Element des Arrays vergleichen (wie wir es mit dem Maximalwert max gemacht haben). Deshalb brauchen wir fĂŒr das Minimum einen Startwert. Sie können das Minimum z.B. am Anfang auf den Wert 10 setzen. Im Spiel gibt es nur die Zahlen 1 bis 9, wir wissen also, dass wir im Array nur Zahlen haben werden, die kleiner sind!)

    (4) Mittelwert berechnen

    Entwerfen Sie ein Unterprogramm (mittelwertBerechnen), das den Mittelwert der Zahlen im Array inventar ermittelt. Erstellen Sie auch ein Struktogramm zu diesem Unterprogramm.

    (5) Wie viele Zahlen sind grĂ¶ĂŸer als 7?

    Wir denken darĂŒber nach, das Programm so zu Ă€ndern, dass es Zusatzpunkte fĂŒr alle Zahlen gibt, die grĂ¶ĂŸer als 7 sind. Entwerfen Sie ein Unterprogramm, mit dem Sie herausfinden, wie viele dieser Zahlen wir eingesammelt haben.

    (6) Gesamtanwendung: Blumenladen

    Schnappen Sie sich das Projekt 7125_blumenladen-AUFGABE und setzen Sie noch einmal alle Themen um (Summe, Minimum, Maximum, Mittelwert - jeweils mit Struktogramm).

    Vielleicht denken Sie jetzt, hÀÀ, das ist doch genau das gleiche! - Recht haben Sie. Es ist IMMER genau das gleiche. Wenn Sie einmal kapiert haben, wie das funktioniert, ist es immer das gleiche. Also machen Sie es, und wenn Sie sich dabei langweilen, ist es ein Zeichen dafĂŒr, dass Sie es verstanden haben.

    (7) StruktogrammĂŒbungen: MĂŒnzen

    Der kleine Dieter hat mal wieder im Supermarkt SĂŒĂŸigkeitenschrott gekauft. Seine Mutter findet den Kassenzettel und möchte mal auswerten, was Dieter so in sich reingestopft hat. Sie ist Informatikerin, deshalb macht sie das natĂŒrlich mit einem Array.

    Auf dem Kassenzettel befinden sich diese EintrÀge:
    Schokoriegel - 1.29
    Bonbons - 2.99
    Energydrink - 2.39
    GummibÀrchen - 1.29
    Halloween-AugÀpfel - 3.99
    Cola - 0.59
    Tafel Schokolade - 0.99

    Erstellen Sie ein Struktogramm fĂŒr ein Programm, das die Summe des verschwendeten Geldes berechnet, die durchschnittlichen Kosten der SĂŒĂŸigkeiten, den teuersten Posten und den billigsten Posten. Am Schluss soll eine Ausgabe erfolgen wie: »Schnitt: 33.33, Summe: 33.33, teuerster Einkauf: 33.33, billigster Einkauf: 33.33«

    ErgĂ€nzung: Erweitern Sie das Programm wie folgt: Dieter bekommt 10 Euro Taschengeld monatlich (bitte Variable anlegen). Wenn Dieter fĂŒr seinen SĂŒĂŸigkeitenkauf mehr als das Doppelte seines monatlichen Taschengelds ausgegeben hat, soll das Taschengeld um 20% reduziert werden. Wenn Dieter mehr als sein monatliches Taschengeld ausgegeben hat (aber maximal das Doppelte), wird das Taschengeld um 10% reduziert. Ausgabe: "Dieter bekommt ab sofort statt 10 Euro nur noch 9 Euro Taschengeld pro Monat." Wenn Sie Nerven haben, sorgen Sie dafĂŒr, dass das "nur noch" nur dann ausgegeben wird, wenn sich das Taschengeld auch wirklich reduziert.

    ErklÀrvideo: Array auswerten

    Arbeitsblatt: Arrays auswerten

    Arbeitsblatt »Arrays auswerten (Summe, Maximum, Minimum)« (PDF)