La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Bucles o Estructura repetitivas

Presentaciones similares


Presentación del tema: "Bucles o Estructura repetitivas"— Transcripción de la presentación:

1 Bucles o Estructura repetitivas
LSI

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

3 Motivació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) LSI

4 Motivació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) LSI

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

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

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

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

9 While (nº de repeticiones no se conoce previamente)
while (condicion) <grupo_de_sentencias> wend 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 LSI

10 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 Wend MsgBox (dig) LSI

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

12 Do ..Loop (nº de repeticiones no se conoce previamente)
<grupo_de_sentencias> Loop [{While/Until} condicion] 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. LSI

13 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) LSI

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

15 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) LSI

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


Descargar ppt "Bucles o Estructura repetitivas"

Presentaciones similares


Anuncios Google