lehrkraefte:snr:informatik:bruehl-2022:ein-und-ausgabe-variablen

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:bruehl-2022:ein-und-ausgabe-variablen [2022/02/22 16:22]
Olaf Schnürer [Aufgaben]
lehrkraefte:snr:informatik:bruehl-2022:ein-und-ausgabe-variablen [2022/03/17 08:13] (current)
Olaf Schnürer
Line 1: Line 1:
 +~~NOTOC~~
 +
 ====== Ein- und Ausgabe, Variablen ====== ====== Ein- und Ausgabe, Variablen ======
  
Line 17: Line 19:
   * :-) Beim Programmieren immer Sachen ausprobieren, den Code leicht verändern, kreativ sein! So kann man viel lernen. :-)   * :-) Beim Programmieren immer Sachen ausprobieren, den Code leicht verändern, kreativ sein! So kann man viel lernen. :-)
  
-===== Unser Programmier-Ziel heute ===== 
- 
-<WRAP center round important 100%> 
-Ein (kurzes und flexibles) Programm entwerfen, das die folgende "Spirale" zeichnet: 
-<WRAP left round box 100%> 
-{{:lehrkraefte:snr:informatik:bruehl-2022:eck-spirale.png}} 
-</WRAP> 
- 
- 
-<hidden Naive Lösung> 
-Natürlich kann man das "von Hand" machen und alle Linien selbst zeichnen.  
-</hidden> 
-</WRAP> 
- 
-=== Diskussion und Analyse des Problems === 
-Z. B. 
-  * Wie lang ist welche Linie?  
-  * Was sollte die Schildkröte können? Welche Fähigkeit fehlt ihr bisher? 
  
 ===== Lernen am Beispiel und durch Demonstration ===== ===== Lernen am Beispiel und durch Demonstration =====
Line 137: Line 121:
 <WRAP center round todo 100> <WRAP center round todo 100>
  
-**HAUSAUFGABE für die 1AFG** +**HAUSAUFGABE für die 1AFG:** 
 + 
 Abgabe bis **spätestens Sonntagabend 23:59 Uhr** vor der nächsten Doppellektion über den folgenden Link: Abgabe bis **spätestens Sonntagabend 23:59 Uhr** vor der nächsten Doppellektion über den folgenden Link:
  
Line 166: Line 151:
  
 <WRAP center round todo 100%> <WRAP center round todo 100%>
 +
 +**HAUSAUFGABE für die 1CFP (oder eine der nachfolgenden Aufgaben):**
 +
 +Abgabe bis **spätestens Sonntagabend 23:59 Uhr** vor der nächsten Doppellektion über den folgenden Link:
 +
 +  * [[https://bldsg-my.sharepoint.com/:f:/g/personal/olaf_schnuerer_ksbg_ch/Er2yNBSS4o9DpBiQ6TU5uq8B3n9WKibj_BA_HFspdDgQiA|Klasse 1CFP]]
 +
 Schreibe ein Programm, das eine Zahl (zwischen 1 und 10) entgegennimmt und die entsprechende Spalte in der Kleinen-Einmaleins-Tabelle ausgibt. Schreibe ein Programm, das eine Zahl (zwischen 1 und 10) entgegennimmt und die entsprechende Spalte in der Kleinen-Einmaleins-Tabelle ausgibt.
  
Line 188: Line 180:
 Bonusaufgabe (Seerosenfläche auf einem (unendlich grossen) See verdoppelt sich jede Woche): Verändere das Programm so, dass zuerst die eingegebene Zahl ausgegeben wird und dann von jeder Zeile zur nächsten eine Verdopplung stattfindet. Bonusaufgabe (Seerosenfläche auf einem (unendlich grossen) See verdoppelt sich jede Woche): Verändere das Programm so, dass zuerst die eingegebene Zahl ausgegeben wird und dann von jeder Zeile zur nächsten eine Verdopplung stattfindet.
 Statt einer Verdopplung (= Multiplikation mit 2) kannst du auch mit einem beliebigen anderen Wachstumsfaktor, etwa 1.3, multiplizieren. Dies simulert exponentielles Wachstum. Statt einer Verdopplung (= Multiplikation mit 2) kannst du auch mit einem beliebigen anderen Wachstumsfaktor, etwa 1.3, multiplizieren. Dies simulert exponentielles Wachstum.
- 
-Abgabe bis **spätestens Sonntagabend 23:59 Uhr** vor der nächsten Doppellektion über den folgenden Link: 
- 
-  * [[https://bldsg-my.sharepoint.com/:f:/g/personal/olaf_schnuerer_ksbg_ch/Er2yNBSS4o9DpBiQ6TU5uq8B3n9WKibj_BA_HFspdDgQiA|Klasse 1CFP]] 
- 
 </WRAP> </WRAP>
  
Line 217: Line 204:
  
  
- 
-===== Zurück zur Turtle und zum Spiralproblem ===== 
- 
-<WRAP center round todo 100%> 
-Zeichne mit der Turtle wie folgt eine Spirale.  
- 
-Nach jeder $90^\circ$-Rechtsabbiegung geht die Turtle 10 Pixel weiter geradeaus als zuvor. 
- 
-Am Anfang geht sie ''s = 10'' Pixel geradeaus. 
- 
-Insgesamt soll die Turtle ''n = 12'' mal vorwärts gehen. 
- 
-Bonusaufgabe (freiwillig): Ändere das Programm so, dass es die oben abgebildete Spirale (die sich von der gerade beschriebenen unterscheidet) zeichnet: Auf Häuschen-Papier wird jeder Gitterpunkt besucht. 
-</WRAP> 
- 
- 
-<WRAP center round todo> 
-**Hausaufgabe (die eventuell schon während der Lektion erledigt werden kann)** 
- 
-Schreibe ein Programm, das vom Benutzer eine Zahl ''n'' erfragt und dann entsprechend viele konzentrisch ineinanderliegende Quadrate zeichnet, so dass das kleinste Quadrat Seitenlänge ''s = 10'' hat und die Seitenlängen benachbarter Quadrate sich jeweils um ''differenz = 20'' unterscheiden. 
- 
-Farbe und Stiftdicke darfst du beliebig wählen. Die Stiftdicke darf auch von Quadrat zu Quadrat unterschiedlich sein.  
- 
-Für ''n = 8'' soll die Ausgabe so aussehen: 
- 
-{{:lehrkraefte:snr:informatik:bruehl-2022:konzentrische-quadrate.png?300|}} 
- 
-Abgabe bis **spätestens Sonntagabend 23:59 Uhr** vor der nächsten Doppellektion über den folgenden Link: 
- 
-  * [[https://bldsg-my.sharepoint.com/:f:/g/personal/olaf_schnuerer_ksbg_ch/Eiv_N_pzTfFKhwrL34v63toBqSTCbdsshKmr2ygQqsk9Vg|Klasse 1AFGsK]] 
-  * [[https://bldsg-my.sharepoint.com/:f:/g/personal/olaf_schnuerer_ksbg_ch/Er2yNBSS4o9DpBiQ6TU5uq8B3n9WKibj_BA_HFspdDgQiA|Klasse 1CFP]] 
- 
-<hidden Hinweis:> 
-Verwende eine ''repeat''-Struktur: In jeder Wiederholung wird ein Quadrat gezeichnet (und am Ende die Seitenlänge erhöht für das nächste Quadrat).  
- 
-Damit die Quadrate alle ihren Mittelpunkt in der Mitte haben: Gehe jeweils mit ''home()'' auf die Ausgangsposition, dann um die halbe aktuelle Quadratseitenlänge nach oben und zeichne dann das Quadrat von dort aus. </hidden> 
- 
-Bonus (freiwillig): Du darfst auch konzentrisch ineinanderliegende $n$-Ecke oder Sterne o.ä. zeichnen. 
-</WRAP> 
  
 ==== Zusammenfassung ==== ==== Zusammenfassung ====
Line 269: Line 217:
  
 <hidden Erst selbst überlegen!> <hidden Erst selbst überlegen!>
-  * Eingabe von Zahlen per ''inputInt("...")'', Eingabe von Kommazahlen per ''inputFloat("...")''.+  * Eingabe von Zahlen per ''inputInt("...")'', Eingabe von Kommazahlen per ''inputFloat("...")''. Einfacher geht es mit ''input("...")'', jedoch kann der Benutzer dann auch Zeichenketten (= Text) eingeben und eventuell führt das zum Absturz des Programms.
   * Ausgabe per print(...), etwa von Zeichenketten per ''print("Grüezi")'' oder von Zahlen per ''print(2 * x + 3)''.   * Ausgabe per print(...), etwa von Zeichenketten per ''print("Grüezi")'' oder von Zahlen per ''print(2 * x + 3)''.
   * Variablen werden mit ''x = ...'' erzeugt bzw. verändert.   * Variablen werden mit ''x = ...'' erzeugt bzw. verändert.
Line 307: Line 255:
 </WRAP> </WRAP>
  
-==== Bonusaufgabe (Grafikausgabe) ==== 
- 
-<WRAP center round todo 100%> 
-Verändere das Programm für die Spirale so, dass der Winkel statt der Strecke nach jedem Abbiegen um eine fest Grösse, etwa $1^\circ$, verkleinert (oder vergrössert) wird.  
- 
-Du kannst natürlich auch Winkel und Strecke gleichzeitig verändern.  
- 
-Spiele herum: Verschiedene Längen und Abbiegewinkel am Anfang. Verschieden Winkel- und Längenvergrösserungen. 
- 
-Du solltest etwa ein solches Bild erzeugen können (Strecke konstant, Winkelverkleinerung um $1^\circ$): 
- 
-{{:lehrkraefte:snr:informatik:bruehl-2022:notenschluessel.png?400|}} 
-</WRAP> 
- 
-===== Fragebox - auch zum Besprechen von Programmen während der Lektion (NICHT für Hausaufgaben) ===== 
- 
-Bitte einfach am Anfang des Programms oder der eingereichten Datei die Frage aufschreiben (mit oder ohne Hashtag ''#'' als Kommentareinleitungszeichen am Zeilenanfang). 
- 
-Link bereitstellen SORRY ONEDRIVE MACHT GERADE PROBLEME 
  
  
Line 332: Line 261:
 <hidden Produkt und Summe> <hidden Produkt und Summe>
 <code python> <code python>
-WIRD HAUSAUFGABEFALLS WIR NUR SO WEIT KOMMEN SOLLTEN.....+print("Salü"
 +x = input("Gib eine Zahl ein:"   
 +# input ist es egalob Kommazahl oder Nichtkommazahl oder Text. 
 +# Man kann dies statt inputFloat oder inputInt verwenden. 
 +y = input("Gib eine weitere Zahl ein:"
 + 
 +print("Die eingegebenen Zahlen sind"
 +print(x) 
 +print("und"
 +print(y) 
 +print("") # Gibt eine leere Zeichenkette ausDa "print(..)" nach der Ausgabe immer in die nächste Zeile geht, gibt dies eine Leerzeile aus. 
 + 
 +print("Die Summe dieser beiden Zahlen ist"
 +print(x+y) 
 +print("Das Produkt dieser beiden Zahlen ist"
 +print(x*y) 
 + 
 +print(""
 +print("Uf Wiederluege!")
 </code> </code>
 </hidden> </hidden>
Line 338: Line 285:
 <hidden Spalte kleines Einmaleins> <hidden Spalte kleines Einmaleins>
 <code python> <code python>
-WIRD HAUSAUFGABE, FALLS WIR NUR SO WEIT KOMMEN SOLLTEN.....+x = inputInt("Gib eine Zahl ein!"
 + 
 +vielfaches = 0 
 +repeat 10: 
 +    vielfaches = vielfaches + x 
 +    print(vielfaches) 
 +     
 +# Alternative Lösung: 
 +
 +# print("------------"
 +# i = 0 
 +# repeat 10: 
 +#     i = i + 1 
 +#     print(i * x)
 </code> </code>
 </hidden> </hidden>
Line 344: Line 304:
 <hidden $n$-Eck> <hidden $n$-Eck>
 <code python> <code python>
-einzufuegen+from gturtle import * 
 +makeTurtle() 
 + 
 +n = 7 
 +s = 100 
 + 
 +repeat(n): 
 +    forward(s) 
 +    right(360/7)
 </code> </code>
 </hidden> </hidden>
  • lehrkraefte/snr/informatik/bruehl-2022/ein-und-ausgabe-variablen.1645543339.txt.gz
  • Last modified: 2022/02/22 16:22
  • by Olaf Schnürer