Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:blc:informatik:glf20:programmieren:for-loops [2020/09/16 08:15] Ivo Blöchliger [Wiederholungen mit for-loops] |
lehrkraefte:blc:informatik:glf20:programmieren:for-loops [2020/10/22 08:28] (current) Ivo Blöchliger |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Wiederholungen mit for-loops ====== | ====== Wiederholungen mit for-loops ====== | ||
<WRAP todo> | <WRAP todo> | ||
- | Testen und verstehen Sie folgendes Programm (auch mit Hilfe der Erklärungen unten). | + | Testen und verstehen Sie folgendes Programm (auch mit Hilfe der Erklärungen |
<code python> | <code python> | ||
for i in range(20): | for i in range(20): | ||
Line 14: | Line 14: | ||
* range(n) heisst von 0 bis **n-1** | * range(n) heisst von 0 bis **n-1** | ||
* Die **Laufvariable** (im obigen Beispiel '' | * Die **Laufvariable** (im obigen Beispiel '' | ||
+ | </ | ||
+ | <WRAP info> | ||
+ | Der '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | Die Grössen müssen **immer Ganzzahlen** sein. Die obere Grenze ist immer ausgeschlossen. | ||
</ | </ | ||
<WRAP todo> | <WRAP todo> | ||
+ | **Stand der Aufgabe: 20. September 2020** | ||
+ | |||
Schreiben Sie ein Programm, das die Neuansteckungen mit Corona simuliert mit einer wöchentlichen Zunahme um 15%. Die Ausgabe soll z.B. wie folgt aussehen: | Schreiben Sie ein Programm, das die Neuansteckungen mit Corona simuliert mit einer wöchentlichen Zunahme um 15%. Die Ausgabe soll z.B. wie folgt aussehen: | ||
< | < | ||
Line 35: | Line 44: | ||
</ | </ | ||
Programmieren Sie Ihr Programm so, dass die akutelle Zahl und die Zuwachsrate am Anfang des Programm als Variablen definiert werden. | Programmieren Sie Ihr Programm so, dass die akutelle Zahl und die Zuwachsrate am Anfang des Programm als Variablen definiert werden. | ||
+ | |||
+ | // | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | **Hinweis vom 22. Oktober 2020**: Aktuell ist die Positivrate wieder so schlecht wie im März (bei ca. 20%), die Neuansteckungen sind aber viel höher, mit einer Zuwachsrate von ca. 120% pro Woche. Im Moment sind die Hospitalisationen noch tief, die wachsen aber mit der gleichen Zuwachsrate an, und werden das auch noch 2-3 Wochen **nach** dem Ergreifen von drastischen Massnahmen tun. | ||
</ | </ | ||
<WRAP todo> | <WRAP todo> | ||
- | Die Summe der ersten $n$ Zahlen | + | Die Summe der ersten $n$ Zahlen |
<code python> | <code python> | ||
summe = 0 | summe = 0 | ||
Line 57: | Line 72: | ||
********* | ********* | ||
</ | </ | ||
+ | |||
+ | [[https:// | ||
+ | |||
<hidden Zusatz-Aufgabe> | <hidden Zusatz-Aufgabe> | ||
Produzieren Sie folgenden Output (hier ein Beispiel für 8 Zeilen): | Produzieren Sie folgenden Output (hier ein Beispiel für 8 Zeilen): | ||
Line 76: | Line 94: | ||
</ | </ | ||
===== Verschachtelte for-loops ===== | ===== Verschachtelte for-loops ===== | ||
- | Man kann for-loops verschachteln, | + | <WRAP todo> |
+ | Man kann for-loops verschachteln, | ||
+ | |||
+ | Testen und verstehen Sie folgenden Code: | ||
<code python> | <code python> | ||
for x in range(3): | for x in range(3): | ||
for y in range(5): | for y in range(5): | ||
print(" | print(" | ||
+ | print(" | ||
</ | </ | ||
+ | Beachten Sie genau die Einrückung! | ||
+ | </ | ||
- | ==== Aufgabe | + | <WRAP info> |
+ | Manchmal ist es unumgänglich, | ||
+ | <code python> | ||
+ | zeile = "" | ||
+ | for i in range(1, | ||
+ | zeile = zeile + " | ||
+ | print(zeile) | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <WRAP todo> | ||
+ | **HINWEIS**: | ||
+ | |||
+ | Schreiben Sie ein Program, das eine Multiplikationstabelle wie folgt ausgibt (und einfach auf den Bereich bis 20 ausgedehnt werden könnte): | ||
+ | <code text> | ||
+ | * | | ||
+ | -------------------------------------------- | ||
+ | 1 | | ||
+ | 2 | | ||
+ | 3 | | ||
+ | 4 | | ||
+ | 5 | | ||
+ | 6 | | ||
+ | 7 | | ||
+ | 8 | | ||
+ | 9 | | ||
+ | 10 | 10 20 30 40 50 60 70 80 90 100 | ||
+ | </ | ||
+ | [[https:// | ||
+ | |||
+ | <hidden Zusatzaufgabe> | ||
+ | Generieren Sie die Tabelle als HTML-Code, den Sie dann im Browser betrachten können. | ||
+ | * Tabellen in HTML-Code: [[https:// | ||
+ | * Speichern Sie den erzeugten HTML-Code in einer Datei mit der Endung .html | ||
+ | * Alternativ können Sie den ganzen Code als String in eine Variable speichern, z.B. '' | ||
+ | <code python> | ||
+ | # hier den ganzen Code in der Variablen htmlcode aufbauen | ||
+ | with open(" | ||
+ | datei.write(htmlcode) | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
Line 101: | Line 166: | ||
for i in range(n): | for i in range(n): | ||
print(" | print(" | ||
+ | </ | ||
+ | |||
+ | <code python> | ||
+ | n = inputInt(" | ||
+ | print(" | ||
+ | for i in range(1,n): | ||
+ | print(" | ||
+ | print((" | ||
</ | </ | ||
Line 110: | Line 183: | ||
volumen = volumen + summe | volumen = volumen + summe | ||
print(" | print(" | ||
+ | </ | ||
+ | |||
+ | <code python> | ||
+ | n=10 | ||
+ | zeile = " * |" | ||
+ | for i in range(1, | ||
+ | zeile = zeile + " | ||
+ | print(zeile) | ||
+ | print(" | ||
+ | for i in range(1, | ||
+ | zeile = "%2d |"%i | ||
+ | for j in range(1, | ||
+ | zeile = zeile + " | ||
+ | print(zeile) | ||
</ | </ | ||
| |