Prof. Dr. Franz Schweiggert Abteilung Angewandte Informationsverarbeitung 30. April 2004
Norbert Heidenbluth Blatt 1


Uni Logo



Objektorientierte Programmierung mit Java
(SS 2004)



Abgabetermin: 07. Mai 2004

1 Das Pascal'sche Dreieck - light (5 Punkte)

Das Pascal'sche Dreieck ist sicherlich vielen von Ihnen ein Begriff? Wenn nicht: Es ist so aufgebaut, dass die Elemente unter einer Zahl genau die Summe der beiden direkt darüber stehenden Zahlen bilden. Die Ränder sind mit Einsen belegt. Also in etwa so:

\resizebox{!}{2.5cm}{\includegraphics{pascal.eps}}

Dieses Dreieck hat eine ganze Reihe interessanter Eigenschaften, die auf zahlreichen Seiten im Netz beschrieben sind (Interessierte mögen einfach mal kräftig ``googlen'').

In diesem ersten Übungsblatt beginnen wir ganz langsam, und deshalb lautet Ihre Aufgabe: Schreiben Sie ein Java-Programm, das (unter Verwendung von mehrdimensionalen Arrays) die ersten $n$ Zeilen des Pascal'schen Dreiecks berechnet und ausgibt.

Wichtig:

Die Ausgabe muß nicht zentriert sein! Eine Ausgabe in der folgenden Form reicht aus:

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1

2 Es grünt so grün... (2+2+1 Punkte)

Kennen Sie das Musical ``My Fair Lady''? Dort muß die Hauptdarstellerin versuchen, Hochdeutsch (bzw. in der Originalversion Oxford English) zu lernen und sich ihren Dialekt abzugewöhnen. Zu diesem Zweck lässt ihr Lehrer sie den ganzen Tag Sätze wie ``Es grünt so grün, wenn Spaniens Blüten blühen!'' oder ``Ich sehe Krähen in der Nähe!'' aufsagen.

Was das mit Java zu tun hat? Nun, eigentlich nichts, aber in dieser Übungsaufgabe spielen wir auch mal mit ähnlichen Sätzen. Dazu folgende kleine Aufgaben:

  1. Schreiben Sie ein Java-Programm, das als Argument einen beliebigen Text erhält (siehe Beispielprogramm Argument.java und die zugehörigen Beispielausgaben), die Anzahl der in diesem Text enthaltenen Vokale zählt und diese Anzahl auf die Standardausgabe schreibt. Sie sollten dazu die switch()-Anweisung und Arrays verwenden.
  2. Erweitern Sie dieses Programm so, daß es nicht die Gesamtzahl der gefundenen Vokale ausgibt, sondern eine ``Statistik'', wie häufig jeder einzelne Vokal vorkommt.
  3. Erweitern sie nun die neueste Version so, daß auch die Umlaute erfasst werden (wegen der ``Krähen in der Nähe''). Bemerkung: Wenn Sie glaubhaft machen, daß Sie keine deutsche Tastatur zur Verfügung hatten, dann wird Ihnen dieser Punkt geschenkt :-)

Tip:

Verwenden Sie für diese Aufgabe(n) Arrays und zerlegen Sie den eingelesenen Satz mit der Methode toCharArray() in einzelne Zeichen / Buchstaben. Ein Beispiel für die Verwendung dieser Methode finden Sie hier! Außerdem können Sie Ihr Programm auf die Erkennung von kleinen Vokalen / Umlauten beschränken.

Beispiel:

theseus$ java Vokale3 'es grünt so grün wenn spaniens blüten blühen'
Der Buchstabe a kommt 1 Mal vor!
Der Buchstabe e kommt 5 Mal vor!
Der Buchstabe i kommt 1 Mal vor!
Der Buchstabe o kommt 1 Mal vor!
Der Buchstabe u kommt 0 Mal vor!
Der Buchstabe ä kommt 0 Mal vor!
Der Buchstabe ö kommt 0 Mal vor!
Der Buchstabe ü kommt 4 Mal vor!

Viel Erfolg!



Norbert Heidenbluth 2004-04-30