• Keine Ergebnisse gefunden

oder per E-Mail an c.markmann@uni-wuppertal.de

N/A
N/A
Protected

Academic year: 2022

Aktie "oder per E-Mail an c.markmann@uni-wuppertal.de"

Copied!
2
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

WS 2005/2006 – ¨ Ubungsblatt 8 Ausgabe: 15. Dezember 2005

Abgabe: bis sp¨atestens 22. Dezember 2005 in der Vorlesung

oder per E-Mail an c.markmann@uni-wuppertal.de

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. Nana-Contracts

Schreiben Sie f¨ur alle Methoden der Klasseday(Aufgabe 5 von ¨Ubungs- blatt 6), auch die von Ihnen selbst konzipierten istWochentag(), operator+ undoperator- (Nana-)Spezifikationen in der Form des Ab- schnitts 6.1 der Vorlesung.

Aufgabe 2. Schleifeninvarianten

a) Schreiben Sie eine Funktionxf zur Berechnung (echt) gebrochener Potenzen vonx(also: 0 ≤f <1) unter Benutzung der Funktionen log() und exp().

b) Schreiben Sie einen entsprechenden Algorithmus ohne die Benut- zung von log(). Er soll statt dessen die Beziehungen

xf = (√ x)2f x1+f =x·xf nutzen.

Wie kann man eine Nachbedingung f¨ur den Algorithmus b) mittels des Ergebnisses von a) aufstellen?

Aufgabe 3. Ackermann-Funktion

Die Ackermann-Funktion wird definiert als ackermann(n,m) =

If n = 0 Then m + 1

1

(2)

Else

If m = 0

Then ackermann(n-1, 1)

Else ackermann(n-1, ackermann(n, m-1)) Erstellen Sie eine C++-Implementierung. (Ber¨ucksichtigen Sie dabei den m¨oglichen Integer-Overflow.)

Berechnen Sie die Ackermann-Funktion f¨ur:

(n, m)∈ {(1,1),(2,2),(3,3)}

Das Abfangen von Overflows ist bei der Ackermann-Funktion besonders wichtig, da sie sehr schnell w¨achst:ackermann(4,2) besitzt bereits ¨uber 21000 Ziffern und ackermann(4,4) ist gr¨oßer als 101010

21000

.

Schreiben Sie auch hier eine Nana-Spezifikation nach dem Muster des Abschnitts 6.1 der Vorlesung.

Aufgabe 4. arithmetischer Mittelwert

Es werde der arithmetische Mittelwert durch Z := (X+Y)/2 beziehungsweise durch

Z :=X+ (Y −X)/2 berechnet.

Wie unterscheiden sich die Ergebnisse dieser beiden Algorithmen von- einander? (Wann liefert jeder der beiden Algorithmen einen Wert un- gleich unendlich?)

Wann sollte deshalb der Algorithmus 1, wann der Algorithmus 2 be- nutzt werden?

Aufgabe 5. Raster

Bei numerischen Approximationen wird h¨aufig mit ¨aquidistanten Git- tern

∆x= b−a N

gerechnet. Warum ist das effiziente Verfahren der Akkumulation y=a+i∗∆x (i= 0,1, ..., N)

dem Verfahren

y= a∗(N −i) +i∗b N

unterlegen? Welche Werte von N sollte man bevorzugen? In welcher Reihenfolge sollte man in Analogie zur Mittelwertberechnung die ein- zelnen Rechenoperationen ausf¨uhren?

2

Referenzen

ÄHNLICHE DOKUMENTE

Geben Sie auf jedem Blatt Ihren Namen, Vornamen, Matrikelnummer, Studiengang sowie Ihre Gruppennummer an. Weitere Informationen

Der uns bekannte Satz von Montel besagt: Ist eine Familie lokal beschr¨ ankt, so ist sie normal. Dabei kommt kompakte Konvergenz gegen Unendlich nicht vor... Der folgende Satz

The echogram movement across the screen and on the printer is determined by the setting of the Echogram Speed parameter (Display Menu and Printer Menu) and the Ping Interval

These are found on the back of the video display terminal, central processing unit, magnetic tape cartridge drive unit, and printer. Please record the numbers

new chArActer set for All rlAtA foLLowing- the control corle... USA

c) Geben Sie die L¨ osung der chiralen Form der Dirac-Gleichung f¨ ur masselose Teilchen (Weyl- Gleichung) an und zeigen Sie, dass die relativistische Energie-Impuls-Beziehung

Zur Information: Die oben angegebenen Integrale können mit Hilfe einer Fouriertransforma- tion

Seien P 1 , P 2 zwei Prozesse eines Event-basierten Systems und Σ die Menge aller Events, die in diesem System auftreten k¨ onnen (Alphabet). &gt; uber dem