Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
informatik:algorithmisch:aufgabe:pythonarrays [2024/07/16 12:27] – angelegt technikinformatik:algorithmisch:aufgabe:pythonarrays [2024/07/17 07:35] (aktuell) technik
Zeile 3: Zeile 3:
 === Aufgabe 1 === === Aufgabe 1 ===
 Schreibe ein Programm, welches alle Elemente (mindestens 10) eines Arrays aus Integern aufsummiert. Schreibe ein Programm, welches alle Elemente (mindestens 10) eines Arrays aus Integern aufsummiert.
- 
-<file python loesung01.py> 
-notenspiegel = [1,2,2,1,1,3,1,2,3,4,1,2,1,1,1,1] 
-num_students = 0 
-  
-for i in range(16): 
-    num_students = num_students + notenspiegel[i] 
-</file> 
  
 === Aufgabe 2 === === Aufgabe 2 ===
Zeile 34: Zeile 26:
  
 ++++ Klicke hier für Beispiellösungen | ++++ Klicke hier für Beispiellösungen |
 +<file python loesung01.py>
 +notenspiegel = [1,2,2,1,1,3,1,2,3,4,1,2,1,1,1,1]
 +num_students = 0
 + 
 +for i in range(16):
 +    num_students = num_students + notenspiegel[i]
 +</file>
 +
 <file python loesung02.py> <file python loesung02.py>
 notenspiegel = [1,2,2,1,1,3,1,2,3,4,1,2,1,1,1,1] notenspiegel = [1,2,2,1,1,3,1,2,3,4,1,2,1,1,1,1]
Zeile 52: Zeile 52:
 print("Durchschnitt: ",average) print("Durchschnitt: ",average)
 print("Unter Schnitt: ",failed,"%") print("Unter Schnitt: ",failed,"%")
 +</file>
 +++++
 +
 +==== Aufgabe 3 ====
 +Sprachmodelle wie ChatGPT sind in aller Munde. Basis eines Sprachmodells sind immer auch Wortlisten, so wie diese hier:
 +
 +<file python speechmodel.py>
 +verbs = ["geht", "läuft", "spielt", "singt", "schwimmt"]
 +nouns = ["Peter", "Das Mädchen", "Das Spiel", "Mein Gefühl", "Der Computer"]
 +parts = ["im Freibad", "fröhlich", "auf den Bäumen", "im Haus", "in der Schule"]
 +</file>
 +
 +Wichtig! Unser "Sprachmodell" beachtet keine Interpunktion (Satzzeichen). Du kannst das natürlich ergänzen.
 +
 +  - Erzeuge mit einem Programm aus diesen Wortlisten fünf zufällige Sätze mit einer Methode.
 +  - Erzeuge mit einem Programm aus diesen Wortlisten fünf zufällige Fragen mit der gleichen Methode wie aus dem Aufgabenteil 1. Die Steuerung, ob Sätze oder Fragen generiert werden, soll über einen boolschen Parameter erfolgen. 
 +  - Beschreibe die Probleme, die bei der Ausgabe auftreten können. 
 +
 +++++ Klicke hier für Beispiellösungen |
 +<file python speechmodel.py>
 +import random
 +
 +verbs = ["geht", "läuft", "spielt", "singt", "schwimmt"]
 +nouns = ["Peter", "Das Mädchen", "Das Spiel", "Mein Gefühl", "Der Computer"]
 +parts = ["im Freibad", "fröhlich", "auf den Bäumen", "im Haus", "in der Schule"]
 +
 +# Diese Methode gibt uns ein zufälliges Element aus dem übergebenen Array zurück
 +# Durch len(array)-1 kann das Array eine beliebige Länge haben
 +# Das ist ein klassischer Fall für eine sogenannte "Helfermethode"
 +def returnRandomElement(array):
 +    zufallszahl = random.randint(0,len(array)-1)
 +    return array[zufallszahl]
 +
 +# Diese Methode baut uns entweder Sätze (isQuestion=False) oder Fragen (isQuestion=True)
 +def makeOutput(verbs, nouns, parts, isQuestion):
 +    if not isQuestion:
 +       print(returnRandomElement(nouns)+' '+returnRandomElement(verbs)+' '+returnRandomElement(parts)+'.')
 +    else:
 +       print(returnRandomElement(verbs)+' '+returnRandomElement(nouns)+' '+returnRandomElement(parts)+'?')
 +
 +# Jetzt können wir sehr einfach Sätze ...
 +for i in range(5):
 +    makeOutput(verbs, nouns, parts, False)
 +
 +print()
 +
 +# ... und Fragen erstellen.
 +for i in range(5):
 +    makeOutput(verbs, nouns, parts, True)
 </file> </file>
  
 +//Die Ausgaben berücksichtigen keine Groß- und Kleinschreibung und machen semantisch nur selten Sinn. Es handelt sich aber um grammatische Sätze.//
 ++++ ++++