Übungen zur Lehrveranstaltung

"Programmierkurs Java"

WS 2000/2001

FB Informatik

D. Boles

 

Übungsblatt 8

Ausgabe: 06.12.2000

Hinweise: Zur Lösung der Aufgaben dürfen nur Konzepte benutzt werden, die in der Vorlesung schon behandelt worden sind.

Aufgabe 30 (Arrays): 40 Punkte

Bei dieser Aufgabe sollen Sie einen einfachen Fahrtroutenplaner implementieren (dieser wird auf dem nächstem Aufgabenblatt erweitert!). Stellen Sie sich dazu ein Netz von Städten vor, das durch Straßen miteinander verbunden ist. Schreiben Sie ein Programm, was genau folgendes tut:

Beispiel:

5

O(ldenburg) B(remen) H(amburg) F(rankfurt) M(ünchen)

3

O B

B H

B F

O H (Ausgabe: Verbindung existiert)

F O (Ausgabe: Verbindung existiert)

H M (Ausgabe: keine Verbindung)

Aufgabe 31 (Arrays): 30 Punkte

Schreiben Sie ein Java-Programm, das das Solitaire-Spiel löst (siehe auch Aufgabe 28). Die Abbildung skizziert das Spielfeld in der Ausgangssituation. Es ist ein Ein-Personen-Spiel. Ein Spielzug sieht so aus, dass der Spieler jeweils eine beliebige Figur auswählt, bei der ein Nachbarfeld besetzt und das dahinterliegende Feld frei ist. Der Spieler nimmt die Figur, platziert sie auf dem freien Feld und entfernt die übersprungene Figur vom Spielfeld. Ziel des Spiels ist es, eine Folge von Spielzügen zu finden, so dass zum Schluss nur noch eine einzige Spielfigur auf dem Spielfeld vorhanden ist. Ihr Programm soll eine solche Folge finden und die Spielzüge der Folge ausgeben.

 

Aufgabe 32 (Arrays): 30 Punkte

Implementieren Sie folgende Funktionen:

  1. Eine Funktion, die zwei eindimensionale int-Arrays als Parameter übergeben bekommt und überprüft, ob die darin gespeicherten Werte jeweils gleich sind
  2. Beispiel: f([1,4,3], [1, 4, 3]) == true

  3. Eine Funktion, die drei eindimensionale int-Arrays als Parameter übergeben bekommt und die eine Matrix zurückliefert, bei der die drei Arrays die Zeilen bilden.
  4. Beispiel: f([1], [1,3,4], [2, 3]) == [[1], [1, 3, 4], [2, 3]]

  5. Eine Funktion, die drei eindimensionale int-Arrays als Parameter übergeben bekommt und die eine Matrix zurückliefert, bei der die einzelnen Werte den Werten der Arrays entsprechen (wo ist der Unterschied zu Teilaufgabe (3)).
  6. Beispiel: f([1], [1,3,4], [2, 3]) == [[1], [1, 3, 4], [2, 3]]

  7. Eine Funktion, die eine n x n Matrix mit int-Werten als Parameter übergeben bekommt und die überprüft, ob die Summe aller Reihen und Spalten und der beiden Diagonalen identisch ist.
  8. Beispiel: f([1,4,1],[2,2,2],[3,0,3]) == true

  9. Eine Funktion, die ein eindimensionales int-Array (mit nicht-negativen Werten) als Parameter übergeben bekommt und entsprechend hohe #-Säulen auf den Bildschirm zeichnet.

Beispiel: f([3, 1, 2, 2, 4, 1]) ==

#

# #

# ###

######

312241