Soy nuevo en psuedocode, y estoy teniendo problemas para poner todas las piezas juntas:
Esta es la definición de una función foo llamado cuyas entradas son dos enteros y una matriz de enteros 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])
Supongamos que los números enteros de entrada son k=2y m=5y la matriz de entrada contiene [5, 6, 2, 3, 4, 8, 2]. ¿Qué valor regreso Foo? Usando la notación de sumatoria, dar una fórmula general para lo que calcula Foo.
Éste está haciendo que me duela la cabeza. Esto es lo que he hecho hasta ahora:
La línea 2 tiene tres sentencias condicionales:
- Si k <1 // si 2 <1..this es falsa
- Si m> n // si 5 es mayor que la cantidad de valores de la matriz, que es 7, por lo que esto es falso
- Si k> m // si 2> 5, esto es falso
Por lo que esta función se mostrará la línea 3. Línea 3 dice:
- retorno
a[k]que esa[2]que es el segundo valor de la matriz, que es 6. Así que toma 6 y añadirlo a(2+1, 5, a[1].....,a[n])
Es lo que he hecho correcta hasta allí? Si es así, ¿cómo iba yo a saber lo que a[n]es? ¿Se supone que la búsqueda de eso? ¿Cuál sería el resultado final de todo esto?













