Inhaltsverzeichnis

Algorithmen II

Struktogramme und Python

Aufgaben A

Aufgabe A1: Maximum

Lösung

Aufgabe A2: Sortieren

Lösung:

  • (Ausgeblendet): Teil 2: Schreibe Code um als Funktion my_sort(a,b,c), die die drei Zahlen a,b,c sortiert und richtig geordnet in eine Liste schreibt. Die Liste wird zurückgegeben.

Aufgabe A3: Subtraction Game

Aufgabe A4: Ratespiel (optional: mittel)

Eine geheime Zahl zwischen 0 und 100 wird in einer Variablen gespeichert. Der Spieler versucht solange die geheime Zahl zu erraten, bis er erfolgreich ist.

Zusatzpunkte:

Aufgabe A5: Ratespiel umgekehrt (optional: mittel)

Der Spieler merkt sich eine geheime Zahl zwischen 0 und 100, der Computer soll sie erraten. Der Spieler soll dem Computer bei jedem Versuch mitteilen, ob die gesuchte Zahl kleiner oder grösser als die Vermutung ist:

Zusatzpunkte:

Mathematische Algorithmen

Aufgaben B

Aufgabe B1: Einfache (math.) Algorithmen

Schreibe für jede Aufgabe eine Funktion, die passende Argumente entgegennimmt und das Resultat zurück gibt. Schreibe alle Funktionen selbst und verwende nur ganz rudimentäre Sprachelemente und keine vordefinierten Funktionen.

  1. Multiplikation durch Additionen ausdrücken
  2. Hoch-Rechnen durch Multiplikation ausdrücken
  3. Hoch-Rechnen durch Additionen ausdrücken
  4. Ganzzahldivision mit Rest mit Addition und Subtraktion
  5. Entscheiden ob eine beliebige Zahl eine Zweierpotenz ist oder nicht

Hinweise:

Lösung:

Aufgabe B2: Quersumme

Die Quersumme einer Zahl ist die Summe all ihrer Ziffern. Die Quersumme beispielsweise von $413$ ist $4 + 1 + 3 = 8$.

Schreibe eine Funktion quersumme(x), die die Quersumme von x zurückgibt!

Zuerst ohne diese Hinweise probieren!

Lösung:

Primzahlen

Theorie

Auftrag zu Primzahlen

Hinweise

Zusatzauftrag:

Lösung:

Aufgabe B3: Primfaktorzerlegung

Lösung:

Weitere anspruchsvolle Algorithmen

Aufgabe B4: ggT bestimmen

Lösung:

Aufgabe B5: Quadratwurzel ziehen

Lösung: