Universität Duisburg - Essen - Baustatik-Info-Server
Universität Duisburg - Essen - Baustatik-Info-Server
Universität Duisburg - Essen - Baustatik-Info-Server
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.