Hallo Alisa, ich würde folgenden Ansatz verfolgen: Leider ist der Editor dieses Forums nicht als Programmeditor geeignet. Ich hoffe ich bekomme doch was hin. Da ich C programmiere lehne ich mich da ein bisschen an.
Rückgabewert Berechnungsfunktion(Funktionswert, Obergrenze)
{
Ergebnis = Integral (Funktionswert);
if ((Funktionswert+ Schrittweite) < Obergrenze)
Ergebnis+ = Berechnungsfunktion(Funktionswert + Schrittweite, Obergrenze);
retrun Ergebnis;
}
Start(Startwert, Obergrenze)
{
Ergebins = Berechnungsfunktion(Startwert, Obergrenze);
}
Die Schrittweite muss festgelegt oder als Parameter mit übergeben werden. Wenn das Programm gestartet wird, wird der erste Wert berechnet. Da die Obergrenze (wahrscheinlich) noch nicht erreicht ist, wird rekursiv die Berechnungsfunktion wieder aufgerufen und zwar so lange bis die Obergrenze erreicht ist. Dann wir das Ergebnis des obersten Funktionswert zurückgegeben. Der Rücksprung bewirkt, dass das Ergebnis des letzten Funktionsaufruf zum Ergebnis des vorletzten addiert und zurückgegebenen wird und so weiter bis zurück zum Anfang. Damit hat man dann die Gesamtsumme. Ich hoffe ich habe keine Denkfehler drin und das PAP kriegst Du bestimmt hin. Persöhnlich finde ich den Ansatz nicht gut. Millionen von rekursiven Aufrufen mag kein Computer gern. Gruß jobe.
Sonstiger Berufsstatus, Punkte: 505