• Keine Ergebnisse gefunden

Aufgabe 2 Stapel in Java (praktisch) (9 Punkte)

N/A
N/A
Protected

Academic year: 2022

Aktie "Aufgabe 2 Stapel in Java (praktisch) (9 Punkte)"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. Dr. A. Poetzsch-Heffter Dipl.-Inform. J. O. Blech Dipl.-Inform. M. J. Gawkowski Dipl.-Inform. N. Rauch

TU Kaiserslautern

Fachbereich Informatik AG Softwaretechnik

Ubungsblatt 8: Software-Entwicklung I (WS 2006/07) ¨

Ausgabe: 12. Dezember 2006 Abgabe: 18. Dezember 2006, 12.00 Uhr Abnahme praktischer Teil: 18. - 22. Dezember 2006

Aufgabe 1 Programmierung mit Feldern (praktisch) (15 Punkte)

In dieser Aufgabe soll eine kleine Arithmetisch-Logische Einheit (ALU) in Form eines Java-Pro- gramms implementiert werden. Die ALU soll mit 8 Bit breiten Daten arbeiten. Jedes Datum soll dabei durch ein Feld ausboolean-Variablen dargestellt werden.

Erweitern Sie zur L¨osung der Aufgabe das folgende Fragment, in dem beispielhaft auch die Imple- mentierung der bitweisenNot-Funktion gezeigt ist:

class ALU extends InputOutput {

static boolean[] not (boolean[] arg) { boolean[] result = new boolean[8];

for (int i = 0; i < 8; i++) { result[i] = !arg[i];

}

return result;

} }

a) Implementieren Sie analog zum Beispielnotdie Bitoperationenand,or,xorundshl(ShiftLeft).

(4 Punkte)

Beispiel: shl101110012= 011100102

b) Implementieren Sie die OperationenAddition(add),Subtraktion(sub) undMultiplikation(mul) f¨ur ganze Zahlen. Das erste Bit gibt das Vorzeichen an (1 f¨ur negative Zahlen). Die folgenden sieben Bits den vorzeichenlosen Zahlenwert. Welchen Zahlenbereich kann diese Darstellung dar- stellen? Was passiert bei einem ¨Uberlauf/Unterlauf? (6 Punkte) c) Implementieren Sie analog zum Beispielnoteinen Vergleichsoperatoreqlf¨ur die ganzen Zahlen

in oben beschriebener Darstellung. (1 Punkte)

d) Implementieren Sie zwei KonvertierungsprozedurenfromInt und toInt, mit denen Werte des Typsintin Bitvektoren konvertiert werden k¨onnen und umgekehrt. (4 Punkte) Ihre Implementierung sollten Sie dann mit folgendem Hauptprogramm testen k¨onnen:

(2)

public static void main (String[] args) { boolean[] a1,a2;

a1 = fromInt(-6);

a2 = fromInt(3);

println(toInt(add(a1,a2)));

println(toInt(sub(a1,a2)));

println(toInt(mul(a1,a2)));

println(toInt(shl(a1)));

}

Aufgabe 2 Stapel in Java (praktisch) (9 Punkte)

In dieser Aufgabe geht es darum, die Datenstruktur der Stapel von Zeichenreihen und die Opera- tionenpush,pop undtop in Java zu implementieren.

Benutzen Sie dabei folgende Definitionen:

class Stacknode {

Stacknode next; //Zeiger auf das naechste Element String content; // hier Inhalt

}

class Stack {

Stacknode first;

} ...

static void push(Stack s,String e) { ...

}

static void pop(Stack s) { ...

}

static String top(Stack s) { ...

}

a) Erg¨anzen Sie die Java-Prozedur push. Sie soll den ¨Ubergebenen String auf den ¨ubergebenen Stapel legen. Was passiert, wenn ein Stapel leer ist? (4 Punkte) b) Erg¨anzen Sie analog zu oben die Java-Prozedurpop. (2 Punkte) c) Erg¨anzen Sie analog zu oben die Java-Prozedurtop. (1 Punkte) d) Testen Sie Ihre Implementierung anhand geeigneter Beispiele! Geben Sie diese Beispiele mit ab. Stellen Sie einen von Ihnen erzeugten Stapel mit mindestens drei Elementen in der graphi-

(3)

schen Notation der Vorlesung dar. Erl¨autern Sie Gemeinsamkeiten und Unterschiede zu den ML

Stapeln. (2 Punkte)

Aufgabe 3 Rekursion vs. Iteration (6 Punkte)

a) Erg¨anzen Sie folgendes Programm, das testet, ob eine Zahl eine Primzahl ist!

fun isprim(n) = ipe(n,n-1);

fun ipe (0,n) = False

| ipe (1,n) = False

| ipe (2,n) = True

| ipe (m,n) = ... ipe (m,n-1) ...;

Uberf¨¨ uhren Sie es mit dem in der Vorlesung vorgestellten Verfahren in ein prozedurales Pro- gramm ohne Rekursion. Erl¨autern Sie Ihre Vorgehensweise!

Referenzen

ÄHNLICHE DOKUMENTE

Es m¨ usste 0 eine dreifache Nullstelle des charakteristischen Polynoms sein; dann aber fehlt x, und x 4 ist zuviel..

Technische Universit¨ at Berlin Fakult¨ at II.. Institut f¨ ur Mathematik

Integraltransformationen und partielle Differentialgleichungen f¨ ur Ingenieure. L¨ osung

Es liegt also Resonanz mit einer doppelten NS vor, und der Ansatz f¨ ur die partikul¨ are L¨ osung muss lauten ct 2 e

Integraltransformationen und Partielle Differentialgleichungen 29... Dennoch wird die

α) Da die Systemmatrix reell ist, sind von jeder vorgelegten komplexen L¨osung der Realteil und der Imagin¨arteil selbst schon L¨osungen, die zudem reell sind... β) Man hat z.B.

Da B 1 drei Elemente enth¨ alt und V drei-dimensional ist, reicht es zu zeigen, dass die Vektoren in B 1 linear unabh¨ angig sind... Betrachte

das kleinste (bez¨ uglich des Grades) Kreisteilungspolynom, bei dem nicht alle Koeffizienten in {0, 1,