La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

LSI1 Bucles o Estructura repetitivas. LSI2 Motivación n Necesidad de ejecutar una sentencia o grupo de sentencias más de una vez (o repetidas veces) n.

Presentaciones similares


Presentación del tema: "LSI1 Bucles o Estructura repetitivas. LSI2 Motivación n Necesidad de ejecutar una sentencia o grupo de sentencias más de una vez (o repetidas veces) n."— Transcripción de la presentación:

1 LSI1 Bucles o Estructura repetitivas

2 LSI2 Motivación n Necesidad de ejecutar una sentencia o grupo de sentencias más de una vez (o repetidas veces) n Limitación hasta ahora sólo podemos ejecutar las sentencias 0/1 vez (inicio a fin) n ¿Cómo se puede construir un programa que muestre por pantalla los numeros de 1 a 1 millón sin perder la paciencia?

3 LSI3 Motivación n En ocasiones, un programa necesita repetir una acción –hasta que se cumpla una condición –o un número conocido de veces. Ejemplo hasta condición: Diseña un programa que dado un número nos muestr la cantidad de dígitos que tiene dicho número: ejecuta dig=dig+1 hasta (num \ 10=0)

4 LSI4 Motivación n En ocasiones, un programa necesita repetir una acción –hasta que se cumpla una condición –un número conocido de veces. Ejemplo número conocido: Calcular la nota media de un alumno: (N1+N2)/2 Calcular la nota media de los alumnos de mecanica: (Repetir 100 veces)

5 LSI5 For (nº de repeticiones es conocido) for = to [step exp] next [ ] n cogerá los valores de valor_inicial hasta valor_final n step exp donde exp es el valor que se incrementa /decrementa cada vez que se ejecuta next NOTA! Los valores del indice los cambia el for automaticamente con la instrucción next. El programador nunca debe manipular el valor del indice!!!!!

6 LSI6 For. Tipos: To y DownTo n To Dim i As integer for i = 1 to 10 step 1 MsgBox(i) next i n DowTo for i = 10 to 1 step -1 MsgBox(i) next i Nota: La variable indice no se debe manipular!!!

7 LSI7 Diagrama de flujo:for (to) Inicio i<=10(*) Escribir (i) Fin no si i = 1(*) i=i+1(*)

8 LSI8 Diagrama de flujo:for (down to) Inicio i>=1(*) Escribir (i) Fin no si i = 10 (*) i=i -1(*)

9 LSI9 While (nº de repeticiones no se conoce previamente) while (condicion) wend n Evaluar la condición –Si el resultado es falso, acaba y sigue con la instrucción siguiente al wend –Si el resultado es verdadero, entonces ejecuta el conjunto de instrucciones que componen el cuerpo del while

10 LSI10 While. Ejemplo Dim rdo As Long Dim dig As Long rdo = InputBox("introduce un número") dig = 1 rdo = rdo \ 10 While (rdo <> 0) dig = dig + 1 rdo = rdo \ 10 Wend MsgBox (dig)

11 LSI11 Diagrama de flujo:while Inicio rdo <> 0(*) Escribe(dig) Fin no si dig = 1 rdo=rdo\10 Escribe ("Introduce un número") Lee rdo rdo Long dig Long dig = dig + 1 rdo = rdo \ 10

12 LSI12 Do..Loop (nº de repeticiones no se conoce previamente) Do Loop [{While/Until} condicion] n Evaluar la condición –Se ejecuta la primera vez el grupo_de_sentecias antes de ver si cumple o no la condición. –Mientras la condición dada sea cierta o hasta que la condición dada sea cierta, realiza el grupo_de_sentencias del Do-Loop.

13 LSI13 Do.. Loop Until. Ejemplo Dim rdo As Long Dim dig As Long rdo = InputBox("introduce un número") dig = 0 Do dig = dig + 1 rdo = rdo \ 10 Loop Until rdo=0 MsgBox (dig)

14 LSI14 Diagrama de flujo:Do..Loop Until Inicio rdo = 0(*) Escribe(dig) Fin no si dig =0 rdo=rdo\10 Escribe ("Introduce un número") Lee rdo rdo Long dig Long dig = dig + 1 rdo = rdo \ 10 si

15 LSI15 Do.. Loop While. Ejemplo Dim rdo As Long Dim dig As Long rdo = InputBox("introduce un número") dig = 0 Do dig = dig + 1 rdo = rdo \ 10 Loop While rdo<>0 MsgBox (dig)

16 LSI16 Diagrama de flujo:Do... LoopWhile Inicio rdo <> 0(*) Escribe(dig) Fin si dig =0 rdo=rdo\10 Escribe ("Introduce un número") Lee rdo rdo Long dig Long dig = dig + 1 rdo = rdo \ 10 no


Descargar ppt "LSI1 Bucles o Estructura repetitivas. LSI2 Motivación n Necesidad de ejecutar una sentencia o grupo de sentencias más de una vez (o repetidas veces) n."

Presentaciones similares


Anuncios Google