• 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 Professor Dr. W. Effelsberg

Praktische Informatik I WS 1999/2000

Übungsblatt 3 Ausgabe: Mi, 10.11.99 Abgabe: Di, 16.11.99, 18 Uhr Aufgabe 1: Syntaxdiagramme [5 Punkte]

Gegeben ist ein Syntaxdiagramm gaT, das die folgenden geklammerten arithmetischen Terme zuläßt.

(i) 3 (ii) a (iii) 3 a (iv) 3 4 a

(v)

a b

c d c

Buchstabe

Zahl

Klammerterm gaT:

Abbildung 1: Syntaxdiagramm gaT

Zeichnen Sie ein Syntaxdiagramm für das Nicht-Terminalsymbol Klammerterm, so daß die Beispielterme von gaT akzeptiert werden!

Aufgabe 2: Java-Programmierung [15 Punkte]

(a) [5 Punkte] Abgabe per abox

Entwickeln Sie ein Java-Programm (Application), welches überprüft, ob eine gegebene Jahreszahl ein Schaltjahr ist. Nehmen Sie dabei an, daß ein Jahr ein Schaltjahr ist, falls seine Jahreszahl ein Vielfaches von 4 ist. Ausnahmen sind Jahre, deren Jahreszahl ein Vielfaches von 100, aber nicht von 400 ist. Überprüfen Sie anhand Ihres Programmes, ob das Jahr 2000 ein Schaltjahr ist oder nicht!

Anmerkung: Benutzen Sie den KlassennamenSchaltjahrTester! Das Programm sollte als Kommandozeilenparameter die Jahreszahl erwarten und „Ja“ ausgeben, falls es sich um ein Schaltjahr handelt, und andernfalls „Nein“ ausgeben. Die Ausgabe soll mit Hilfe vonSystem.out.println(..)erfolgen. Wird Ihr Programm also mit java SchaltjahrTester 1900gestartet, sollte es als ErgebnisNeinauf der Konsole aus- geben.

1

(2)

(b) [5 Punkte] Abgabe per abox

Entwickeln Sie ein Java-Programm (Application), welches die ganzen Zahlen x1, x2 und x3 einliest und in aufsteigend sortierter Reihenfolge ausgibt.

Anmerkung: Benutzen Sie den KlassennamenSortierer! Das Programm sollte als Kommandozeilenparameter die drei Werte erwarten und mit Hilfe des Ausgabekomman- dosSystem.out.println(..)ausgeben. Zum Einlesen der drei Integer-Werte von der Kommandozeile kann die statische Methode Integer.parseInt(..) benutzt werden. Ein Anwendungsbeispiel für diese Methode befindet sich auf den Webseiten1der Vorlesung.

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

> java Sortierer 17 3 11 3 11 17

(c) [5 Punkte] Abgabe per abox

Schreiben Sie ein Java-Programm (Application) zur Lösung der quadratischen Gleichung:

a x2 bx c 0

Berücksichtigen Sie in Ihrem Algorithmus auch die Nicht-Existenz einer reellen Lösung (Term unter der Wurzel wird kleiner als 0). Wenn keine Lösung existiert, soll „Es gibt keine Loesung“ausgegeben werden, ansonsten die Lösung(en).

Anmerkung: Benutzen Sie den Klassennamen PQFormel! Das Programm sollte als Kommandozeilenparameter die drei Werte für a, b und c erwarten und das Ergebis mit Hilfe des Ausgabekommandos System.out.println(..)ausgeben. Das Einlesen der Werte erfolgt analog zu Teilaufgabe (b). Hier ein Beispiel für einen Kommandozeilen- aufruf und der Ergebnisausgabe des von Ihnen zu entwickelnden Programmes mit a 1, b 4 und c 3:

> java PQFormel 1 4 3 -3 -1

1http://www.informatik.uni-mannheim.de/informatik/pi4/stud/veranstaltungen/ws199900/pi1/ueb/blatt3/ParameterBeispiel.html

2

Abbildung

Abbildung 1: Syntaxdiagramm gaT

Referenzen

ÄHNLICHE DOKUMENTE

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

Es soll ein als Kommandozeilenparameter angegebener Eingabe-Bitstring ab- gearbeitet werden und bei jeder Transition das entsprechende Ausgabezeichen ausgeben werden}.