lehrkraefte:snr:informatik:python:loops

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
lehrkraefte:snr:informatik:python:loops [2021/09/15 17:51]
Olaf Schnürer
lehrkraefte:snr:informatik:python:loops [2021/09/22 14:41] (current)
Olaf Schnürer [Verschachtelte for-Schleifen]
Line 93: Line 93:
  
 2aLM und 2dNP bis hier 15.09.2021 (war wohl doch noch einiges zu Corona zu tun...) 2aLM und 2dNP bis hier 15.09.2021 (war wohl doch noch einiges zu Corona zu tun...)
- 
-<WRAP round todo> 
-Für die Schnellen, sonst auslassen: 
-Schreibe ein Programm, dass abhängig von einer Variablen ''n'' die Summe der Zahlen von $1$ bis $n$ berechnet und nicht nur das Ergebnis ausgibt, sondern auch, was berechnet wurde: Im Fall $n=10$ soll die Ausgabe beispielsweise wie folgt aussehen: 
-<code text> 
-+1+2+3+4+5+6+7+8+9+10=55 
-</code> 
-<hidden Hinweis:> Die Zeichenkette links des Gleichheitszeichens ist schrittweise/schleifenweise aufzubauen.</hidden> 
-</WRAP> 
- 
-<WRAP round info> 
-Die [[https://de.wikipedia.org/wiki/Gau%C3%9Fsche_Summenformel|Gaußsche Summenformel]] besagt, dass die Summe der Zahlen von $1$ bis $n$ genau 
-$ \frac{n (n+1)}2$ 
-ist, in Formeln: 
-$$1+2+\dots+n = \frac{n(n+1)}{2}$$ 
-</WRAP> 
  
 ===== Verschachtelte for-Schleifen ===== ===== Verschachtelte for-Schleifen =====
Line 116: Line 100:
 <code python>     <code python>    
 for i in range(3): for i in range(3):
-    print("Äußere Schleife beginnt, Laufvariable i = %d." % i)+    print("Äussere Schleife beginnt, Laufvariable i = %d." % i)
     for j in range(3):     for j in range(3):
         print("  Innere Schleife beginnt, Laufvariable j = %d." % j)         print("  Innere Schleife beginnt, Laufvariable j = %d." % j)
         print("  (i,j) = (%d, %d) " % (i,j))         print("  (i,j) = (%d, %d) " % (i,j))
     print("  Innere Schleife abgearbeitet."     print("  Innere Schleife abgearbeitet."
-print("Äußere Schleife abgearbeitet."+print("Äussere Schleife abgearbeitet."
 </code> </code>
  
Line 174: Line 158:
 </code> </code>
 </hidden> </hidden>
 +</hidden>
 +</WRAP>
 +
 +2dNP bis hier 22.09.2021
 +===== Bonus-Aufgaben =====
 +
 +<WRAP round todo>
 +Schreibe ein Programm, dass abhängig von einer Variablen ''n'' die Summe der Zahlen von $1$ bis $n$ berechnet und nicht nur das Ergebnis ausgibt, sondern auch, was berechnet wurde: Im Fall $n=10$ soll die Ausgabe beispielsweise wie folgt aussehen:
 +<code text>
 ++1+2+3+4+5+6+7+8+9+10=55
 +</code>
 +<hidden Hinweis:> Die Zeichenkette links des Gleichheitszeichens ist schrittweise/schleifenweise aufzubauen.</hidden>
 +
 +Das Folgende soll nicht verwendet werden, gehört aber zur mathematischen Allgemeinbildung:
 +<WRAP round info 70%>
 +Die [[https://de.wikipedia.org/wiki/Gau%C3%9Fsche_Summenformel|Gaußsche Summenformel]] besagt, dass die Summe der Zahlen von $1$ bis $n$ genau
 +$ \frac{n (n+1)}2$
 +ist, in Formeln:
 +$$1+2+\dots+n = \frac{n(n+1)}{2}$$
 +</WRAP>
 +</WRAP>
 +
 +<WRAP round todo>
 +Schreibe ein Programm, dass die [[https://de.wikipedia.org/wiki/Fibonacci-Folge|Fibonacci-Folge]] ausgibt. 
 +Sie gibt an, wie sich eine idealisierte Kaninchenpopulation [[https://de.wikipedia.org/wiki/Fibonacci-Folge#Antike_und_Mittelalter_in_Europa|vermehrt]]. 
 +
 +Wie schnell wächst diese Folge? Vergleiche mit der Folge, deren $n$-tes Glied durch $x_n=\left(\frac{1+\sqrt{5}}2\right)^n$ gegeben ist, indem du für jedes $n$ den Quotienten $\frac{f_n}{x_n}$ berechnest, wobei $f_n$ das $n$-te Glied der Fibonacci-Folge ist.
 +<hidden Hinweis>
 +Will man die Werte zweier Variablen tauschen, braucht man eigentlich eine Hilfsvariable:
 +<code python>
 +x = 1
 +y = 2
 +print(x, y)
 +z = x 
 +x = y
 +y = z
 +print(x, y)
 +</code>
 +Python ist aber sehr benutzerfreundlich und erlaubt Folgendes:
 +<code python>
 +x = 1
 +y = 2
 +print(x, y)
 +x, y = y, x
 +print(x, y)
 +</code>
 </hidden> </hidden>
 </WRAP> </WRAP>
  
 ===== Einige Lösungsvorschläge ===== ===== Einige Lösungsvorschläge =====
-<hidden Summe der ersten $n$ Zahlen>+<hidden Corona-Simulation>
 <code python> <code python>
-10 +# Anfangsdaten 
-summe 0 +anzahl_anfang 300 
-ausgabe = "" +zunahme_prozent 17 
-for in range(1,n+1): +wochen 12 
-    summe = summe + i + 
-    ausgabe = ausgabe + "+%d" % i +print("Anzahl der Neuansteckungen heute: %d% anzahl_anfang) 
-    # Alternativausgabe = ausgabe + "++ str(i+print("Wöchentliche Zunahme: %d%%" % zunahme_prozent) 
-print(ausgabe + "=str(summe))    + 
 +# aktuelle Anzahl 
 +x = anzahl_anfang 
 + 
 +for in range(wochen + 1): 
 +    print("Woche %3d%5d(t, x)
 +    x * (1 zunahme_prozent / 100)    
 </code> </code>
 </hidden> </hidden>
Line 207: Line 243:
         s = s + "%4d" % (i*j)         s = s + "%4d" % (i*j)
     print(s)     print(s)
 +</code>
 +</hidden>
 +
 +<hidden Summe der ersten $n$ Zahlen>
 +<code python>
 +n = 10
 +summe = 0
 +ausgabe = ""
 +for i in range(1,n+1):
 +    summe = summe + i
 +    ausgabe = ausgabe + "+%d" % i
 +    # Alternativ: ausgabe = ausgabe + "+" + str(i)
 +print(ausgabe + "=" + str(summe))    
 </code> </code>
 </hidden> </hidden>
  • lehrkraefte/snr/informatik/python/loops.1631721098.txt.gz
  • Last modified: 2021/09/15 17:51
  • by Olaf Schnürer