• Keine Ergebnisse gefunden

Aufgabe1FormalisiertesBeschreiben (10Punkte) L¨osungvorschlagzum¨Ubungsblatt1:Software-EntwicklungI(WS2006/07) TUKaiserslautern

N/A
N/A
Protected

Academic year: 2022

Aktie "Aufgabe1FormalisiertesBeschreiben (10Punkte) L¨osungvorschlagzum¨Ubungsblatt1:Software-EntwicklungI(WS2006/07) TUKaiserslautern"

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

L¨ osungvorschlag zum ¨ Ubungsblatt 1: Software-Entwicklung I (WS 2006/07)

Aufgabe 1 Formalisiertes Beschreiben (10 Punkte)

a) Beschreibung:

• Karte nehmen (von Stapel ...)

• Kartennummer kleiner als ... wenn ja ... wenn nein ...

• Karte legen auf Stapel ...

• wiederhole f¨ur alle Karten von Stapel ...

b) Beschreibung:

• wiederhole Folgendes f¨ur alle Karten auf dem ersten Stapel:

1. nimm oberste Karte

2. pr¨ufe, ob die Karte eine gerade Nummer hat:

– wenn ja: lege die Karte auf den zweiten Stapel – wenn nein: lege die Karte auf den dritten Stapel

c) Beschreibung:

• wiederhole Folgendes f¨ur alle Karten auf dem ersten Stapel:

– lege oberste Karte vom ersten auf den zweiten Stapel – wiederhole Folgendes f¨ur alle Karten auf dem ersten Stapel:

1. nimm oberste Karte

2. pr¨ufe, ob die aktuelle Kartennummer (oberste Karte vom ersten Stapel) kleiner ist als die oberste Karte vom zweiten Stapel:

∗ wenn ja, lege die oberste Karte vom zweiten auf den dritten Stapel und die aktuelle Karte auf den zweiten Stapel

∗ wenn nein, lege die aktuelle Karte auf den dritten Stapel – Vertausche den ersten mit dem dritten Stapel

d) Ja

(2)

Aufgabe 2 Bedienschnittstellenbeschreibung (5 Punkte)

a) Link zum Wechseln auf eine andere Webseite Texteingabefeld zur Eingabe von Text Schaltfl¨ache zum Ausl¨osen einer Aktion

b) Diverse Beschreibungen der einzelnen Links und Schaltfl¨achen.

Aufgabe 3 Funktionsdefinitionen und Ausdr¨ ucke (10 Punkte)

a) Welche Ergebnisse liefert die Auswertung folgender Ausdr¨ucke?

1. isempty(pop([42])) =true 2. top(pop(push(5,[3,4]))) = 3

3. ifthenelse(isempty(pop(push(5, x))),

push(top([2,4,6]),pop([1,3,5])), push(2,[3,5])) = [2,3,5]

b) [2,3,5]

c) Die Funktion k¨onnte folgendermaßen aussehen:

three elements(s) =

ifthenelse (isempty(s)),f alse,

ifthenelse (isempty(pop(s)),f alse, ifthenelse (isempty(pop(pop(s))),f alse,

ifthenelse ((isempty( pop(pop(pop(s)) )) ,true,f alse))) Die Definition

three elements(s) =isempty( pop(pop(pop(s)))

gibt nicht die volle Punktzahl. Bei s=[] ist pop(s) undefiniert. Das n¨achste pop erwartet aber einen Stack und keinen undefinierten Wert.

d) Eine M¨oglichkeiten:

step (A,B,C) =

ifthenelse (lessthan(top(A),top(B)), (pop(A),push(top(A),pop(B)),push(top(B), C)), (pop(A), B,push(top(A), C)))

Zus¨atzlich wird Rekursion bzw. eine Formalisierung der Wiederhole Anweisung ben¨otigt.

Aufgabe 4 Die UNIX-Shell (praktisch) (3 Punkte)

a) fgrep -iv "path" ~/.cshrc (Wir gehen davon aus, dass es kein Path, pAth, etc. gibt).

Ansonsten:

fgrep -v "path" test | grep -v "PATH"

b) • cd ~

• ls -l

• mkdir tmp

• rmdir tmp

(3)

Aufgabe 5 Der Editor (praktisch) (2 Punkte)

Zu dieser Aufgabe ist kein schriftlicher L¨osungsvorschlag erforderlich.

Referenzen

ÄHNLICHE DOKUMENTE

Betrachten Sie noch einmal den rekursiv referenzierten Verbund DataSetList aus der 4. Aufgabe, Übungs- blatt 9.!. a) Schreiben Sie eine

∗ wenn nein: lege die Karte auf den vierten Stapel c) Beschreibung: Sie brauchen drei Stapel. • wiederhole Folgendes f¨ ur alle Karten auf dem

Uberprufen Sie fur jeden Satz, ob seine Syntax korrekt ist und ob ihm eine Seman- tik zugeordnet werden kann.. Geben sie eine kurze(!) Begrundung, falls diese Kriterien

(5 Punkte) b) Schreiben Sie ein entsprechendes Programm, das f¨ ur alle ganzen Zahlen terminiert.. Aufgabe 3 Testen

Definieren Sie eine Klasse Dim2Tree, erg¨ anzen Sie die Funktionsprozeduren und Testen Sie Ihre Baumimplementierung.. Geben Sie einige Ihrer Testf¨ alle

Ein weiteres Problem f¨ ur das Testen ist, dass es sehr lange dauert um Ergebnisse großer Zahlen

In der Praxis ist Quicksort meistens schneller als Mergesort, da der Worst-Case (sehr kleines oder großes Pivot Element) selten eintritt und keine Arrays kopiert werden m¨ ussen..

Beim gleichzeitigen Benutzen der Prozeduren aus den Aufgabenteilen a), b) und d) kann es passieren, dass DDList.first nicht konsistent gesetzt wird. Beim Zusammenf¨ ugen mehrerer