Aus Algorithmus Gleichung aufstellen

Neue Frage »

coldstone Auf diesen Beitrag antworten »
Aus Algorithmus Gleichung aufstellen
HI leute,

wie kann ich aus einem Algorithmus in Pseudocode bestimmen welche funktion g berechnet wird?

code:
1:
2:
3:
4:
5:
6:
7:
8:
for i <-- 1 to n 
   do print i
if n = 0
   then s <-- n
   then s <-- n + RekAlg(n-1)
return s


RekAlg ist mein rekursiver algorithmus, was ja bedeutet das mein Algorithmus sich selber nochmal aufruft.
coldstone Auf diesen Beitrag antworten »

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
 
for i <-- 1 to n 
   do print i
if n = 0
   then s <-- n
   else <-- n + RekAlg(n-1)
return s



so sieht der code richtig aus.
HAL 9000 Auf diesen Beitrag antworten »

code:
1:
2:
for i <-- 1 to n
   do print i
Da werden nur die Zahlen 1,2,...,n ausgegeben. Vermutlich zu Debugging-Zwecken, aber für die eigentliche Funktion an sich überflüssig.

code:
1:
2:
3:
if n = 0
   then s <-- n
   else <-- n + RekAlg(n-1)
Die "then"-Zeile bedeutet , die "else"-Zeile hingegen . Entflochten heißt das

,

was man mit dem kleinen Gauß auch noch vereinfachen kann zu einer "summenfreien" expliziten Darstellung.
coldstone Auf diesen Beitrag antworten »

also erstmal vielen dank für deine erklärung. Den anfang habe ich versanden aber wie ist die gleichung in bezug auf den code zu definieren?

also ist doch das was in meinem code als return zurückgegeben wird?
Das ist dann definiert durch
code:
1:
2:
 if n = 0   
then s <-- n

da der Wert zugewiesen wird, in dem fall natürlich .
und
code:
1:
  else <-- n + RekAlg(n-1) 
wird als
definiert, richtig?

dann lautet doch meine gleichung, wie folgt:


und n zusammengefasst --->
für alle .

Liege ich da richtig? verwirrt
HAL 9000 Auf diesen Beitrag antworten »

Damit bist du offensichtlich der Meinung, dass ich mit falsch liege - nun, das ist deine Entscheidung. Augenzwinkern
coldstone Auf diesen Beitrag antworten »

Hammer Hammer Hammer

sorry, ich habe dann da was falsch verstanden. Big Laugh
Dann berechnet der algorithmus folgende funkton ?

Ich dachte der part
code:
1:
2:
3:
4:
if n = 0   
then s <-- n


muss mit berücksichtigt werden?

Ich habe schwierigkeiten die einzelnen parts im code in der gelichung widerzuspiegeln.

Aber die gelichung gilt ja nur dann wenn ist oder?
 
 
HAL 9000 Auf diesen Beitrag antworten »

"Nur " für ist ja nicht gerade wenig. Was das im weiteren bedeutet, habe ich oben auch schon geschrieben - vielleicht nimmst du es ja irgendwann zur Kenntnis.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »