MINT üben

Reihungen durchlaufen

Dreißig Übungen zu Zählschleife, for-each, Summe, Maximum und Zählen — von AFB I bis AFB III.

Ihr Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Dreißig Übungen in gemischter Reihenfolge — Sie klicken, ziehen, ordnen, rechnen und knobeln. Jede Übung gibt Ihnen sofort eine Rückmeldung, und zu jeder Aufgabe gibt es zwei gestufte Tipps: Der erste zeigt die Richtung, der zweite den entscheidenden Schritt. Die Chips zeigen das Anforderungsniveau: AFB I heißt wiedergeben und direkt anwenden, AFB II selbst entscheiden und verknüpfen, AFB III begründen, beurteilen oder eine Falle durchschauen. Aufgaben mit dem Chip Mix verbinden Wissen aus früheren Unterkapiteln, bei Trick steckt eine Falle drin. Fahren Sie über ein unterstrichenes Arbeitswort, sehen Sie, was es genau von Ihnen verlangt.

A1
Etappen der Radtour
AFB I

Eine Radtour wird in n gleich langen Etappen von je 35 km geplant. Das Programm legt die Reihung an und füllt sie:

int[] km = new int[n];
for (int i = 0; i < n; i++) {
  km[i] = 35;
}

Lesen Sie am Regler die kleinste Zahl n ab, für die die Zielzeile jeweils erfüllt ist: Stellen Sie den Regler ein und beobachten Sie die Werte darüber.

Verschieben Sie den Regler (ziehen oder auf die Skala tippen) bzw. nutzen Sie die Knöpfe − und +; die Werte darüber laufen live mit. Tastatur: Tab zum Regler, ←/→ ein Schritt, Bild↑/Bild↓ zehn Schritte, Pos1/Ende Anfang/Ende, Enter prüft.

Die Reihung hat n Elemente, der letzte Index ist n − 1, und die Schleife füllt jedes Element mit 35. Für 400 km braucht man 12 Etappen (12 · 35 = 420 km; 11 Etappen ergeben nur 385 km). Für den Index 17 braucht man n = 18.
Die Reihung hat n Elemente; die Gesamtstrecke ist n mal 35 km. Beobachten Sie, wie sich beide Werte beim Verschieben ändern.
Probieren Sie bei der ersten Runde n = 11 und n = 12. Beim Index gilt: letzter Index = n − 1.
A2
Fragen ans Schwimmbad
AFB I

Ein Schwimmbad speichert die Besucherzahl jedes Tages einer Woche in einer Reihung. Geben Sie für jede Frage an, welches Muster ein Programm zur Antwort braucht: Legen Sie jede Karte in den passenden Bereich.

Ordnen Sie jede Karte einem der drei Bereiche zu. Mit der Tastatur: Enter zum Auswählen, dann 1–3 für den Bereich, 0 zurück.
1 Summe
2 Maximum oder Minimum
3 Zählen
Wer „insgesamt“, „im Schnitt“ oder „abrechnen“ fragt, addiert alle Werte (Summe, beim Schnitt dazu die Länge). „Am vollsten“, „am ruhigsten“ und „Rekord“ suchen das größte oder kleinste Element. „An wie vielen Tagen“ und „wie oft“ zählen die Elemente, die eine Bedingung erfüllen.
Frage bei jeder Karte: Soll alles zusammengezählt, ein größter oder kleinster Wert gesucht oder nur gezählt werden, wie oft etwas gilt?
„Im Schnitt“ braucht zuerst die Summe. „Wie oft“ und „an wie vielen Tagen“ verlangen einen Zähler mit Bedingung.
A3
Fahrgäste im Schulbus
AFB II

An fünf Haltestellen (Index 0 bis 4) steigen Fahrgäste ein und aus:

int[] ein = {12, 5, 0, 9, 3};
int[] aus = {0, 2, 4, 6, 8};
int v = 0;
for (int i = 0; i < 5; i++) {
  v = v + ein[i] - aus[i];
}

Werten Sie den Programmlauf aus: Tragen Sie ein, wie viele Fahrgäste nach jeder Haltestelle im Bus sind, und beantworten Sie die beiden Fragen darunter.

Füllen Sie alle Felder aus und prüfen Sie dann auf einmal. Enter prüft ebenfalls.
iein[i] / aus[i]v danach
012 / 0
15 / 2
20 / 4
39 / 6
43 / 8

Die größte Besetzung des Busses beträgt Fahrgäste. Sie wird nach der Haltestelle mit dem Index erreicht.

Nach jeder Haltestelle gilt: neuer Stand = alter Stand + ein[i] − aus[i]. So entstehen 12, 15, 11, 14 und 9. Das Maximum 15 steht zum Index 1.
Rechnen Sie mit dem Stand, der in der Zeile darüber steht: Zuerst kommen die Einsteiger dazu, dann gehen die Aussteiger ab.
Die Werte sind 12, 15, 11, 14, 9. Der größte davon gehört zu der Haltestelle, deren Index Sie in der ersten Spalte ablesen.