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:programmieren_iii [2026-04-29 19:09] – [Aufgabe I6] hofgf_informatik:programmieren_iii [2026-04-30 05:25] (aktuell) – [For-Schleife] hof
Zeile 315: Zeile 315:
  
 ===== For-Schleife ===== ===== For-Schleife =====
 +<nodisp 2>
 +++++TODO hof|
 +  * Einstieg mit direkter for-Schleife.
 +  * Einführung indirekte for-Schleife, z.B. `for index in [1, 6, 7]: print(liste[index])`
 +  * Erst dann Einführung von `range`.
 +++++
 +</nodisp>
  
 ==== Theorie ==== ==== Theorie ====
Zeile 553: Zeile 560:
  
 === Aufgabe I7 === === Aufgabe I7 ===
-**Teil 1**: Schreibe eine Funktion `reihensumme()`, die die Summe aller Zahlen der Siebnerreihe zurückgibt, also $7 + 14 + 21 + \ldots + 63 + 70 = 385$+<bottom-exercise id="i7"> 
-Verwende dazu eine `for zahl in range(...)Schleife.+<div part="prompt"> 
 +<p><b>Teil 1</b>: Schreibe eine Funktion <code>reihensumme()</code>, die die Summe aller Zahlen der Siebnerreihe zurückgibt, also <code>7 + 14 + 21 + &hellip; + 63 + 70 = 385</code>
 +<p>Verwende dazu eine <code>for zahl in range(...)</code> Schleife.
    
-**Teil 2**: Ändere die Funktion so, dass der Teiler über ein Funktionsargument gewählt werden kann. +<p><b>Teil 2</b>: Ändere die Funktion so, dass der Teiler über ein Funktionsargument gewählt werden kann. 
-Der Aufruf `reihensumme(5)soll beispielsweise die Summe der Fünferreihe von 5 bis 50 berechnen und 275 zurückgeben. +Der Aufruf <code>reihensumme(5)</code> soll beispielsweise die Summe der Fünferreihe von 5 bis 50 berechnen und 275 zurückgeben. 
 Der Aufruf ohne Argument soll weiterhin die Siebnerreihe addieren. Der Aufruf ohne Argument soll weiterhin die Siebnerreihe addieren.
- +</div> 
-<nodisp 1+<template data-type="starter"
-++++Lösung| +def reihensumme(): 
-<code python>+    """Gibt die Summe der Siebnerreihe zurück.""" 
 +</template> 
 +<template data-type="test"> 
 +assert reihensumme() == 385, "Teil 1: Reihensumme soll 385 zurückgeben" 
 +assert reihensumme(5) == 275, "Teil 2: reihensumme(5) soll 275 zurückgeben" 
 +</template> 
 +<template data-type="solution">
 def reihensumme(n=7): def reihensumme(n=7):
     """Berechnet die Summe der n-er-Reihe."""     """Berechnet die Summe der n-er-Reihe."""
Zeile 572: Zeile 587:
 print(reihensumme()) print(reihensumme())
 print(reihensumme(5)) print(reihensumme(5))
-</code> +</template
-++++ +</bottom-exercise>
-</nodisp>+
  
-=== Aufgabe I8 === 
-**Teil 1**: Schreibe eine Funktion `reverse(liste)`, die eine neue Liste erstellt und die Elemente von `liste` in umgekehrter Reihenfolge darin abspeichert und die umgekehrte Liste zurückgibt. Die eingebauten Funktionen `reverse` und `reversed` dürfen nicht benützt werden - verwende stattdessen eine [[#schrittweite|negative Schrittweite]] für `range`. 
  
-<nodisp 1+=== Aufgabe I8 === 
-++++Lösung| +<bottom-exercise id="i8"
-<code python+<div part="prompt"> 
-def reverse(liste):+<p>Schreibe eine Funktion <code>umdrehen(liste)</code>, die eine neue Liste erstellt und die Elemente von <code>liste</code> in umgekehrter Reihenfolge darin abspeichert und die umgekehrte Liste zurückgibt. Die eingebauten Funktionen <code>reverse</code> und <code>reversed</code> dürfen nicht benützt werden - verwende stattdessen eine negative Schrittweite für <code>range</code>
 +</div> 
 +<template data-type="starter"
 +def umdrehen(liste): 
 +    """Gibt eine neue Liste mit den gleichen Elementen, aber in umgekehrter Reihenfolge zurück.""" 
 +</template> 
 +<template data-type="test"> 
 +assert umdrehen(['Cebraham', 'Debraham', 'Bebraham', 'Abraham']) == ['Abraham', 'Bebraham', 'Debraham', 'Cebraham'
 +</template> 
 +<template data-type="solution"> 
 +def umdrehen(liste):
     result = []     result = []
     # range erzeugt eine Zahlenfolge n, n-1, ... 3, 2, 1, 0:     # range erzeugt eine Zahlenfolge n, n-1, ... 3, 2, 1, 0:
Zeile 593: Zeile 615:
  
 names = ['Cebraham', 'Debraham', 'Bebraham', 'Abraham'] names = ['Cebraham', 'Debraham', 'Bebraham', 'Abraham']
-print(reverse(names))</code> +print(umdrehen(names))</code> 
-++++ +</template> 
-</nodisp>+</bottom-exercise> 
  • gf_informatik/programmieren_iii.1777489770.txt.gz
  • Zuletzt geändert: 2026-04-29 19:09
  • von hof