2X: Zusätzliche Übungen

Diese Lektion, bestehend aus Extra-Übungen zu den min- und max-Funktionen, ist optional. Wenn du ein Problem nicht gelöst bekommst, ist es kein großes Ding, wenn du es überspringst und später nochmal probierst. Du kannst dir jederzeit ansehen, welche Übungen du gelöst und welche du übersprungen hast, indem du auf die Seite Mein Fortschritt gehst.

Wir beginnen aber mit einer Übung zur ersten Lektion, Variablen. Sie ist etwas schwerer als die Übungen, die du bereits in der Lektion 1E: Fehler geschafft hast, also genau richtig für dich jetzt.

Programmierübung : Bevölkerungswachstum
Korrigiere den logischen Fehler in diesem Programm: es soll die Bevölkerung in einem Land für die nächsten drei Jahre berechnen - mit der Annahme, dass dort am Anfang (also 2012) 1000 Personen leben und jedes Jahr 10% dazukommen. Du darfst maximal drei Zeichen ändern.
Wenn du Hilfe brauchst, klicke hier für einen Tipp.

Vereinfachen eines komplexen Ausdrucks

Multiple-Choice-Übung: Vereinfachung
Welches ist eine Vereinfachung des folgenden Ausdrucks?

max(x - 3, min(x + 10, x + 5))
Korrekt! Da x + 5 immer kleiner ist als x + 10, können wir folgendes vereinfachen min(x + 10, x + 5) bis x + 5. Um dann nach außen zu arbeiten, muss der Gesamtausdruck folgendermaßen aussehen max(x - 3, x + 5). Da x + 5 immer das Maximum dieser zwei Zahlen ist, ist dies auch das Resultat.

Erschweren eines einfachen Ausdrucks

Programmierübung : Komplikation
Nehme an, dass zwei Variablen A und B definiert sind. Schreibe ein Programm, das den Wert von

min(A, B)
ausgibt. Benutze dabei jedoch nicht die min-Funktion. Nutze stattdessen max auf clevere Weise, um min zu simulieren. Tipp, Methode 1Tipp, Methode 2

Auszahlungsrechner

Programmierübung : Auszahlungsrechner
Eine Kreditkartenfirma berechnet den "minimal auszahlbaren Betrag" nach der folgenden Regel. Der Minimalbetrag ist entweder 10€ oder 2,1% des Kontobetrags, je nach dem, welches größer ist; aber wenn dies den Kontobetrag übersteigen würde, wird stattdessen dieser genommen. Schreibe ein Programm, das den Minimalbetrag ausgibt und min und max benutzt. Nehme an, dass eine Variable balance definiert ist, die den Kontobetrag angibt. Dein Programm braucht das Euro-Zeichen nicht mit ausgeben.
Beispiel 1: wenn dein balance 1000 ist, dann sollte das Programm 21 ausgeben.
Beispiel 2: wenn dein balance 600 ist, dann sollte das Programm 12.6 ausgeben.
Beispiel 3: wenn dein balance 25 ist, dann sollte das Programm 10 ausgeben.
Beispiel 4: wenn dein balance 8 ist, dann sollte das Programm 8 ausgeben.
Tipp

Sortier-Durcheinander

In diesem letzten Problem geht es um die Sortierung von Zahlen - wenn auch auf einem recht seltsamen Weg. Es gibt deutlich bessere, einfachere und schnellere Sortierverfahren, die du nach diesen Einleitungslektionen lernen kannst.

Vergiss nicht, wenn du nicht mehr weiterkommst, nicht so schlimm, dann kannst du das Problem auch einfach überspringen.

Sortierübung: Sortier-Durcheinander
Code-Durcheinander: sorge dafür, dass dieses Programm die drei Zahlen xy und z in aufsteigender Reihenfolge sortiert, so dass x den kleinsten, y den nächstgrößeren und z den größten Wert hat.
Nutze Drag'n'Drop zum sortieren.Klicke hier für einen Tipp.
  • tmp = max(x, y)
  • z = tmp
  • tmp = max(x, y)
  • x = min(x, y)
  • y = tmp
  • y = tmp
  • tmp = max(y, z)
  • y = min(y, z)
  • x = min(x, y)

Weiter geht's mit Lektion 3!