Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
lehrkraefte:blc:informatik:glf20:programmieren:for-loops [2020/09/11 21:49] Ivo Blöchliger created |
lehrkraefte:blc:informatik:glf20:programmieren:for-loops [2020/09/25 15:08] Ivo Blöchliger [Wiederholungen mit for-loops] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Wiederholungen mit for-loops ====== | ====== Wiederholungen mit for-loops ====== | ||
- | * Testen und verstehen Sie folgendes Programm (auch mit Hilfe der Erklärungen unten). | + | <WRAP todo> |
+ | 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 6: | Line 7: | ||
print(" | print(" | ||
</ | </ | ||
+ | </ | ||
+ | <WRAP info> | ||
Struktur eines for-loops: | Struktur eines for-loops: | ||
* **Doppelpunkt** am Ende der Zeile mit dem '' | * **Doppelpunkt** am Ende der Zeile mit dem '' | ||
Line 11: | 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. | ||
+ | </ | ||
- | ==== Aufgabe ==== | + | <WRAP todo> |
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 32: | Line 43: | ||
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. | ||
- | ==== Aufgabe ==== | + | // |
- | Die Summe der ersten $n$ Zahlen | + | |
+ | [[https:// | ||
+ | </ | ||
+ | |||
+ | <WRAP todo> | ||
+ | Die Summe der ersten $n$ Zahlen | ||
<code python> | <code python> | ||
summe = 0 | summe = 0 | ||
Line 40: | Line 56: | ||
print(" | print(" | ||
</ | </ | ||
- | * Mit diesen Kugeldreiecken lassen sich Pyramiden bauen (genauer Tetraeder). Wie viele Kugeln hat die Pyramide mit Seitenlänge 10? Schreiben Sie ein Programm, dass alle Tetraeder-Zahlen ausgibt. | + | Mit diesen Kugeldreiecken lassen sich Pyramiden bauen (genauer Tetraeder). Wie viele Kugeln hat die Pyramide mit Seitenlänge 10? Schreiben Sie ein Programm, dass alle Tetraeder-Zahlen ausgibt. |
+ | </ | ||
+ | <WRAP todo> | ||
+ | Schreiben Sie ein Programm, das die Anzahl Zeilen einliest, und dann ein folgendes Dreieck (mit dieser Anzahl Zeilen) produziert, hier 5: | ||
+ | <code text> | ||
+ | * | ||
+ | *** | ||
+ | ***** | ||
+ | | ||
+ | ********* | ||
+ | </ | ||
+ | [[https:// | ||
+ | |||
+ | <hidden Zusatz-Aufgabe> | ||
+ | Produzieren Sie folgenden Output (hier ein Beispiel für 8 Zeilen): | ||
+ | <code text> | ||
+ | ^ | ||
+ | /v\ | ||
+ | /vvv\ | ||
+ | /vvvvv\ | ||
+ | / | ||
+ | /vvvvvvvvv\ | ||
+ | / | ||
+ | / | ||
+ | ||| | ||
+ | ||| | ||
+ | ||| | ||
+ | </ | ||
+ | Hinweise: Der Backslash wird mit " | ||
+ | </ | ||
+ | </ | ||
===== 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 63: | Line 156: | ||
for i in range(13): | for i in range(13): | ||
print(" | print(" | ||
+ | </ | ||
+ | |||
+ | <code python> | ||
+ | n = inputInt(" | ||
+ | for i in range(n): | ||
+ | print(" | ||
+ | </ | ||
+ | |||
+ | <code python> | ||
+ | n = inputInt(" | ||
+ | print(" | ||
+ | for i in range(1,n): | ||
+ | print(" | ||
+ | print((" | ||
</ | </ | ||
Line 72: | Line 179: | ||
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) | ||
</ | </ | ||
| |