• Keine Ergebnisse gefunden

Praktische Informatik I WS 1999/2000

N/A
N/A
Protected

Academic year: 2022

Aktie "Praktische Informatik I WS 1999/2000"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Universität Mannheim

Lehrstuhl für Praktische Informatik IV Prof. Dr. W. Effelsberg

Christoph Kuhmünch, Gerald Kühne

Praktische Informatik I WS 1999/2000

Übungsblatt 5 Ausgabe: Mi, 24.11.99 Abgabe: Di, 30.11.99, 18 Uhr

Aufgabe 1: Schrittweise Verfeinerung [4 Punkte]

Zu Semesterbeginn erstellen Sie sich üblicherweise einen Stundenplan, in dem Sie alle für Sie relevanten Veranstaltungen eintragen. Formulieren Sie dazu einen Algorithmus durch schritt- weise Verfeinerung (in 2-3 Schritten) unter Angabe aller Randbedingungen, von denen Sie ausgehen (Studiengang, Semesterzahl etc.).

Aufgabe 2: Algorithmenentwurf und Java-Programmierung [8 Punkte]

Entwickeln Sie ein Verfahren, das eine beliebige Integerzahl einliest und die Ziffern aufstei- gend sortiert ausgibt.

Beispiel: Eingabe 739811 Ausgabe 113789

(a) [4 Punkte] Formulieren Sie (auf Papier) einen geeigneten Algorithmus in Pseudocode und erstellen Sie ein Flußdiagram.

(b) [4 Punkte] Implementieren Sie den Algorithmus als Java-Application und geben Sie das Programm über abox ab.

Anmerkung: Benutzen Sie den KlassennamenZahlensortierung! Das Programm muß als Kommandozeilenparameter die Integerzahl erwarten und als Ergebnis die sortierten Ziffern ausgeben. Hinweise zur Ein-/Ausgabe in Java finden Sie auf den Webseiten1 der Übung. Hier ein Beispiel für einen Kommandozeilenaufruf und der Ergebnisausgabe des von Ihnen zu ent- wickelnden Programms:

> java Zahlensortierung 421571 112457

Aufgabe 3: Algorithmenentwurf und Java-Programmierung [8 Punkte]

Mehrere Städte sind durch ein Straßennetz miteinander verbunden (siehe Abbildung auf der nächsten Seite). Zur Repräsentation dieses Sachverhalts im Computer wird eine Nachbar- schaftsmatrix M verwendet, aus der sich erkennen läßt, ob zwei benachbarte Städte i und j eine direkte Verbindung haben (M[i][j]=1) oder nicht (M[i][j]=0). Diese Verbindungen sind immer bidirektional, d.h. es gibt in unserem Modell keine Einbahnstraßen.

1http://www.informatik.uni-mannheim.de/informatik/pi4/stud/veranstaltungen/ws199900/pi1/ueb/blatt4/io- beispiel.html

1

(2)

3

2 1

4

1 2 3 4

4 3 2 1

0

0 1

1 0

0 0 1

0 0

1 0 0 0

M

0 0

Entwerfen Sie einen Algorithmus, mit dem sich überprüfen läßt, ob zwei Städte i und j, i6= j, durch das Straßennetz verbunden sind.

(a) [4 Punkte] Formulieren Sie (auf Papier) einen geeigneten Algorithmus in Pseudocode und erstellen Sie ein Flußdiagram.

(b) [4 Punkte] Implementieren Sie den Algorithmus als Java-Application und geben Sie das Programm über abox ab.

Anmerkung: Benutzen Sie den Klassennamen Strassennetz! Das Programm muß fol- gende Kommandozeilenparameter erwarten: (1) den Namen einer Datei, in der sich die An- zahl n der Städte sowie eine nn-Matrix der obigen Form befindet (siehe Testdatei netz- test.txt2), (2) die Nummer der Startstadt und (3) die Nummer der Zielstadt. Das Programm muß als Ergebnis „ja“ ausgeben, falls die beiden Städte durch das Straßennetz verbunden wer- den, andernfalls soll „nein“ ausgegeben werden. Hier ein Beispiel für einen Kommandozeilen- aufruf und der Ergebnisausgabe des von Ihnen zu entwickelnden Programms:

> java Strassennetz netztest.txt 1 2 ja

2http://www.informatik.uni-mannheim.de/informatik/pi4/stud/veranstaltungen/ws199900/pi1/ueb/blatt5/netztest.txt

2

Referenzen

ÄHNLICHE DOKUMENTE

Hier ein Beispiel für einen Kommandozeilenaufruf und der Ergebnisausgabe des von Ihnen zu entwickelnden

In den nachfolgenden beiden Zeilen muß die Position des Ausgangs angegeben werden (zuerst die Zeile, dann die Spalte). Ursprung des Koordinatensystems (0,0) ist die linke obere Ecke

Entwickeln Sie einen Algorithmus, der einen Weg aus einem Labyrinth sucht, und implemen- tieren Sie den Algorithmus in einem Java-Programm (unter Umständen gibt es mehrere Lösun-

Speichern Sie alle drei Klassen in der Datei AdressenListeVListe.java (dieses ist möglich, da nur eine Klasse public deklariert wurde) und geben Sie Ihre Implementierung per abox

Wenn es zutrifft, daß, wenn ich Dienstag nicht arbeite, ich zwar Montag nicht, jedoch am Donnerstag arbeite, dann arbeite ich am Sams- tag?. Wenn ich Dienstag arbeite, dann arbeite

Wenn es zutrifft, daß, wenn ich Dienstag nicht arbeite, ich zwar Montag nicht, jedoch am Donnerstag arbeite, dann arbeite ich am Sams- tag.. Wenn ich Dienstag arbeite, dann arbeite

Schreiben Sie eine statische main-Methode, die eine rudimentäre Kommandosprache zum Zu- griff auf die Zahlen im Baum ermöglicht. In dieser Sprache gibt es die folgenden

Schreiben Sie eine statische main-Methode, die eine rudimentäre Kommandosprache zum Zu- griff auf die Zahlen im Baum ermöglicht. In dieser Sprache gibt es die folgenden