1. Aufgabe:
Schreiben Sie eine Modula-2-Funktionsprozedur, die die größte Nullstelle
(es kann mehrere geben) einer stetigen reellwertigen Funktion in einem
Intervall
näherungsweise berechnet und diese Näherung als Ergebnis
zurückliefert.
Verwenden Sie für die Nullstellenberechnung die regula falsi:
Der Prozedur sollen als Parameter eine beliebige Funktion , die Intervallgrenzen und sowie zwei Startwerte und übergeben werden. Die Iteration soll beendet werden, wenn ist. Insgesamt sollen höchstens 100 Iterationen durchgeführt werden.
Schreiben Sie ein Modula-2 Programm zum Testen dieser Prozedur und berechnen Sie für die folgenden Funktionen jeweils die größte Nullstelle des angegebenen Intervalls:
TYPE IntegerPointer = POINTER TO INTEGER; VAR p, q, r : IntegerPointer; x, y : INTEGER; BEGIN p := NIL; x := 10; y := 3; NEW(p); q := p; q^ := x; NEW(q); q^ := y; r := q; NEW(r); r^ := q^ + p^; q := r; y := p^ + q^ - r^; DISPOSE(q); END