Prof. Dr. Franz Schweiggert Institut für Angewandte Informationsverarbeitung 6. Mai 2008
Christoph Schneckenburger Blatt 3


Uni Logo



Einführung in die Programmierung
(SS 2008)



Abgabetermin: 23. Mai 2008

1 Erfolgreiche Teilnahme an ''Einführung in die Programmierung'' (2P)

Mittlerweile weiß wohl jeder von Ihnen, dass zu einer erfolgreichen Teilnahme an unserer Veranstaltung eine Anmeldung im SLC, mindestens 50% der Übungspunkte und mindestens 50% der Klausurpunkte benötigt werden. Sollte es lediglich an den Klausurpunkten scheitern, wird die Möglichkeit einer Nachklausur bestehen. Dort müssen aber spätestens die 50% erreicht werden. Andernfalls beginnt das Spiel im nächsten Jahr leider wieder von vorn.

Folgendes Programm Bestanden.java fragt genau diese Daten ab und gibt aus, ob unsere Veranstaltung erfolgreich absolviert wurde. Allerdings ist es in den Zeilen zwischen //BEGINN und //ENDE ziemlich unübersichtlich programmiert und benötigt insgesamt vier if-Anweisungen und ebenso viele else-Zweige. Versucht das Programm derart zu verändern, dass sich die Anzahl der if-else-Zweige deutlich verringert. Im Idealfall wird nur noch eine if-Anweisung und kein else-Zweig mehr benötigt.

Tipp: Denkt an die Verknüpfungen UND(&&) und ODER(||).

2 Europameisterschaft-Gruppenspiele (4P)

Die Fußball-Europameisterschaft naht unaufhaltsam, sämtliche Stammtische Deutschlands zerbrechen sich über Fragen wie ''Ist Jens Lehmann trotz mangelnder Spielpraxis noch der richtige Mann fürs deutsche Tor?'' den Kopf. Da auch Ihr sicherlich großen Fußball-Sachverstand besitzt, dürft Ihr diese Woche schon mal über die deutschen Vorrunden-Ergebnisse fachsimpeln. Bekanntlich spielen bei der Fußball-Europameisterschaft vier Teams in jeder Vorrunden-Gruppe. Für einen Sieg bekommt gibts drei Punkte, für ein Unentschieden einen Punkt, für eine Niederlage gibt es keine Punkte. Sucht Euch ein Team Eurer Wahl raus, fragt die verschiedenen Ergebnisse ab (bspw. 2:1, 3:3 und 0:1) und berechnet die Gesamt-Punktezahl und das Torverhältnis. Auf der Kommandozeile kann das dann wie folgt aussehen:
Tore 1.Spiel:
2
Gegentore 1.Spiel:
1
Tore 2.Spiel:
3
Gegentore 2.Spiel:
3
Tore 3.Spiel:
0
Gegentore 3.Spiel:
1

Spiele  Punkte  Torverhaeltnis
3       4       5 : 5
Verwendet hierzu bitte die Kontrollstrukturen if und while, nicht aber for. Solltet Ihr kein Fußball-Fan sein, sondern Euch stattdessen beispielsweise für die oberschwäbische Meisterschaft im Hallen-Halma begeistern, so nehmt einfach die Anzahl der Teams sowie die Anzahl an Punkten für Sieg, Unentschieden und Niederlage Eurer Lieblinssportart her.

3 Gruppenspiele etwas eleganter (1P)

Ersetzt in einem zweiten Schritt die etwas unschöne while-Schleife durch eine for-Schleife. Ihr werdet sehen, dadurch spart Ihr Euch zumindest zwei Zeilen Code, außerdem wird Eure Vorgehensweise leichter nachvollziehbar.

4 Typkonvertierung Double-Integer (3P)

Zumindest auf dem letzten Übungsblatt dürfte Euch bei der Promille-Berechnung aufgefallen sein, dass Java bei Double-Werten sehr lange, unschöne Zahlenketten ausgibt. Dieses Problem lässt sich in Java leider jedoch nur umständlich, und mit deutlich größerem Wissen als Ihr bis dato habt, lösen. Über Typkonvertierung, die Ihr ja in der Vorlesung kennengelernt habt, kann man dieses Problem jedoch auch mit Eurem bisherigen Wissen lösen. Multipliziert man einen Double-Wert mit dem Faktor 100, konvertiert ihn nach Integer und teilt ihn anschließend wieder durch 100, so bekommt man einen auf zwei Nachkommastellen abgeschnittenen Double-Wert. Schreibt ein Programm, dass eine beliebige reelle Zahl entgegennimmt und sie nach dieser Methode auf zwei Nachkommastellen reduziert.

Viel Erfolg!



Christoph Schneckenburger 2008-05-06