lehrkraefte:blc:informatik:ffprg1-2020:funktionen

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
lehrkraefte:blc:informatik:ffprg1-2020:funktionen [2021/02/11 13:37]
Ivo Blöchliger
lehrkraefte:blc:informatik:ffprg1-2020:funktionen [2022/05/19 12:43]
Ivo Blöchliger [Beispiel: Buchstaben verwürfeln]
Line 5: Line 5:
  
 ===== Theorie ===== ===== Theorie =====
-Unterpogramme geben keine Werte zurück, z.B.+Unterprogramme geben keine Werte zurück, z.B.
 <code python> <code python>
 def hello(wer):  # Definition des Unterprogramms, führt noch nichts aus! def hello(wer):  # Definition des Unterprogramms, führt noch nichts aus!
Line 35: Line 35:
     return a     return a
          
-def kompliziert(a,b)+def kompliziert(a,b):
    a = summe(a,b)    a = summe(a,b)
    b = produkt(a,b)    b = produkt(a,b)
Line 77: Line 77:
     if (j==i):  # Zufällig die gleiche Position erwischt? Also j um eins erhöhen.     if (j==i):  # Zufällig die gleiche Position erwischt? Also j um eins erhöhen.
         j+=1         j+=1
-    return buchstabenVertauschen(wort, i, j)+    return buchstabenTauschen(wort, i, j)
  
 def wortWuerfeln(wort): def wortWuerfeln(wort):
-    wort = buchstabenTauschen(wort)+    wort = buchstabenWuerfeln(wort)
     if (len(wort)>8):     if (len(wort)>8):
-        wort = buchstabenTauschen(wort)+        wort = buchstabenWuerfeln(wort)
     return wort     return wort
  
Line 121: Line 121:
     for element in a:     for element in a:
         s+=element         s+=element
 +    return s
 +    
 +a = list(range(1,11))
 +print(a)
 +print(summe(a))
 +
 </code> </code>
 </hidden> </hidden>
  
 ===== Tic-Tac-Toe schön ausgeben ===== ===== Tic-Tac-Toe schön ausgeben =====
 +
 +Hinweis: Diese Aufgabe gibt auch als [[lehrkraefte:blc:informatik:ffprg1-2020:funktionen-mit-klassen#tic_tac_toe|Aufgabe mit Klassen, inklusive Ausbaumöglichkeiten]].
 +
 Ein Tic-Tac-Toe Feld kann mit einem 3x3-Array dargestellt werden. Wir verwenden 0,1,2 als Einträge (leer, Kreis, Kreuz). Ein Tic-Tac-Toe Feld kann mit einem 3x3-Array dargestellt werden. Wir verwenden 0,1,2 als Einträge (leer, Kreis, Kreuz).
 Hier ein Beispiel: Hier ein Beispiel:
Line 130: Line 139:
 feld = [[0,1,1], [2,1,2], [0,2,2]] feld = [[0,1,1], [2,1,2], [0,2,2]]
 </code> </code>
-Wobei feld[2][0] die recht obere Ecke sein soll. Die Unter-Arrays stellen Spalten dar!+Wobei feld[2][0] die rechte obere Ecke sein soll. Die Unter-Arrays stellen Spalten dar!
  
 Schreiben Sie eine Funktion, die ein 3x3-Feld als Parameter bekommt, und einen String (inklusive Zeilenumbrüche "\n") als return-Wert generiert. Schreiben Sie eine Funktion, die ein 3x3-Feld als Parameter bekommt, und einen String (inklusive Zeilenumbrüche "\n") als return-Wert generiert.
Line 142: Line 151:
  O | X | X   O | X | X 
 </code> </code>
-Hinweis: Verwenden Sie ein Array, um die möglichen Symbole festzulegen. Der Eintrag im Array liefert dann den Index vom Symbol.+Hinweis: Verwenden Sie ein Array, um die möglichen Symbole festzulegen. Der Eintrag im Spielfeld-Array liefert dann den Index vom Symbol.
  
 <hidden Lösungsvorschlag> <hidden Lösungsvorschlag>
Line 166: Line 175:
  
 ===== Sudoku parsen ===== ===== Sudoku parsen =====
 +
 +Hinweis: Diese Aufgabe gibt auch mit einer [[lehrkraefte:blc:informatik:ffprg1-2020:funktionen-mit-klassen#sudoku|Klasse und Ausbaumöglichkeiten]].
 +
 Gegeben ist ein String, der ein Sudoku darstellt. Die Regeln sind wie folgt: Gegeben ist ein String, der ein Sudoku darstellt. Die Regeln sind wie folgt:
   * Eine Ziffer von 1 bis 9 stellt ein gegebenes Feld dar.   * Eine Ziffer von 1 bis 9 stellt ein gegebenes Feld dar.
Line 308: Line 320:
  
 def permutationen(n): def permutationen(n):
-    return vertausche([i for i in range(n)])+    return vertausche(list(range(n)))
  
 print(permutationen(3)) print(permutationen(3))
Line 345: Line 357:
  
 def permutationen(n): def permutationen(n):
-    a = [i for i in range(n)]+    a = list(range(n))
     return [num2perm(j,a) for j in range(factorial(n))]     return [num2perm(j,a) for j in range(factorial(n))]
  
  • lehrkraefte/blc/informatik/ffprg1-2020/funktionen.txt
  • Last modified: 2022/06/23 12:58
  • by Ivo Blöchliger