29.12.2014 Aufrufe

Universität Duisburg - Essen - Baustatik-Info-Server

Universität Duisburg - Essen - Baustatik-Info-Server

Universität Duisburg - Essen - Baustatik-Info-Server

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

B.Sc. - Klausur - Bauinformatik - 28.07.2011 8<br />

Aufgabe 5<br />

(a)<br />

(b)<br />

Kennzeichnen und erläutern Sie die syntaktischen Fehler des nachfolgenden<br />

Programms.<br />

Korrigieren Sie die semantischen Fehler des Programms.<br />

Das Programm newton ermittelt die Nullstelle einer Funktion f(x) nach dem Newton-<br />

Verfahren. Dazu ist in einer Iteration sowohl der Wert der Funktion als auch deren<br />

Ableitung zu berechnen.<br />

Die Ableitung berechnet sich numerisch mit: f ' x= f xh/2− f x−h/ 2/h<br />

Die Iteration erfolgt nach dem Schema: x i1<br />

= x i<br />

− f x i<br />

/ f ' x i<br />

<br />

Die Nullstelle ist mit einer Genauigkeit von 0.001 zu ermitteln.<br />

option explicit<br />

' zu untersuchende Funktion<br />

function f() as more than double<br />

f = x^2-2<br />

end sub<br />

' Berechnung der Ableitung<br />

function fs(x as double) as less than double<br />

Ableitung = (f(x+h) +f(x-h) +2*h)<br />

end sub<br />

' Implementierung des Newton-Verfahren<br />

function newton(x0 as double) as double<br />

dim x as boolean<br />

dim x0 as boolean<br />

x = x0<br />

for i=1 and so on<br />

Funktion = call f(x0)<br />

Ableitung = call fs(x)<br />

if Funktion = 0 then return<br />

if Ableitung > 0 then next for<br />

x = x0 +Ableitung/Funktion<br />

i = i + 2*37 +4<br />

end for<br />

please stop that newton<br />

Hinweis: Jedes Blatt der Ausarbeitung ist rechts oben mit Namen und Matr.-Nr. zu kennzeichnen. Nicht<br />

gekennzeichnete Blätter werden nicht bewertet. Alle Blätter sind nur einseitig zu beschreiben.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!