Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:fizzbuzz_katas

Dies ist eine alte Version des Dokuments!


FizzBuzz Katas

Bei dem FizzBuzz-Spiel werden die Zahlen von 1 bis 100 durchlaufen. Nun können folgende Fälle eintreten:

  1. Wenn die Zahl durch 3 teilbar ist, wird „Fizz“ ausgegeben
  2. wenn sie durch 5 teilbar ist, wird „Buzz“ ausgegeben und
  3. wenn sie durch 3 und 5 teilbar ist, wird „FizzBuzz“ ausgegeben.
  4. Tritt keiner dieser Fälle ein, wird die Zahl ausgegeben.

Ob eine Zahl durch eine andere Zahl teilbar ist, kann mit Hilfe des Modulo-Operators (oder Restwert-Operator) % herausgefunden werden. Er berechnet den Divisionsrest: 10 % 3 ist 1, da 10 geteilt durch 3 genau 3 Rest 1 ergibt.

Die ersten 20 Ausgaben sehen wir folgt aus:

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz

Versuche das Problem nun auf unterschiedliche Arten in den folgenden Katas (Übungen) zu lösen:

  1. auf Papier
  2. mit einer Methode
  3. ohne Verwendung einer Schleife (rekursiv)
  4. mit Hilfe von nebenläufigen Threads
  5. mit einer anderen IDE
  6. in einer anderen Programmiersprache
  7. als Client-Server Anwendung
  8. mit einer grafischen Oberfläche (GUI)
  9. Objekt-Orientiert: Klassen und Objekte verwenden
  10. objekt-orientiert mit Vererbung
  11. funktional mit map, reduce und lambda-Ausdrücken
  12. als Webanwendung (mit bottle)
  13. in git-repo einchecken
  14. als installierbares Programm
  15. als getestetes Programm (mit unittest und doctests)
  16. mit einem EA-Modul ansteuern
  17. mit Anbindung an eine Datenbank
  18. mit Dokumentation
  19. als Chatbot (z.B. mit sopel https://sopel.chat/)
  20. auf einem Cluster (mit GNU parallel)
  21. in einem UML-Aktivitätsdiagramm
  22. in einem UML-Sequenzdiagramm
  23. in einem UML-Klassendiagramm
  24. Als IOT-Anwendung mit einem Message-Broker (MQTT)
  25. Mit Kommandozeilenparametern
  26. Mit einer Konfigurationsdatei
  27. Als Web-Service mit REST-API
  28. In einer MVC-Architektur
  29. Als Spiel (mit pygame)
  30. In einem docker Container
  31. Mit Fehlerbehandlung
  32. Mit einem neuronalen Netzwerk
  33. Mit logging in ein logfile
  34. Mit einem Profiler
  35. Mit einer geplotteten Visualisierung

Mögliche Lösungen für die Katas befinden sich hier oder hier. Auf dem Flagserver gibt es auch eine Übung FizzBuzz

schule/fizzbuzz_katas.1577004136.txt.gz · Zuletzt geändert: 2019-12-22 09:42 von marco.bakera