0

Hallo, ich muss für folgenden Algorithmus die Korrektheit beweisen: ( a ∈N≥0 und b ∈ N≥0 mit b > a)

Summe(a,b): if b=0 then return a return 1+ Summe(a,b-1)

Ansatz: Ich muss aufjedenfall einen Induktionsanfang haben für eine geignete Induktionsvariable, eine Annhame formulieren und dann den Induktionsschritt zeigen? Jedoch finde ich keine geeignte Induktionsvariable für den Induktionsanfang,

Diese Frage melden
gefragt

Schüler, Punkte: 10

 
Kommentar schreiben
1 Antwort
0

Hallo informatilfritze, als Laienmathematiker würde ich mal folgendes überlegen. Was macht die Rekursion eigentlich? Sie zählt b von b bis 0 runter. Damit wird indirekt ermittelt wie groß b ist. Wenn 0 erreicht ist wird a zurückgegeben und bei jeder Rückgabe 1 drauf addiert. Also ist am Ende a+(b*1 ) berechnet. Mathematisch kannst du das als a+[Summe (mathematisches Summenzeichen) 1 von i=1 bis i=b] = a+b ansetzen. Dann ist b die Induktionsvariable, a ist konstant und auf beiden Seiten der Gleichung vertreten. Kann man also kürzen, bzw. vernachlässigen. Zu beweisen ist also dass sie Summe von 1sen links der Gleichung gleich b ist. Den Induktionsanfang kannst du ja selbst wählen. b=1 würde sich vielleicht anbieten. Hoffe es hilft ein wenig.

Leider weiß ich nicht wie man bei diesem Editor mathematische Formelzeichen eingeben kann. Gruß jobe

Diese Antwort melden
geantwortet

Sonstiger Berufsstatus, Punkte: 505

 

Kommentar schreiben