Prof. Dr. Franz Schweiggert Abteilung Angewandte
Informationsverarbeitung 14.12.2005
Norbert Heidenbluth Blatt 9
Allgemeine Informatik I für Mathematiker/Wirtschaftsmathematiker
(WS 2005/2006)
Abgabetermin: 21. Dezember 2005
Logik ist ein unverzichtbarer Bestandteil eines jeden
Algorithmus. Deshalb beschäftigen wir uns in diesem Aufgabenblatt
mit Aussagenlogik und der Umformulierung konditionaler Aussagen
(``Wenndann'') bzw. deren Einbettung in ein
Java-Programm.
Nachdem Ihr erstes Semester ja nun schon zur Hälfte vorbei ist, wird
es höchste Zeit, die Ferien1 zu planen.
Sie sitzen also abends so gemütlich mit vier Kommiliton(inn)en (Maike,
Tanja, Dirk und Sascha) zusammen und planen Ihren ersten gemeinsamen
Urlaub. Mühsam haben Sie fünf sich über das Semester hinweg die
Urlaubskasse angespart, und diese enthält noch Geld für die folgenden
fünf Aktivitäten an Ihrem Urlaubsort:
- Jetski-Ausflug
- Thai-Massage
- Tauchkurs
- Schlemmermenü
- Fotosafari
Pro Aktivität kann nur genau eine(r) von Ihnen teilnehmen, aber alle
fünf Aktivitäten müssen auch besucht werden. Also geht nun die
Diskussion los, wer was machen darf. Ihnen kommt die Rolle des Moderators
zu, und deshalb richten sich Ihre Freunde mit den folgenden Wünschen
an Sie:
- ``Ich hätte da eine Bitte:'', sagt Maike ganz vorsichtig. ``Wenn
weder Sascha noch ich zum Schlemmermenü gehen, dann möchte ich,
daß entweder Dirk oder Du zur Fotosafari geh(s)t.''
- ``Halt!'', ruft Tanja, ``da möchte ich auch mitreden! Wenn ich
nicht zur Thai-Massage und nicht zum Schlemmermenü gehe, dann
möchte ich aber, daß Maike entweder am Tauchkurs oder an der
Jetski-Tour teilnimmt!''.
- Dirk ist nicht weniger hysterisch: ``Wenn Tanja nicht die
Jetski-Tour bucht und ich weder bei der Jetski-Tour noch beim
Schlemmermenü dabei bin, dann möchte ich wenigstens, daß
Sascha zur Thai-Massage geht und Du den Tauchkurs belegst.
Ach ja: und sollte Tanja weder zum Schlemmermenü gehen noch an
der Fotosafari teilnehmen, dann kommen für mich nur noch der
Tauchkurs oder die Thai-Massage in Frage!''
- ``Ganz cool bleiben, Leute!'', ruft Sascha und trinkt ein Glas
Wodka auf ex. ``Wir kriegen das hin! Aber sollte weder Dirk noch
ich zur Fotosafari können, dann will ich zur Jetski-Tour und Du
musst dann - der Fairness halber - zur Thai-Massage. Prost!''
Sie selber haben übrigens keine weiteren Wünsche oder Vorlieben. Ihnen
ist alles Recht - Hauptsache für ein paar Wochen keine blöden
Übungsblätter mehr!
Tja, und jetzt sind Sie gefragt! Ihre Aufgabe lautet:
``Beweisen Sie Sozialkompetenz und finden Sie die einzige Möglichkeit
der Verteilung der Urlaubsaktivitäten auf Ihre vier Freunde und Sie
selber, die allen Wünschen gerecht wird. Schreiben Sie zu diesem Zweck
ein entsprechendes Java-Programm, daß Ihnen anhand der Wünsche
die (einzig mögliche) Lösung ermittelt.''
Da wir gerade bei Zukunftsplanungen sind: wenn der
Urlaub vorbei ist, beginnt ja dann schon bald Ihr erstes
Sommersemester. Sommersemster - das bedeutet, Übungen draußen
auf der Wiese zu bearbeiten, Partys unter dem lauen Sommerhimmel und
das sensationelle Fußballtunier der Zweitsemester gegen Professoren
und Assistenten der mathematischen Fakultät. Macht Laune, gell?
So ganz nebenbei muß im Sommersemester aber auch studiert werden, und
deshalb machen Sie sich gerade Gedanken über Ihren Stundenplan. Sie
fragen Ihren WG-Mitbewohner (der gerade an einer Doktorarbeit über Logik
arbeitet und seit mehreren Wochen kein Tageslicht mehr gesehen hat),
ob er Ihnen bei der Zusammenstellung Ihres Stundenplans behilflich sein
kann. Natürlich ist er dies, und für einen Löffel des jüngst in
der Mensa geschenkt bekommenen Fertigreis (aus dem orangenen Beutel)
gibt er Ihnen die folgenden Auskünfte:
- Jeder, der im zweiten Semester nicht Wirtschaftswissenschaften
hört, muß Informatik hören.
- Im zweiten Semester darfst Du nicht Wirtschaftswissenschaften und
Informatik zugleich hören!
- Auf jeden Fall muß entweder das Fach Mathematik oder das Fach
Physik belegt werden. Es ist aber auch möglich, beide zugleich
zu belegen.
- Allerdings darfst Du nicht Informatik und Mathematik zusammen
belegen.
- Wenn Du Physik belegst aber nicht Elektrotechnik, so musst Du
stattdessen Vorlesungen in Wirtschaftswissenschaften besuchen.
- Wenn Du Elektrotechnik hörst, so ist Dir der Besuch von
Informatik-Vorlesungen leider nicht gestattet.
- Wenn Du Wirtschaftswissenschaften hörst, dann bleibt Dir die
Tür zur Physik leider verwehrt, stattdessen musst Du aber
Veranstaltungen in der Elektrotechnik besuchen.
``Au weia!'', denken Sie sich, ``den Typ kann mal wohl vergessen!''. Und
so stehen Sie nun mit jeder Menge Informationen da, aber wissen immer
noch nicht, wie Sie Ihren Stundenplan gestalten sollen.
Während Sie den Rest Ihres (mittlerweile kalten) Fertigreis alleine
weiterfuttern, fällt Ihnen auf, daß sich die Aussagen Ihres
Mitbewohners doch sicherlich mit einem Java-Programm erfassen und
auswerten lassen. Daher machen Sie sich umgehend an die folgende Aufgabe:
``Schreiben Sie ein Java-Programm, daß Ihnen aufgrund der vorstehenden
Bedingungen die einzig mögliche Kombination der Fächer ausgibt.''
- Es gibt in beiden Aufgaben genau eine Lösung!
- Um jeweils Punkte für die Aufgaben zu bekommen, müssen
Sie nicht nur ein lauffähiges Programm haben, sondern auch
in der Lage sein, die in den Aufgaben genannten Bedingungen
``live und in Farbe'' im Tutorium soweit wie möglich zu
vereinfachen und in Java-Code umzuformen.
- Daß es sich bei der Lösung zu Aufgabe 20 nicht um den reellen
Stundenplan des zweiten Semesters handelt, ist hoffentlich allen
klar! Aber um Mißverständnissen vorzubeugen, sei dies hier
nun ausdrücklich erwähnt2.
Viel Erfolg!
Fußnoten
- ... Ferien1
- Wichtig: Es heißt offiziell
``vorlesungsfreie Zeit''!
- ... erwähnt2
- Das Fußballtunier und die
Partys gibt es hingegen wirklich!
Norbert Heidenbluth
2005-12-13