Pregunta de ejercicio

Pregunta de ejercicio

de Angelica Vásquez Piamo -
Número de respuestas: 2

No entiendo como funciona el siguiente código de la 2da autoevaluación, ni porque despliega 1 1 32 1 53 1 7

Dado el siguiente código, parte de un programa en Pascal, donde todas las variables son de tipo integer:

inicio := 1; valor := inicio;
For k := inicio to 3 do
Begin
   valor := valor + 2;
   write (k, ' ', inicio, ' ', valor)
End

En respuesta a Angelica Vásquez Piamo

Re: Pregunta de ejercicio

de Matias Dolgay Martinez -
Hola,

Al iniciar el programa, a la variable inicio se le asigna el valor 1. Luego, valor toma el valor de inicio, es decir, valor queda en 1.
Después, empieza el bucle for, que recorre k desde inicio (1) hasta 3, es decir, se ejecuta para k = 1, k = 2 y k = 3.
En cada iteración:
  • Se suma 2 a la variable valor.
  • Se imprime "k inicio valor".
Podemos construir una tabla para entender que pasa en cada iteración:
k inicio valor (después de sumar 2) salida
1 1 3 1 1 3
2 1 5 2 1 5
3 1 7 3 1 7

Notamos que, inicio no cambia durante el bucle, siempre tiene el mismo valor. Además, valor empieza en 1, pero se actualiza sumando 2 en cada iteración.

Por eso, teniendo en cuenta que el write no imprime saltos de linea, la salida será la siguiente:

1 1 32 1 53 1 7

Espero haber aclarado, cualquier consulta a las órdenes.

Saludos!