lehrkraefte:blc:informatik:glf20:programmieren:io-and-vars

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:blc:informatik:glf20:programmieren:io-and-vars [2020/09/11 21:03]
Ivo Blöchliger [Lösungsvorschläge]
lehrkraefte:blc:informatik:glf20:programmieren:io-and-vars [2020/09/23 08:45] (current)
Ivo Blöchliger
Line 1: Line 1:
 ====== Das erste Programm ====== ====== Das erste Programm ======
-  * Starten Sie TigerJython und geben Sie folgendes Programm ein (erst mal von Hand, ohne Copy-Paste):+ 
 +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://fginfo.ksbg.ch/~ivo/videos/informatik/python/fenster-managment.mp4|🎞▶️ Erklärvideo]] oder auch auf [[https://web.microsoftstream.com/video/18eb7131-8f25-4863-b239-07d0f962e373|Stream]] 
 + 
 +<WRAP todo> 
 +Starten Sie TigerJython und geben Sie folgendes Programm ein (erst mal von Hand, ohne Copy-Paste):
 <code python> <code python>
 print("Hello World!") print("Hello World!")
 </code> </code>
-  * Speichern Sie das Programm an einem geeigneten Ort und dem Namen ''hello.py'' +Speichern Sie das Programm an einem geeigneten Ort und dem Namen ''hello.py''
-  * Führen Sie das Programm aus.+
  
 +Führen Sie das Programm aus.
 +
 +[[https://fginfo.ksbg.ch/~ivo/videos/informatik/python/tiger-jython-hello-world.mp4|🎞▶️Erklärvideo dazu]] und noch auf [[https://web.microsoftstream.com/video/1748a15f-4eac-4bf6-b2ec-fccc51383855|Stream]]
 +</WRAP>
 ===== Ausgabe und Arithmetische Ausdrücke ===== ===== Ausgabe und Arithmetische Ausdrücke =====
-  * Erstellen Sie ein neues (leeres) Programm, schreiben Sie folgendes Programm ab und speichern Sie es unter dem Namen ''punktvorstrich.py'' in einem geeigneten Ordner.+<WRAP todo> 
 +Erstellen Sie ein neues (leeres) Programm, schreiben Sie folgendes Programm ab und speichern Sie es unter dem Namen ''punktvorstrich.py'' in einem geeigneten Ordner.
 <code python> <code python>
 print("2+3*4 ergibt nicht 20 sondern:") print("2+3*4 ergibt nicht 20 sondern:")
Line 15: Line 25:
 print(2**0.5) print(2**0.5)
 </code> </code>
-  * Führen Sie das Programm aus und versuchen Sie dieses zu verstehen. Hinweis: ''<nowiki>**</nowiki>'' bedeutet potenzieren. +Führen Sie das Programm aus und versuchen Sie dieses zu verstehen. Hinweis: ''<nowiki>**</nowiki>'' bedeutet potenzieren. 
-Es gelten die üblichen Rechenregeln (Punkt vor Strich, Klammern etc.)+</WRAP>
  
 +<WRAP info>
 +Es gelten die üblichen Rechenregeln (Punkt vor Strich, Klammern etc.)
 +</WRAP>
 ====== Variablen ====== ====== Variablen ======
 +<WRAP info>
 Variablen beginnen i.d.R. mit einem Kleinbuchstaben. Danach können weitere Zeichen wie Grossbuchstaben, Ziffern und Bodenstriche verwendet werden. Von Sonderzeichen, Umlauten etc. wird abgeraten. Die Variablennamen sollten kurz aber beschreibend sein. Variablen beginnen i.d.R. mit einem Kleinbuchstaben. Danach können weitere Zeichen wie Grossbuchstaben, Ziffern und Bodenstriche verwendet werden. Von Sonderzeichen, Umlauten etc. wird abgeraten. Die Variablennamen sollten kurz aber beschreibend sein.
  
Line 24: Line 38:
  
 Mit Variablen kann gerechnet werden. Je nach Typ (Zahl oder Text) sind die Operationen nicht definiert oder bewirken unterschiedliches. Mit Variablen kann gerechnet werden. Je nach Typ (Zahl oder Text) sind die Operationen nicht definiert oder bewirken unterschiedliches.
- +</WRAP> 
-  Speichern Sie folgende Programm wieder in einen neue Datei und verbessern Sie es (die Ausgabe ist nicht ganz so wie gewünscht):+<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> <code python>
Line 35: Line 50:
 print(ganz) print(ganz)
 </code> </code>
- +</WRAP> 
-  Erstellen Sie ein neues Programm mit folgendem Inhalt. Erklären Sie die Ausgabe des Programms:+<WRAP todo> 
 +Erstellen Sie ein neues Programm mit folgendem Inhalt. Erklären Sie die Ausgabe des Programms:
 <code python> <code python>
 a = "6" a = "6"
Line 48: Line 64:
 print(c) print(c)
 </code> </code>
- +</WRAP> 
-  Was bewirkt Text mal Zahl?+<WRAP todo> 
 +Was bewirkt Text mal Zahl?
 <code python> <code python>
 a="bla " a="bla "
 print(a*10) print(a*10)
 </code> </code>
 +</WRAP>
  
 +<WRAP info>
 Mit ''\n'' kann ein Zeilenumbruch in einen Text (String) eingefügt werden, z.B. Mit ''\n'' kann ein Zeilenumbruch in einen Text (String) eingefügt werden, z.B.
 <code python> <code python>
 print("Immer\nwieder\neine\nneue\nZeile..") print("Immer\nwieder\neine\nneue\nZeile..")
 </code> </code>
-Ein Zeilenumbruch ist zwar Spezialbuchstabe, muss aber wie jeder Text zwischen Anführungszeichen stehen. +Ein Zeilenumbruch ist zwar Spezialbuchstabe, muss aber wie jeder Text zwischen Anführungszeichen stehen. Z.B. so: 
- +<code python> 
-  Erstellen Sie ein neues Programm, das folgende Ausgabe produziert. Ziel ist es, dass das Programm weniger Platz braucht, als die Ausgabe:+t = "bla" 
 +print(t+"\n"+t) 
 +</code> 
 +</WRAP> 
 +<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> <code text>
 +---+---+---+---+---+ +---+---+---+---+---+
Line 75: Line 99:
 +---+---+---+---+---+ +---+---+---+---+---+
 </code> </code>
-  * 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.+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://fginfo.ksbg.ch/~ivo/videos/informatik/python/tiger-jython-text-gitter-quadrat.mp4|🎞▶️ Erklärvideo]] oder auch auf [[https://web.microsoftstream.com/video/7e14fc58-02f0-41fc-8d79-ce4c0a33dc4a|Stream]]
 +
 +</WRAP>
  
 ====== Input / Output ====== ====== Input / Output ======
-  * Testen Sie folgendes Programm+<WRAP todo> 
 +Testen Sie folgendes Programm
 <code python> <code python>
 s = inputString("Bitte Ihren Namen:") s = inputString("Bitte Ihren Namen:")
 print("Guten Tag, "+s) print("Guten Tag, "+s)
 </code> </code>
 +</WRAP>
  
-  * Testen Sie folgendes Programm:+<WRAP todo> 
 +Testen Sie folgendes Programm:
 <code python> <code python>
 s = inputInt("Bitte eine Zahl:") s = inputInt("Bitte eine Zahl:")
Line 93: Line 123:
 print(s*s) print(s*s)
 </code> </code>
-Der Output ist natürlich nicht schön so. Im nächsten Abschnitt lernen wir, eine schönere Ausgabe zu produzieren.+</WRAP> 
 +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 ===== ===== Input =====
 +<WRAP info>
 Es stehen folgende Funktionen für das Einlesen von der Tastatur zur Verfügung: Es stehen folgende Funktionen für das Einlesen von der Tastatur zur Verfügung:
   * ''inputString'' liest die Eingabe als Text ein (auch z.B. "42").   * ''inputString'' liest die Eingabe als Text ein (auch z.B. "42").
   * ''inputInt'' liest die Eingabe als **Ganzzahl** ein. Andere Eingaben werden nicht akzeptiert.   * ''inputInt'' liest die Eingabe als **Ganzzahl** ein. Andere Eingaben werden nicht akzeptiert.
   * ''inputFloat'' liest die Eingable als **Dezimalbruch** (float) ein, wie z.B. 3.1415926   * ''inputFloat'' liest die Eingable als **Dezimalbruch** (float) ein, wie z.B. 3.1415926
 +</WRAP>
 ===== Formatierter Output ===== ===== Formatierter Output =====
 +<WRAP todo>
 +Testen Sie folgenden Code:
 <code python> <code python>
 g = 42             # Typ int (Ganzzahl) g = 42             # Typ int (Ganzzahl)
Line 108: Line 142:
 print("Dezimal %d, Float %f, String %s" % (g,d,s)) print("Dezimal %d, Float %f, String %s" % (g,d,s))
 </code> </code>
 +</WRAP>
 +<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. 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.
  
Line 117: Line 153:
 </code> </code>
 [[https://docs.python.org/2/library/stdtypes.html#string-formatting|Hier noch die offizelle Dokumentation]]. In Python3 wird zwar noch eine andere Variante mit ''.format()'' empfohlen. Die hier präsentierte Variante ist aber so in fast allen Programmiersprachen möglich. [[https://docs.python.org/2/library/stdtypes.html#string-formatting|Hier noch die offizelle Dokumentation]]. In Python3 wird zwar noch eine andere Variante mit ''.format()'' empfohlen. Die hier präsentierte Variante ist aber so in fast allen Programmiersprachen möglich.
 +
 +[[https://fginfo.ksbg.ch/~ivo/videos/informatik/python/tiger-jython-format-modulo.mp4|🎞▶️Erklärvideo dazu]] und dasselbe auf [[https://web.microsoftstream.com/video/83e8e81f-b732-4ecf-b978-0f6bb5cc6490|Stream]]
 +</WRAP>
  
 ====== Aufgaben ====== ====== Aufgaben ======
-  * Vervollständigen Sie:+<WRAP todo> 
 +Vervollständigen Sie:
 <code python> <code python>
 n = inputInt("Wurzel von welcher Ganzzahl?") n = inputInt("Wurzel von welcher Ganzzahl?")
Line 126: Line 166:
 # Die Wurzel von 10 ist ungefähr 3.16, genauer 3.16227766016837952 # Die Wurzel von 10 ist ungefähr 3.16, genauer 3.16227766016837952
 </code> </code>
 +</WRAP>
  
- +<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:+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> <code text>
 Der BMI bei einer Grösse von 1.65 m und einem Gewicht von 62 kg beträgt 22.8. Der BMI bei einer Grösse von 1.65 m und einem Gewicht von 62 kg beträgt 22.8.
 </code> </code>
 +</WRAP>
  
-  * 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 <nowiki>%%</nowiki> ausgegeben)+<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 <nowiki>%%</nowiki> ausgegeben)
  
 <code> <code>
 Nach 20 Jahren ist das Kapital von 100.00 mit einem Zins von 1.0% auf 122.02 angewachsen. Nach 20 Jahren ist das Kapital von 100.00 mit einem Zins von 1.0% auf 122.02 angewachsen.
 </code> </code>
 +</WRAP>
  
 +===== Quiz =====
  
-===== Quizz =====+[[:io-and-vars:quiz|Quiz]]
  
-<quizlib id="quiz" rightanswers="['12', '42', ['a1'],'007', '0.67']" submit="Check Answers"> 
-    <question title="Was ist die Ausgabe von &lt;pre&gt;print(5+1*8-1)&lt;/pre&gt;" type="text"></question> 
-    <question title="Was ist die Ausgabe von &lt;pre&gt;print((5+1)*(8-1))&lt;/pre&gt;" type="text"></question> 
-    <question title='Welche Ausgabe produziert &lt;pre&gt;print(("a"*3+"b"*2)*2)&lt;/pre&gt;' type="radio">aaabbbb|aaabbaaabb|a3b22|("a"*3+"b"*2)*2</question>     
-    <question title="Was ist die Ausgabe von &lt;pre&gt;print(&quot;%03d&quot; % 7.92)&lt;/pre&gt;" type="text"></question> 
-    <question title="Was ist die Ausgabe von &lt;pre&gt;a=2&#xa;b=3&#xa;print(&quot;%.2f&quot; % (a/b))&lt;/pre&gt;" type="text"></question>     
-</quizlib> 
  
 ====== Lösungsvorschläge ====== ====== Lösungsvorschläge ======
  • lehrkraefte/blc/informatik/glf20/programmieren/io-and-vars.1599851025.txt.gz
  • Last modified: 2020/09/11 21:03
  • by Ivo Blöchliger