Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:programmieren_v_gra [2025-09-22 12:51] – [5. Lösungen] gragf_informatik:programmieren_v_gra [2025-10-01 07:22] (aktuell) – [BP8 – Rückwärts ausgeben] gra
Zeile 3: Zeile 3:
  
 ++++ Vorausgesetzte Kompetenzen:| ++++ Vorausgesetzte Kompetenzen:|
-  - Ich beherrsche die in Teil 1 und 2 gelernten Grundlagen in python (Turtlegraphics, Variablen, while-Schleife, Verzweigungen, Vergleichsoperatoren, mathematische Operatoren, f-Strings, Funktionen ''print'' und ''input'', nie repeat verwenden, clever und kompakt programmieren).+  - Ich beherrsche die in Teil 1 und 2 gelernten Grundlagen in Python (Turtlegraphics, Variablen, while-Schleife, Verzweigungen, Vergleichsoperatoren, mathematische Operatoren, f-Strings, Funktionen ''print'' und ''input'', nie repeat verwenden, clever und kompakt programmieren).
   - Ich beherrsche den Umgang mit Listen, wie in Teil 3 gelernt:   - Ich beherrsche den Umgang mit Listen, wie in Teil 3 gelernt:
     * Listen korrekt erstellen – leer oder mit Zahlen oder mit Texten drin.     * Listen korrekt erstellen – leer oder mit Zahlen oder mit Texten drin.
Zeile 10: Zeile 10:
     * Mit ''in'' fragen, ob ein bestimmtes Element in einer Liste vorkommt.     * Mit ''in'' fragen, ob ein bestimmtes Element in einer Liste vorkommt.
     * Listen analysieren (z.B. Mittelwert ermitteln) oder verändern (z.B. bestimmte Elemente ersetzen etc.).     * Listen analysieren (z.B. Mittelwert ermitteln) oder verändern (z.B. bestimmte Elemente ersetzen etc.).
-  - Ich kann in Pyhton //Funktionen// (mit und ohne //Argumente//, mit und ohne //Rückgabewerte//) korrekt //definieren// und //aufrufen//, wie in Teil 4 gelernt.+  - Ich kann in Python //Funktionen// (mit und ohne //Argumente//, mit und ohne //Rückgabewerte//) korrekt //definieren// und //aufrufen//, wie in Teil 4 gelernt.
   - Ich kann jeden //Begriff// des vorhergehenden Satzes erklären.   - Ich kann jeden //Begriff// des vorhergehenden Satzes erklären.
 ++++ ++++
Zeile 259: Zeile 259:
 wort = "Igel-Illustration" # Positionen: (0), (5), 14 wort = "Igel-Illustration" # Positionen: (0), (5), 14
 </code> </code>
 +
 +== Zusatzaufgabe (Optional) ==
 +Erweitere den Code, sodass die Positionen nicht untereinander ausgegeben werden, sondern nebeneinander (in einem String). 
  
 === PA9 – Doppelte === === PA9 – Doppelte ===
Zeile 343: Zeile 346:
 ++++ ++++
 === PB6 – Anzahl x === === PB6 – Anzahl x ===
-Schreibe eine Funktion ''anzahl\_x(liste, x)'', die die Positionen aller Wörter mit Buchstabe x ermittelt und die Anzahl **zurück**gibt. +Schreibe eine Funktion ''anzahl\_x(liste, x)'', die die Wörter in ''liste'' mit Buchstabe ''x'' zählt und die Anzahl **zurück**gibt. 
  
 Zum Beispiel soll der Aufruf ''anzahl_x(monate, 'u')'' (mit obiger Liste monate) die Zahl 5 zurückgeben. Zum Beispiel soll der Aufruf ''anzahl_x(monate, 'u')'' (mit obiger Liste monate) die Zahl 5 zurückgeben.
Zeile 357: Zeile 360:
  
 === BP8 – Rückwärts ausgeben === === BP8 – Rückwärts ausgeben ===
-Schreibe eine Funktion ''rueckwaerts_ausgeben(text)'', die jedes Zeichen des Texts rückwärts in einer neuen Zeile ausgibt. Verwende eine indirekte for-Schleife.+<WRAP group> 
 +<WRAP column twothirds> 
 +Schreibe eine Funktion ''rueckwaerts\_ausgeben(text)'', die //jedes Zeichen des Texts rückwärts in einer neuen Zeile// ausgibt. Für den Aufruf  ''rueckwaerts\_ausgeben('Hallo')'' sollte nebenstehendes Resultat erscheinen.  
 + 
 +Tipp: Verwende eine indirekte for-Schleife. Die Definition der Funktion benötigt nur 3 Zeilen. 
 +</WRAP> 
 +<WRAP column third> 
 +<code> 
 +
 +
 +
 +
 +
 +</code> 
 +</WRAP> 
 +</WRAP> 
 + 
  
 === BP9 – Punkte-Linie === === BP9 – Punkte-Linie ===
Zeile 378: Zeile 398:
   * Verwende die Funktion ''rightArc(radius, winkel)''.   * Verwende die Funktion ''rightArc(radius, winkel)''.
     * Setze ''radius'' auf 100.     * Setze ''radius'' auf 100.
-    * Du kannst davon ausgehen, dass ''list'' 12 Elemente hat: Wie gross muss ''winkel'' sein, damit der Kreis am Ende geschlossen ist. +    * Du kannst davon ausgehen, dass ''list'' 12 Elemente hat: Wie gross muss ''winkel'' sein, damit der Kreis am Ende geschlossen ist? 
-  * Der Aufruf ''dot\_arc(dot_sizes)'' sollte nebenstehendes Muster ergeben.+  * Der Aufruf ''dot\_arc(diameters)'' sollte nebenstehendes Muster ergeben.
  
 <code python> <code python>
Zeile 402: Zeile 422:
  
 <WRAP column half> <WRAP column half>
-{{.:programmieren_v_gra:pasted:20250730-143828.png?250}} {{.:programmieren_v_gra:pasted:20250730-143915.png?250}}+{{.:programmieren_v_gra:pasted:20250730-143828.png?200}} {{.:programmieren_v_gra:pasted:20250730-143915.png?200}}
 </WRAP> </WRAP>
  
Zeile 499: Zeile 519:
 **Achtung:** Meist gibt es mehrere Lösungen. Nur weil deine Lösung anders ist als diejenige in den Musterlösungen unten, bedeutet dies nicht, dass deine nicht richtig/gut ist. Sende oder zeige im Zweifelsfall deine Lösung der Lehrperson. **Achtung:** Meist gibt es mehrere Lösungen. Nur weil deine Lösung anders ist als diejenige in den Musterlösungen unten, bedeutet dies nicht, dass deine nicht richtig/gut ist. Sende oder zeige im Zweifelsfall deine Lösung der Lehrperson.
  
-<nodisp 2>+<nodisp 1>
 ++++Lösungen zu Aufgaben PA:| ++++Lösungen zu Aufgaben PA:|
 === PA1 === === PA1 ===
Zeile 848: Zeile 868:
 fakultaet(1) fakultaet(1)
 fakultaet(4) fakultaet(4)
 +</code>
 +
 +=== Q2 ===
 +<code python>
 +from gturtle import *
 +raffael = Turtle()
 + 
 +def dot_arc(l_dia, l_col):
 +    i = 0
 +    angle = 360/len(l_dia)
 +    for i in range(len(l_dia)):
 +        if(len(l_col) != 0):
 +            raffael.setPenColor(l_col[i%len(l_col)])
 +        raffael.rightArc(100,angle)
 +        raffael.dot(l_dia[i]) 
 + 
 +diameters = [30, 40, 30, 40, 60, 40, 30, 50, 30, 50]
 +colors = ["crimson", "blue", "gold"]
 + 
 +dot_arc(diameters, colors)
 </code> </code>
  
  • gf_informatik/programmieren_v_gra.1758545462.txt.gz
  • Zuletzt geändert: 2025-09-22 12:51
  • von gra