Programación General > Visual Basic para principiantes

 Do While Loop

(1/1)

ric83:
////////////////////////////////////
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim intValor As Byte = 5
        Dim intResultado As Byte
        Do While intValor > 0
            intResultado = intResultado + intValor
            intValor = intValor - 1
        Loop
        MessageBox.Show(intResultado)

    End Sub

//////////////
intResultado, me arroja 15 ya le estuve intentado entender por mi ceunta pero no pude
alguien me lo podria explicar detalladamente :D GRACIAS

F_Tanori:
:lol:  :blink:

Es facil, aunque primero que nada eso es .NET y el foro es aca http://foros.solocodigo.com/index.php?showforum=53

el ciclo solo hace 5 iteraciones,

--- Código: Text --- Dim intValor As Byte = 5 
por el decremento en 1


--- Citar --- intValor = intValor - 1
--- Fin de la cita ---

y la suma es la siguiente


--- Código: Text ---intResultado = intResultado + intValor 

intValor=5

1ra Vuelta ( intResultado =0)

intResultado = 0 +5

2da Vuelta (intResultado =5)

intResultado = 5 +4

3ra Vuelta (intResultado =9)

intResultado = 9 + 3

4ta Vuelta (intResultado =12)

intResultado = 12 + 2

5ta Vuelta (intResultado =14)

intResultado = 14 + 1


--- Citar ---intResultado =15
--- Fin de la cita ---


--- Cita de: "ric83" ---intResultado, me arroja 15
--- Fin de la cita ---

a la 6ta vuelta intValor llega a ser 0 por el decremento y ya no entra al ciclo



http://www.contaduria.uady.mx/fundamentos_...cumuladores.htm

Saludos

mjesun:
para arreglarlo, basta con que cambies el valor del > 0 del while por > 1. de esa manera cuando intvalor valga 0, ya no se volvera a ejecutar.

saludos, miguel

Navegación

[0] Índice de Mensajes

Ir a la versión completa