GWI-HT2008-Tutorial-Sample-Solutions

Sample Solutions 

Tutorial 5

Aufgabe 11:

Schreiben Sie ein Programm, das die Zahlen 1-10 jeweils mit sich selbst multipliziert und das Ergebnis ausgibt! for i in range(1,11):

 print i*i


Aufgabe 12:

Schreiben Sie ein Programm, das die Zahlen 1-100 aufsummiert und das Ergebnis anzeigt! x=0 for i in range(1,101):

   x=x+i

print 'Ergebnis:',x


Aufgabe 15:

Schreiben Sie ein Programm, das die Zahlen von 12-50 anzeigt und bei jeder geraden Zahl „Dies ist eine gerade Zahl" ausgibt! for i in range(12,51):

 if ((i%2)==0):
   print i,'Dies ist eine gerade Zahl.'
 else:
   print i


Tutorial 6

Aufgabe 1:

Schreiben Sie ein Programm, welches die Eingabe dreier beliebiger Zahlen durch den Benutzer erwartet und dann den größten Wert ausgibt.print "Bitte geben Sie 3 Zahlen ein:" a=input("a = ") b=input("b = ") c=input("c = ") if a>b:

   if a>c:
       max=a
   else:
       max=c

else:

   if b>c:
       max=b
   else:
       max=c

print "Maximaler Wert = ",max


Aufgabe 2:
Definieren Sie eine String-Variable mit dem Namen „text" und weisen Sie ihr den Wert „Der Test war erfolgreich." zu. Weisen Sie nun einer zweiten Variable genau den Bereich aus der ersten Variable zu, der das Wort „Test" enthält.text = "Der Test war erfolgreich." text2=text[4:8] print text2


Aufgabe 3:
Lassen Sie durch ein Programm einen Vor- und Nachnamen eingeben. Geben Sie anschließend die Längen der beiden Zeichenketten aus, fügen Sie beide Zeichenketten zusammen und geben das Ergebnis aus.a=raw_input("Bitte geben Sie Ihren Vornamen ein:") b=raw_input("Bitte geben Sie Ihren Nachnamen ein:") print "Laenge von a=",len(a), " - Laenge von b=",len(b) print a+b print a,b c=a+" "+b print c


Aufgabe 4:
Schreiben Sie ein Programm, das wiederholt Zahlen abfragt. Das Programm wird beendet, wenn der Benutzer eine 0 eingibt. Als Ergebnis soll der Mittelwert ausgegeben werden.

Variante 1:summe=0 zaehler=0 while True:

   zahl=input("Geben Sie eine Zahl ein:")
   if (zahl==0):
       break
   summe=summe+zahl
   zaehler=zaehler+1

print "Summe =",summe print "Zaehler =",zaehler print "Mittelwert =",float(summe)/zaehler

Variante 2:zahl=1 summe=0 zaehler=-1 while (zahl!=0):

   zahl=input("Geben Sie eine Zahl ein:")
   summe=summe+zahl
   zaehler=zaehler+1

print "Summe=",summe print "Zaehler=",zaehler print "Mittelwert=",float(summe)/zaehler


Aufgabe 6:
Schreiben Sie ein Programm, welches eine Einkaufsliste mit Artikeln (Birnen, Karotten, Mangos, Bananen) festlegt. Lassen Sie die Anzahl der verschiedenen Artikel ausgeben. Fügen Sie „Tomaten" hinzu, löschen Sie die „Karotten" und geben Sie anschließend die Namen der verbleibenden Artikel aus.einkaufsliste=["Birnen","Karotten","Mangos","Bananen"] print len(einkaufsliste) einkaufsliste.append("Tomaten") del einkaufsliste[1] print einkaufsliste for artikel in einkaufsliste:

   print artikel

print '1.Artikel:',einkaufsliste[0]


Aufgabe 7:
Ändern Sie Aufgabe 6 so ab, dass zu jedem Artikel ein Einheitspreis gespeichert wird.einkaufsliste2={"Element1":(4.90,3),

               "Karotten":(2.99,55),
               "Mangos":(2.50,4),
               "Bananen":(3.10,6)}

wert=einkaufsliste2["Mangos"] print 'Wert:',wert print 'Gewicht der Mangos:',wert[1]


Erweiterung: Speichern Sie zu jedem Artikel einen Preis und ein Gewicht (Dictionary mit Paar (Preis, Gewicht) als Wert)

einkaufsliste2={"Element1":(4.90,30),

               "Karotten":(2.99,2),
               "Mangos":(2.50,4),
               "Bananen":(3.10,1)}

wert=einkaufsliste2["Mangos"] print 'Wert:',wert print 'Gewicht der Mangos:',wert[1]

Bonuslösung: Dictionary mit Dictionary (Preis, Gewicht) als Wert
einkaufsliste2={"Element1":{"Preis":4.90,"Gewicht":30},

               "Karotten":{"Preis":2.99,"Gewicht":2},
               "Mangos":{"Preis":2.50,"Gewicht":4},
               "Bananen":{"Preis":3.10,"Gewicht":1}}

print len(einkaufsliste2) eintrag=einkaufsliste2["Mangos"] print 'Gewicht:',eintrag["Gewicht"]


Tutorial 7

Aufgabe 6:

Modellieren Sie für die in der Vorlesung gezeigte einfache Kasse mit Barcode-Scanner die folgenden Perspektiven:

     a) Use-Case-Diagramm
     b) Datenstruktur (ER-Diagramm)
     c) Kontrollfluß (Flow-Chart / EPC-Diagramm)
Gwi-ht08-tutorial7_solution6.pdf (701 KB)

Tutorial 8

Aufgabe 7:
Berechnung des Netto-Materialbedarfs
GWI-ht08-tutorial8_7.xls