Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:algorithmen_ii [2024-12-05 14:24] hofgf_informatik:algorithmen_ii [2025-11-20 09:50] (aktuell) hof
Zeile 27: Zeile 27:
     return max2(max2(a, b), c)     return max2(max2(a, b), c)
  
-print(max3(input('a'), input('b'), input('c')))+print(max3(int(input('a')), int(input('b')), int(input('c'))))
 </code> </code>
 ++++ ++++
Zeile 101: Zeile 101:
    - Ganzzahldivision mit Rest mit Addition und Subtraktion    - Ganzzahldivision mit Rest mit Addition und Subtraktion
    - Entscheiden ob eine beliebige Zahl eine Zweierpotenz ist oder nicht    - Entscheiden ob eine beliebige Zahl eine Zweierpotenz ist oder nicht
 +
 +++++Hinweise:|
 +  * $7*3 = 0 + 3 + 3 + 3 + 3 + 3 + 3 + 3$
 +  * Wir benötigen eine Schleife, die 7 mal 3 zum Resultat addiert.
 +  * Ausserhalb der Schleife deklarieren wir eine Variable, die das Resultat enthält und zu Beginn 0 ist, z.B. `result = 0`.
 +  * Wie lautet die Rechnung für das Hoch-Rechnen mit Multiplikation? Und was ist der Initialwert von `result`?
 +++++
  
 <nodisp 2> <nodisp 2>
Zeile 192: Zeile 199:
      * Eine Funktion, die herausfindet (_zurückgibt_), ob eine Zahl `t` ein Teiler ist der Zahl `n`.      * Eine Funktion, die herausfindet (_zurückgibt_), ob eine Zahl `t` ein Teiler ist der Zahl `n`.
      * Wieviele Parameter hat die Funktion `is_divisor`?      * Wieviele Parameter hat die Funktion `is_divisor`?
 +
  
 === Auftrag zu Primzahlen === === Auftrag zu Primzahlen ===
Zeile 197: Zeile 205:
    * in 2er-Gruppen auf Papier (kein Python!)    * in 2er-Gruppen auf Papier (kein Python!)
    * Vorgehen:    * Vorgehen:
-     * Algorithmus überlegen, in 2er-Gruppe besprechen, Notizen machen: Variablen? Schleifen?+     * Algorithmus für Primzahltest überlegen, in 2er-Gruppe besprechen, Notizen machen: Variablen? Schleifen?
      * Mit Lehrperson besprechen      * Mit Lehrperson besprechen
      * In Python: Funktion `is_prime(n)` implementieren      * In Python: Funktion `is_prime(n)` implementieren
Zeile 234: Zeile 242:
     # Es reicht, bis zur Wurzel von n zu testen - gäbe es einen grösseren Teiler t so dass     # Es reicht, bis zur Wurzel von n zu testen - gäbe es einen grösseren Teiler t so dass
     # t*x == n, dann müsste x kleiner sein als Wurzel(n) und wir hätten x bereits gefunden.     # t*x == n, dann müsste x kleiner sein als Wurzel(n) und wir hätten x bereits gefunden.
-    while <= math.sqrt(n): +    while <= math.sqrt(n): 
-        if is_divisor(n, i):+        if is_divisor(n, t):
             # Wir haben einen Teiler gefunden -> keine Primzahl, beenden.             # Wir haben einen Teiler gefunden -> keine Primzahl, beenden.
             return False             return False
-        + 1+        + 1
     # Keinen Teiler gefunden -> wir haben eine Primzahl!     # Keinen Teiler gefunden -> wir haben eine Primzahl!
     return True     return True
Zeile 274: Zeile 282:
         while is_divisor(remainder, factor):         while is_divisor(remainder, factor):
             remainder = remainder / factor             remainder = remainder / factor
-            print factor+            print(factor)
             # yield factor             # yield factor
                  
Zeile 280: Zeile 288:
         factor = next_prime(factor)         factor = next_prime(factor)
  
-prime_factors(input())+prime_factors(int(input()))
 </code> </code>
 ++++ ++++
  • gf_informatik/algorithmen_ii.1733408662.txt.gz
  • Zuletzt geändert: 2024-12-05 14:24
  • von hof