Pregunta

En la estructura del bucle do while normalmente hay una parte donde declaras una variable igual a un número (en este caso i) y luego en una segunda parte haces un incremento (i+1).Hice este ejemplo en vba, pero la estructura podría repetirse en varios lenguajes de programación diferentes como el for en php cuando obtienes datos de una base de datos.Ahora, lo que me gustaría entender mejor es la relación entre las declaraciones mencionadas anteriormente, es decir i = some number y i = i + 1 .¿No generaría esto un problema de interpretación ya que estás declarando una variable a algo y luego asignando un valor diferente justo después?Es la segunda declaración del valor de la variable, i = i + 1, ¿una nueva variable que llama a la anterior o ambas i son iguales?Ésta es la orientación general que pretendo con esta pregunta.Creo que explicar la primicia de ambas variables ayudaría a comprender.¡Gracias!

Sub DoWhile()
Dim x, i, sum
x = 10
i = 1
sum = 0
Do While i < x
sum = sum + i
i = i + 1
Loop
MsgBox “Sum = ” & sum
End Sub
¿Fue útil?

Solución

Dado que ha creado el código de generación variable como una variable global, cualquier referencia o modificación para i en el Sub será la misma variable.Que se dice:

Dim i as int

i = 1

Do while i < 11
     MsgBox("The value of i is: " & i)
     i = i + 1
Loop

mostraría 10 cajas de mensajes que muestran el valor de que estoy entre 1 y 10.

Cuando el programa se encuentra con i, la computadora 've' esto, ya que tome el valor de i, agregue uno a él y almacene el resultado en la variable i.

espero que ayude.

Otros consejos

Una variable es realmente una ubicación en la memoria.Esa ubicación puede tener cualquier valor.Al configurar I= I + 1, realmente está diciendo "Tome el valor en la posición I, agregue 1 a él, y guárdelo en la posición I".No se crea ninguna nueva variable.No hay problema con la computadora que interpreta esto, de lo que se preocupa es la ubicación de I, que no está cambiando.Todavía sabe dónde encontrarlo, independientemente de cuántas veces cambie el valor allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top