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:io-and-vars [2020/09/18 06:30] – Ivo Blöchliger | lehrkraefte:blc:informatik:glf20:programmieren:io-and-vars [2020/09/23 06:45] (current) – Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Das erste Programm ====== | ||
| + | |||
| + | Bevor Sie beginnen, ordnen Sie Ihre Fenster (Browser und TigerJython) so an, dass es für Sie praktisch zum arbeiten ist, z.B. indem Sie die Fenster in die Mitte vom rechten oder linken Rand ziehen oder mit Alt-Tab hin- und her wechseln. | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | <WRAP todo> | ||
| + | Starten Sie TigerJython und geben Sie folgendes Programm ein (erst mal von Hand, ohne Copy-Paste): | ||
| + | <code python> | ||
| + | print(" | ||
| + | </ | ||
| + | Speichern Sie das Programm an einem geeigneten Ort und dem Namen '' | ||
| + | |||
| + | Führen Sie das Programm aus. | ||
| + | |||
| + | [[https:// | ||
| + | </ | ||
| + | ===== Ausgabe und Arithmetische Ausdrücke ===== | ||
| + | <WRAP todo> | ||
| + | Erstellen Sie ein neues (leeres) Programm, schreiben Sie folgendes Programm ab und speichern Sie es unter dem Namen '' | ||
| + | <code python> | ||
| + | print(" | ||
| + | print(2+3*4) | ||
| + | print(" | ||
| + | print(2**0.5) | ||
| + | </ | ||
| + | Führen Sie das Programm aus und versuchen Sie dieses zu verstehen. Hinweis: ''< | ||
| + | </ | ||
| + | |||
| + | <WRAP info> | ||
| + | Es gelten die üblichen Rechenregeln (Punkt vor Strich, Klammern etc.) | ||
| + | </ | ||
| + | ====== Variablen ====== | ||
| + | <WRAP info> | ||
| + | Variablen beginnen i.d.R. mit einem Kleinbuchstaben. Danach können weitere Zeichen wie Grossbuchstaben, | ||
| + | |||
| + | Variablen können verschiedene Dinge speichern, typischerweise Zahlen oder Text (auch Strings genannt), aber auch beliebig komplizierte Dinge. | ||
| + | |||
| + | Mit Variablen kann gerechnet werden. Je nach Typ (Zahl oder Text) sind die Operationen nicht definiert oder bewirken unterschiedliches. | ||
| + | </ | ||
| + | <WRAP todo> | ||
| + | Speichern Sie folgende Programm wieder in einen neue Datei und verbessern Sie es (die Ausgabe ist nicht ganz so wie gewünscht, es fehlt ein Leerschlag): | ||
| + | |||
| + | <code python> | ||
| + | # Das ist ein Kommentar und wird bei der Ausführung ignoriert. | ||
| + | # Die Leerschläge um das Gleichheitszeichen sind optional und dienen nur der Lesbarkeit des Programms | ||
| + | anfang = " | ||
| + | ende = " | ||
| + | ganz = anfang+ende | ||
| + | print(ganz) | ||
| + | </ | ||
| + | </ | ||
| + | <WRAP todo> | ||
| + | Erstellen Sie ein neues Programm mit folgendem Inhalt. Erklären Sie die Ausgabe des Programms: | ||
| + | <code python> | ||
| + | a = " | ||
| + | b = " | ||
| + | c = a+b | ||
| + | print(c) | ||
| + | |||
| + | a = 6 | ||
| + | b = 7 | ||
| + | c = a+b | ||
| + | print(c) | ||
| + | </ | ||
| + | </ | ||
| + | <WRAP todo> | ||
| + | Was bewirkt Text mal Zahl? | ||
| + | <code python> | ||
| + | a="bla " | ||
| + | print(a*10) | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP info> | ||
| + | Mit '' | ||
| + | <code python> | ||
| + | print(" | ||
| + | </ | ||
| + | Ein Zeilenumbruch ist zwar Spezialbuchstabe, | ||
| + | <code python> | ||
| + | t = " | ||
| + | print(t+" | ||
| + | </ | ||
| + | </ | ||
| + | <WRAP todo> | ||
| + | Erstellen Sie ein neues Programm, das folgende Ausgabe produziert. Ziel ist es, dass das Programm weniger Platz braucht, als die Ausgabe: | ||
| + | <code text> | ||
| + | +---+---+---+---+---+ | ||
| + | | | ||
| + | +---+---+---+---+---+ | ||
| + | | | ||
| + | +---+---+---+---+---+ | ||
| + | | | ||
| + | +---+---+---+---+---+ | ||
| + | | | ||
| + | +---+---+---+---+---+ | ||
| + | | | ||
| + | +---+---+---+---+---+ | ||
| + | </ | ||
| + | Erweitern Sie Ihr Programm so, dass Sie in der ersten Zeile mit einer Variablen die Grösse (Anzahl kleiner Quadrätchen) des Text-Quadrats beliebig wählen können. | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | </ | ||
| + | |||
| + | ====== Input / Output ====== | ||
| + | <WRAP todo> | ||
| + | Testen Sie folgendes Programm | ||
| + | <code python> | ||
| + | s = inputString(" | ||
| + | print(" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP todo> | ||
| + | Testen Sie folgendes Programm: | ||
| + | <code python> | ||
| + | s = inputInt(" | ||
| + | print(" | ||
| + | print(s) | ||
| + | print(" | ||
| + | print(s*s) | ||
| + | </ | ||
| + | </ | ||
| + | Der Output vom obigen Programm ist natürlich nicht schön mit den vielen Zeilenumbrüchen. Im nächsten Abschnitt lernen wir, eine schönere Ausgabe zu produzieren. | ||
| + | ===== Input ===== | ||
| + | <WRAP info> | ||
| + | Es stehen folgende Funktionen für das Einlesen von der Tastatur zur Verfügung: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | </ | ||
| + | ===== Formatierter Output ===== | ||
| + | <WRAP todo> | ||
| + | Testen Sie folgenden Code: | ||
| + | <code python> | ||
| + | g = 42 # Typ int (Ganzzahl) | ||
| + | d = 3.1415926 | ||
| + | s = " | ||
| + | |||
| + | print(" | ||
| + | </ | ||
| + | </ | ||
| + | <WRAP info> | ||
| + | Die %d, %f und %s im Text werden durch die Werte ersetzt, die nach dem %-Operator in der Liste in dieser Reihenfolge aufgeführt sind. | ||
| + | |||
| + | |||
| + | Weitere Formatierungsangaben sind möglich, z.B. führende Nullen, führende Leerschläge, | ||
| + | <code python> | ||
| + | print(" | ||
| + | print(" | ||
| + | </ | ||
| + | [[https:// | ||
| + | |||
| + | [[https:// | ||
| + | </ | ||
| + | |||
| + | ====== Aufgaben ====== | ||
| + | <WRAP todo> | ||
| + | Vervollständigen Sie: | ||
| + | <code python> | ||
| + | n = inputInt(" | ||
| + | wurzel = n**0.5 | ||
| + | # Hier fehlt die Ausgabe in der Form | ||
| + | # Die Wurzel von 10 ist ungefähr 3.16, genauer 3.16227766016837952 | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP todo> | ||
| + | Schreiben Sie ein Programm, das den BMI nach der Formel $\frac{m}{h^2}$ berechnet, wobei $m$ die Masse in kg und $h$ die Körpergrösse in m ist. Masse in kg und Grösse **in cm** sollen vom Benutzer eingelesen werden. Die Ausgabe soll in etwa wie folgt aussehen: | ||
| + | <code text> | ||
| + | Der BMI bei einer Grösse von 1.65 m und einem Gewicht von 62 kg beträgt 22.8. | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP todo> | ||
| + | Definieren Sie 3 Variablen k (Kapital), p (Zinsatz) und n (Anzahl Jahre). Das Programm soll das mit Zinseszins verzinste Kapital nach n Jahren auf 2 Kommastellen gerundet ausgeben. Die Ausgabe soll z.B. wie folgt aussehen: (% wird mit < | ||
| + | |||
| + | < | ||
| + | Nach 20 Jahren ist das Kapital von 100.00 mit einem Zins von 1.0% auf 122.02 angewachsen. | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== Quiz ===== | ||
| + | |||
| + | [[: | ||
| + | |||
| + | |||
| + | ====== Lösungsvorschläge ====== | ||
| + | <hidden Lösungsvorschläge> | ||
| + | <code python> | ||
| + | anz = 6 | ||
| + | strich = " | ||
| + | leer = " | ||
| + | print((strich+leer)*anz+strich) | ||
| + | </ | ||
| + | <code python> | ||
| + | n = inputInt(" | ||
| + | wurzel = n**0.5 | ||
| + | # Hier fehlt die Ausgabe in der Form | ||
| + | # Die Wurzel von 10 ist ungefähr 3.16, genauer 3.16227766016837952 | ||
| + | print(" | ||
| + | </ | ||
| + | |||
| + | <code python> | ||
| + | k=100 | ||
| + | p=1 | ||
| + | n=20 | ||
| + | kn = k*(1+p/ | ||
| + | print(" | ||
| + | </ | ||
| + | |||
| + | <code python> | ||
| + | m = inputInt(" | ||
| + | h = inputInt(" | ||
| + | h = 0.01*h | ||
| + | bmi = m/(h*h) | ||
| + | print(" | ||
| + | </ | ||
| + | </ | ||