Descargar la presentación
La descarga está en progreso. Por favor, espere
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.