Sono nuovo di psuedocodarlo, e sto avendo difficoltà a mettere insieme tutti i pezzi:
Ecco la definizione di una funzione denominata foo cui ingressi sono due numeri interi e un array di interi 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])
Supponiamo che i numeri interi ingresso sono k=2ed m=5e la matrice di input contiene [5, 6, 2, 3, 4, 8, 2]. Quale valore Foo tornare? Usando la notazione sommatoria, dare una formula generale per quello che calcola Foo.
Questo sta facendo il mio mal di testa. Ecco quello che ho fatto finora:
Linea 2 ha tre istruzioni condizionali:
- Se k <1 // se 2 <1..this è falso
- Se m> n // se 5 è maggiore della quantità di valori nella matrice, che è 7, quindi questo è falso
- Se k> m // se 2> 5, questo è falso
Quindi questa funzione visualizza la linea 3. Linea 3 dice:
- ritorno
a[k]che èa[2]che è il secondo valore della matrice, che è 6. Quindi prendere 6 e aggiungerlo(2+1, 5, a[1].....,a[n])
È quello che ho fatto corretta lassù? Se sì, come faccio a sapere che cosa a[n]è? Dovrei essere trovando che? Quale sarebbe il risultato finale di tutto questo?













