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:funktionen:aufgaben_c [2026-05-08 06:19] – [NC6 – Wörter rückwärts (Challenge)] gragf_informatik:funktionen:aufgaben_c [2026-05-08 06:27] (aktuell) – [NC5 – Crimson & Clover (optional)] gra
Zeile 1: Zeile 1:
-==== Aufgaben zu Funktionen C – Gemischte Aufgaben zu Funktionen ====+==== Aufgaben NC – Gemischte Aufgaben zu Funktionen ====
 Die folgenden Aufgaben behandeln Funktionen mit und ohne Argumente oder Rückgabewerte. Die folgenden Aufgaben behandeln Funktionen mit und ohne Argumente oder Rückgabewerte.
  
Zeile 22: Zeile 22:
     - Erstelle eine Liste mit vier bis sieben Farben.     - Erstelle eine Liste mit vier bis sieben Farben.
     - Rufe die Funktion auf (mit beliebigen Werten für min und max sowie mit der Farbliste) und gib eine Meldung in folgender Form aus: "Es wurden 14 Punkte gezeichnet".     - Rufe die Funktion auf (mit beliebigen Werten für min und max sowie mit der Farbliste) und gib eine Meldung in folgender Form aus: "Es wurden 14 Punkte gezeichnet".
-=== NC3 – Crimson & Clover ===+ 
 + 
 +=== NC3 – Text rückwärts === 
 + 
 +<box 100% round green|**Strings vs. Listen**> 
 + 
 +**Texte** werden in python als **Strings** (engl. "Schnur" oder "Kette") bezeichnet. Ein Text besteht aus mehreren Buchstaben und ist damit eine Aneinanderreihung von Buchstaben – sozusagen eine //Kette// von Buchstaben.  
 + 
 +**Strings** haben gewisse Ähnlichkeit mit **Listen**: Auch in Listen sind mehrere Elemente aneinander gehängt. Hier  vergleichen wir Listen mit Strings anhand einiger Befehle/Operationen: 
 + 
 +<WRAP group> 
 +<WRAP column half> 
 +Befehle mit Listen: 
 +<code python> 
 +my_list = [] # Leere Liste erstellen 
 +numbers = [3,9,27] # Liste mit Inhalt erstellen 
 +numbers.append(81) # Der Liste ein Element anfügen 
 +n = numbers[2] # Bestimmtes Element in Liste wählen 
 +print(n) # Gibt 27 aus 
 +</code> 
 + 
 +</WRAP> 
 +<WRAP column half> 
 +Befehle mit Strings: 
 +<code python> 
 +my_text = "" # Leeren Text erstellen 
 +name = "Immanuel" # Text mit Inhalt erstellen 
 +name = name + " Kant" # Dem Text einen Text anfügen 
 +b = name[5] # Bestimmten Buchstaben im Text wählen 
 +print(b) # Gibt 'u' aus 
 +</code> 
 + 
 +</WRAP> 
 +</WRAP> 
 + 
 +Die Funktion ''len()'' funktioniert sowohl für Listen als auch für Strings. 
 + 
 + 
 +</box> 
 + 
 +Schreibe eine Funktion ''text\_reverse(text)'', die einen Text rückwärts zurückgibt:  
 +  * Zum Beispiel soll der Aufruf ''text\_reverse("Roti Rösli im Garte")'' den Text "etraG mi ilsöR itoR" zurückgeben. 
 +  * **Verwende eine While-Schleife**, um durch den String (den Text) zu gehen.  
 +    * Hinweis: Python böte mit der [[https://www.w3schools.com/python/gloss_python_string_slice.asp|String-Slicing-Syntax]] eine sehr kurze Lösung für diese Aufgabe. Wir verzichten hier aber auf String Slicing und bleiben vorerst bei der guten alten while-Schleife. 
 +  * Teste deine Funktion. 
 + 
 +=== NC4 – Abstände ersetzen === 
 +Schreibe eine Funktion ''replace\_spaces(text, char)''. Die Funktion ersetzt alle Abstände (spaces) in ''text'' durch das Zeichen ''char'' und gibt den neuen Text zurück. Zum Beispiel gibt der Aufruf ''replace\_spaces("Roti Rösli im Garte", '-')'' den Text "Roti-Rösli-im-Garte" zurück. Teste deine Funktion. 
 +  * Hinweis: Mit eckigen Klammern können wir zwar einen Buchstaben aus einem String //auslesen//. Anders als bei Listen können wir die eckigen Klammern aber nicht nutzen, um einen bestimmten Buchstaben eines Strings zu verändern. 
 + 
 +=== NC5 – Crimson & Clover  (Optional) ===
 Crimson & Clover ist der Titel [[https://youtu.be/-wXJ1WN3GR4?si=ngF7kK59Rw1MqoYx|dieses Liedes]] von Tommy James and the Shondells. Crimson & Clover ist der Titel [[https://youtu.be/-wXJ1WN3GR4?si=ngF7kK59Rw1MqoYx|dieses Liedes]] von Tommy James and the Shondells.
  
Zeile 100: Zeile 150:
 </WRAP> </WRAP>
 </WRAP> </WRAP>
-=== NC4 – Text rückwärts === 
- 
-<box 100% round green|**Strings vs. Listen**> 
- 
-**Texte** werden in python als **Strings** (engl. "Schnur" oder "Kette") bezeichnet. Ein Text besteht aus mehreren Buchstaben und ist damit eine Aneinanderreihung von Buchstaben – sozusagen eine //Kette// von Buchstaben.  
- 
-**Strings** haben gewisse Ähnlichkeit mit **Listen**: Auch in Listen sind mehrere Elemente aneinander gehängt. Hier  vergleichen wir Listen mit Strings anhand einiger Befehle/Operationen: 
- 
-<WRAP group> 
-<WRAP column half> 
-Befehle mit Listen: 
-<code python> 
-my_list = [] # Leere Liste erstellen 
-numbers = [3,9,27] # Liste mit Inhalt erstellen 
-numbers.append(81) # Der Liste ein Element anfügen 
-n = numbers[2] # Bestimmtes Element in Liste wählen 
-print(n) # Gibt 27 aus 
-</code> 
- 
-</WRAP> 
-<WRAP column half> 
-Befehle mit Strings: 
-<code python> 
-my_text = "" # Leeren Text erstellen 
-name = "Immanuel" # Text mit Inhalt erstellen 
-name = name + " Kant" # Dem Text einen Text anfügen 
-b = name[5] # Bestimmten Buchstaben im Text wählen 
-print(b) # Gibt 'u' aus 
-</code> 
- 
-</WRAP> 
-</WRAP> 
- 
-Die Funktion ''len()'' funktioniert sowohl für Listen als auch für Strings. 
- 
- 
-</box> 
- 
-Schreibe eine Funktion ''text\_reverse(text)'', die einen Text rückwärts zurückgibt:  
-  * Zum Beispiel soll der Aufruf ''text\_reverse("Roti Rösli im Garte")'' den Text "etraG mi ilsöR itoR" zurückgeben. 
-  * **Verwende eine While-Schleife**, um durch den String (den Text) zu gehen.  
-    * Hinweis: Python böte mit der [[https://www.w3schools.com/python/gloss_python_string_slice.asp|String-Slicing-Syntax]] eine sehr kurze Lösung für diese Aufgabe. Wir verzichten hier aber auf String Slicing und bleiben vorerst bei der guten alten while-Schleife. 
-  * Teste deine Funktion. 
- 
-=== NC5 – Abstände ersetzen === 
-Schreibe eine Funktion ''replace\_spaces(text, char)''. Die Funktion ersetzt alle Abstände (spaces) in ''text'' durch das Zeichen ''char'' und gibt den neuen Text zurück. Zum Beispiel gibt der Aufruf ''replace\_spaces("Roti Rösli im Garte", '-')'' den Text "Roti-Rösli-im-Garte" zurück. Teste deine Funktion. 
-  * Hinweis: Mit eckigen Klammern können wir zwar einen Buchstaben aus einem String //auslesen//. Anders als bei Listen können wir die eckigen Klammern aber nicht nutzen, um einen bestimmten Buchstaben eines Strings zu verändern. 
- 
  
 === NC6 – Wörter rückwärts (Challenge) === === NC6 – Wörter rückwärts (Challenge) ===
Zeile 205: Zeile 207:
 print(f"Es wurden {anz_punkte} Punkte gezeichnet.") print(f"Es wurden {anz_punkte} Punkte gezeichnet.")
 </code> </code>
 +
  
 === NC3 === === NC3 ===
 +<WRAP group>
 +<WRAP column half>
 +Variante mit While-Schleife:
 +
 +<code python>
 +def text_reverse(text):
 +    new_text = ""
 +    i = len(text)-1
 +    while i >= 0:
 +        new_text = new_text + text[i]
 +        i = i-1
 +    return new_text
 +        
 +print(text_reverse("Roti Rösli im Garte"))
 +</code>
 +</WRAP>
 +<WRAP column half>
 +Kurze Variante mit Slice-Syntax (optional):
 +
 +<code python>
 +def text_reverse(text):
 +    return text[::-1]
 +        
 +print(text_reverse("Roti Rösli im Garte"))
 +</code>
 +</WRAP>
 +</WRAP>
 +
 +
 +=== NC4 ===
 +<code python>
 +def replace_spaces(text, char):
 +    i = 0
 +    new_text = ""
 +    while i < len(text):
 +        if text[i] == ' ':
 +            new_text = new_text + char
 +        else:
 +            new_text = new_text + text[i]
 +        i = i + 1
 +    return new_text
 +
 +print(replace_spaces("Roti Rösli im Garte", '-'))
 +</code>
 +
 +=== NC5 ===
 <code python> <code python>
 import random import random
Zeile 257: Zeile 306:
 </code> </code>
  
-=== NC3 Zusatzaufgabe===+=== NC5 Zusatzaufgabe===
 <code python> <code python>
 import random import random
Zeile 313: Zeile 362:
                  
     i = i + 1     i = i + 1
-</code> 
- 
-=== NC4 === 
-<WRAP group> 
-<WRAP column half> 
-Variante mit While-Schleife: 
- 
-<code python> 
-def text_reverse(text): 
-    new_text = "" 
-    i = len(text)-1 
-    while i >= 0: 
-        new_text = new_text + text[i] 
-        i = i-1 
-    return new_text 
-         
-print(text_reverse("Roti Rösli im Garte")) 
-</code> 
-</WRAP> 
-<WRAP column half> 
-Kurze Variante mit Slice-Syntax (optional): 
- 
-<code python> 
-def text_reverse(text): 
-    return text[::-1] 
-         
-print(text_reverse("Roti Rösli im Garte")) 
-</code> 
-</WRAP> 
-</WRAP> 
- 
- 
-=== NC5 === 
-<code python> 
-def replace_spaces(text, char): 
-    i = 0 
-    new_text = "" 
-    while i < len(text): 
-        if text[i] == ' ': 
-            new_text = new_text + char 
-        else: 
-            new_text = new_text + text[i] 
-        i = i + 1 
-    return new_text 
- 
-print(replace_spaces("Roti Rösli im Garte", '-')) 
 </code> </code>
  
  • gf_informatik/funktionen/aufgaben_c.1778221196.txt.gz
  • Zuletzt geändert: 2026-05-08 06:19
  • von gra