Prof. Dr. Franz Schweiggert Institut für Angewandte Informationsverarbeitung 6. Mai 2008
Christoph Schneckenburger Blatt 3
Einführung in die Programmierung
(SS 2008)
Abgabetermin: 23. Mai 2008
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(||).
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.
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.
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