• Keine Ergebnisse gefunden

SS2007–¨Ubungsblatt7Ausgabe:6.Juni2007Abgabe:bissp¨atestens14.Juni2007inderVorlesung ProgrammingbyContract

N/A
N/A
Protected

Academic year: 2022

Aktie "SS2007–¨Ubungsblatt7Ausgabe:6.Juni2007Abgabe:bissp¨atestens14.Juni2007inderVorlesung ProgrammingbyContract"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

BERGISCHE UNIVERSIT ¨ AT WUPPERTAL

GAUSS-STRASSE 20 42119 WUPPERTAL TELEFAX (0202) 439-2901 TELEFON (0202) 439-0 WWW www.uni-wuppertal.de

Fachbereich C

MATHEMATIK UND NATURWISSENSCHAFTEN Fachgruppe Mathematik und Informatik

Programming by Contract

SS 2007 – ¨ Ubungsblatt 7 Ausgabe: 6. Juni 2007

Abgabe: bis sp¨atestens 14.Juni 2007 in der Vorlesung

Prof. Dr. Hans-J¨urgen Buhl Praktische Informatik / Numerik

E-Mail: Hans-Juergen.Buhl@math.uni-wuppertal.de WWW: http://www.math.uni-wuppertal.de/∼buhl

Aufgabe 1. GNU Nana Source-Dateien

Laden Sie die aktuelle Version der GNU Nana-Bibliothek aus dem In- ternet herunter (Quellcode-Version).

Hinweis:

Benutzen Sie http://directory.fsf.org Aufgabe 2. Userspezifische Installation vorbereiten

Legen Sie ein Verzeichnis $HOME/src/nana-2.5 an, entpacken Sie die Datei nana 2.5.orig.tar.gz dorthin und lesen Sie die Installations- anleitung INSTALL sowie das Kapitel 2 des Handbuchs doc/nana.ps.

F¨uhren Sie die Kommandos

user@lxy: ./configure --prefix=~

user@lxy: make

user@lxy: make install aus.

Anderen Sie Ihr Linux-Environment (Datei¨ ∼/.bashrc):

export NANAPKGDIR=$HOME/share/nana

# export NANARUN_GDB_OPTIONS=

export NANABIN=~/bin

export CPPFLAGS="-g -I. -I$HOME/include"

export CFLAGS="-g -I. -I$HOME/include"

Modifizieren Sie das Skript nana-clg gem¨aß:

1

(2)

cd $HOME/bin

vi nana-clg (Aendere Zeile 82 zu:) ...

${NANACC-gcc} $CPPFLAGS $* -L$HOME/lib -lnana -o a.out &&

Testen Sie (nach Durchf¨uhrung der ¨Anderung von nana-config.h gem¨aß Aufgabe 3):

nana-c++lg Quicksort6b.cc Sie sollten eine Output ¨ahnlich zu

Using host libthread_db library "/lib64/libthread_db.so.1".

Quicksort6b.cc:64: I(n>=1) failed; dumping core Program received signal SIGABRT, Aborted.

0x00002ab99eca4535 in raise () from /lib64/libc.so.6 erhalten.

Aufgabe 3. Modifiziere Header-Dateien Andere Header-Dateien:¨

cd ~/include/nana-config.h . vi nana-config.h

Ersetze Zeile 84 durch:

typedef void*(FKTxxy)(unsigned int);

FKTxxy *_nana_p = malloc; /* this costs us storage space */

(Falls n¨otig ersetze in den Dateien

~/include/GDB.h

~/include/I.h

~/include/nana.h

~/include/cycles.h

~/include/DI.h

~/include/DL.h

~/include/L_buffer.h

~/include/L.h

~/include/L_times.h jeweils die Zeile

#include <nana-config.h>

durch:

#include "nana-config.h"

)

2

(3)

Aufgabe 4. Erste Anwendungen

Erweitern Sie das Test-Hauptprogramm von

http://www.math.uni-wuppertal.de/buhl/teach/exercises/PbC07/Quicksort6b.cc

um gen¨ugend viele Testf¨alle. Begr¨unden Sie, warum Ihre Testf¨alle Ihnen ausreichend erscheinen.

Inwieweit weicht die Nana-Benutzung in diesem Beispiel von den Bei- spielen der Datei nana.ps ab?

Aufgabe 5. Weitere Spezifikationen Ubersetzen und testen Sie¨

http://www.math.uni-wuppertal.de/buhl/teach/exercises/PbC07/vektor4.cc, diskutieren Sie die vorhandenen Contracts und vervollst¨andigen Sie die Klasse.

3

Referenzen

ÄHNLICHE DOKUMENTE

Der Behandlungsprozess ist vom Krankheitsver- lauf des Patienten geprägt. Daher ist eine medizini- sche Sicht auf diesen Prozess unumgänglich. Darüber hinaus sind

Auch jun- gen Menschen kann es passieren, dass sie nach einem Unfall zeitweise oder auf Dauer nicht mehr in der Lage sind, eigene Entscheidungen zu treffen.. Die Autoren

&#34;bush&#34; Dienstleistungen wie etwa Zahnbehandlungen gelegentlich mangels Bargeld in Naturalien - Beeren, geräuchertem Lachs, rohen Schmucksteinen - abgegolten werden, darf

Geben Sie in eigenen Worten an, wie sich die Vorbedingungen, die Nachbedingungen und die Invarianten in einer Kindklasse relativ zu denjenigen einer Elternklasse verhalten sollten,

Reformulieren Sie einen (evtl. noch nicht ausf¨uhrbaren) Contract nur mit Hilfe der grundlegenden Observatoren.. Kritisieren Sie analog die Berechnung von old keys in der

Der Regierungsrat wird in der ersten Jahreshälfte 2005 eine Projektgruppe einsetzen, damit die Vorarbeiten für die Einführung des e-Votings an die Hand genommen

L’Institut Paul Scherrer est spécialisé dans la construction et l’exploitation de grandes installations de recherche, mais aussi dans leur utilisation pour la recherche?.

[r]