Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
lehrkraefte:blc:informatik:ffprg1-2022:nerdle:start [2022/06/01 10:15] Ivo Blöchliger created |
lehrkraefte:blc:informatik:ffprg1-2022:nerdle:start [2022/06/02 07:25] (current) Ivo Blöchliger [Kommutativität?] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Nerdle ====== | ====== Nerdle ====== | ||
- | Siehe auch https:// | + | Siehe auch https:// |
Dort finden sich auch die Regeln. | Dort finden sich auch die Regeln. | ||
- | ===== Kommutativität? | + | Es gibt auch noch https:// |
- | Das mit der Kommutativiät | + | |
+ | ===== Kommutativität | ||
+ | Das mit der Kommutativiät | ||
{{: | {{: | ||
Line 15: | Line 16: | ||
===== Challenges ===== | ===== Challenges ===== | ||
==== Generieren von Rechnungen ==== | ==== Generieren von Rechnungen ==== | ||
- | Schreiben Sie Funktionen, die verschiedene Typen von Rechnungen generieren (und je nachdem auch gleich alle möglichen Umstellungen) | + | Schreiben Sie Funktionen, die verschiedene Typen von Rechnungen generieren (und je nachdem auch gleich alle möglichen Umstellungen). |
+ | Beispiel: | ||
+ | <code python> | ||
+ | import random | ||
+ | |||
+ | # 8 Zeichen, ein =, ein +, also 6 Zeichen für 3 Zahlen | ||
+ | def additionEinfach(): | ||
+ | if random.randrange(3)==0: | ||
+ | a = random.randrange(1, | ||
+ | c = random.randrange(100, | ||
+ | b = c-a | ||
+ | if random.randrange(2)==0: | ||
+ | a,b = b,a | ||
+ | return " | ||
+ | else: # Generiere 2-stellig+2-stellig=2-stellig | ||
+ | a = random.randrange(10, | ||
+ | b = random.randrange(10, | ||
+ | c = a+b | ||
+ | return " | ||
+ | | ||
+ | | ||
+ | # Testen: | ||
+ | for i in range(10): | ||
+ | print(additionEinfach()) | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Erweitern Sie obige Funktion so, dass mit 50% Wahrscheinlicheit jeweils die Umkehrung c-b=a generiert wird. | ||
+ | <hidden Lösungsvorschlag> | ||
+ | Anstatt einfaches return wird folgendes verwendet: | ||
+ | <code python> | ||
+ | if random.randrange(2)==0: | ||
+ | return " | ||
+ | else: | ||
+ | return " | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Programmieren Sie dann weitere solche Funktionen. | ||
==== Überprüfung der Eingabe ==== | ==== Überprüfung der Eingabe ==== | ||
Die Eingabe muss überprüft werden, ob die Rechnung überhaupt korrekt ist. | Die Eingabe muss überprüft werden, ob die Rechnung überhaupt korrekt ist. | ||
Line 25: | Line 65: | ||
* Steht dann links und rechts vom = das Gleiche, ist die Eingabe ok. | * Steht dann links und rechts vom = das Gleiche, ist die Eingabe ok. | ||
+ | |||
+ | Das Überprüfung kann dann sehr einfach mit den generierten Rechnungen getestet werden (plus eigene «falsche» Eingaben). | ||
==== Bewertungsfunktion ==== | ==== Bewertungsfunktion ==== | ||
Ist die Gleiche wie beim [[lehrkraefte: | Ist die Gleiche wie beim [[lehrkraefte: |