Ich bin neu in psuedocode, und ich habe Probleme setzen alle Teile zusammen:
Hier ist die Definition einer Funktion mit dem Namen foo deren Eingänge zwei ganze Zahlen sind und eine Reihe von ganzen Zahlen a[1] ... a[n].
1 Foo(k,m, a[1],...,a[n])
2 if (k < 1 or m > n or k > m) return 0
3 else return a[k] + Foo(k+1,m,a[1],...,a[n])
Nehmen wir an, dass die Eingangs ganze Zahlen sind k=2und m=5und der Eingangsanordnung enthält [5, 6, 2, 3, 4, 8, 2]. Welchen Wert zurückgibt Foo? Mit Summen Notation, geben Sie eine allgemeine Formel für das, was Foo berechnet.
Dies macht meinen Kopf verletzt. Hier ist, was ich bisher tat:
Linie 2 hat drei bedingte Anweisungen:
- Wenn k <1 // wenn 2 <1..this ist falsch
- Wenn m> n // if 5 größer als die Menge von Werten in dem Array ist, die 7 ist, so ist dies falsch
- Wenn k> m // if 2> 5, ist dies falsch
So wird diese Funktion Zeile angezeigt 3. Zeile 3 sagt:
- return
a[k]welchesa[2]dem der zweite Wert des Feldes ist, die 6 ist 6. So nehmen und fügen Sie(2+1, 5, a[1].....,a[n])
Ist das, was ich dort richtig gemacht? Wenn ja, wie soll ich das wissen , was a[n]ist? Soll ich das finden werden? Was würde das Endergebnis all das sein?













