ESTRUCTURAS DE REPETICIÓN - mtovar.cs.buap.mxmtovar.cs.buap.mx/doc/estrep.pdf · En equipo de 4...
-
Upload
hoangtuyen -
Category
Documents
-
view
230 -
download
0
Transcript of ESTRUCTURAS DE REPETICIÓN - mtovar.cs.buap.mxmtovar.cs.buap.mx/doc/estrep.pdf · En equipo de 4...
Estructuras de repetición
n Repetir:n Ejecutar una instrucción o conjunto de
instrucciones y luego regresar y ejecutarla (s) una y otra vez hasta terminar la tarea.
AREA PROGRAMACIÓN 2
una y otra vez hasta terminar la tarea.
Aplicaciones
La introducción de muchos datos.
La clasificación periódica de una gran colección de datos.
AREA PROGRAMACIÓN 3
colección de datos.
Aplicaciones
n La búsqueda de un dato en una gran colección.
n Fórmulas científicas que sólo se pueden calcular por aproximaciones sucesivas.
AREA PROGRAMACIÓN 4
calcular por aproximaciones sucesivas.
Mecanismos de iteración
1. Para todos los valores de la progresión.
2. Mientras se valida una condición.
AREA PROGRAMACIÓN 5
3. Repetir- hasta que se satisfaga una condición.
PARA
n Es usado cuando se conoce de antemano, el número de veces que debe repetirse una instrucción o conjunto de ellas.
AREA PROGRAMACIÓN 6
PARA
n Los valores de la progresión deben ser asignados a una variable, la cual sedenomina variable de control.
AREA PROGRAMACIÓN 7
Variables contadorasn Se usan para contar, por lo tanto deben ser
de tipo entero. n Ejemplo: Variable de control en un Ciclo
Para.
AREA PROGRAMACIÓN 8
Para.
Variables acumuladoras
n La función de una variable acumuladora es almacenar valores numéricos que generalmente se Suman (o multiplican) en cada iteración.
AREA PROGRAMACIÓN 9
cada iteración. n La variable debe ser de tipo entero o real.
Variables bandera
n Utilizada dentro de la condición de un ciclo, para determinar cuándo un Ciclo se sigue iterando o cuando no.
AREA PROGRAMACIÓN 10
n Debe ser de tipo booleano o entero.
Para
<variable=<valor_ inicial> Valor_final>[incremento <valor_incremento> | Decremento <valor_decremento>]
AREA PROGRAMACIÓN 11
<bloque_de_instrucciones>
SINO
Pseudo código
n Para <Variable de control> <valor_inicial> hasta <valor_final> hacer
acción 1...
AREA PROGRAMACIÓN 12
...acción n
Fin_para
Ejemplo: Imprime los primeros 10 números naturales
SI Contador =1 hasta 10incremento 1
Inicio
AREA PROGRAMACIÓN 13
NO
incremento 1
Fin
Contador
Pseudo código
n Nombre del algoritmo: Numeros_del_1_al_10
Variables: contador Tipo enteroInicio
Para contador ← 1 hasta 10 incremento 1 Hacerimprimir( contador)
AREA PROGRAMACIÓN 14
imprimir( contador) Fin_para
Fin
Traza (Prueba de escritorio)
Secuencia: Acción (instrucción):
Valor de: contador
1 contador ← 1 1
2 (Comprobar si contador es menor o igual que 10 ) 1
contador sí es menor o igual que 10. Inicio de la iteración 1.
3 imprimir contador 1
Fin de la iteración 1.
4 (Sumar a contador el valor 1 ) 2
5 (Comprobar si contador es menor o igual que 10 ) 2
contador sí es menor o igual que 10. Inicio de la iteración 2.
AREA PROGRAMACIÓN 15
Inicio de la iteración 2.
6 Imprimir contador 2
Fin de la iteración 2.
...
n-3 (Comprobar si contador es menor o igual que 10 ) 10
contador sí es menor o igual que 10. Inicio de la iteración 10.
n-2 Imprimir( contador ) 10
Fin de la iteración 10.
n-1 (Sumar a contador el valor 1 ) 11
n (Comprobar si contador es menor o igual que 10 ) 11
contador no es menor o igual que 10.
El bucle finaliza después de 10 iteraciones.
Ejemplo: Suma los números pares de 0..100
SI par =0hasta 100
Inicio
suma=0
AREA PROGRAMACIÓN 16
NO
hasta 100incremento 2
Fin
suma=suma+par
suma
Pseudo código
n Nombre del algoritmo: Suma_Pares_del_0_al_100
Variables: suma, par Tipo enteroInicio
suma 0
AREA PROGRAMACIÓN 17
Para par ← 0 hasta 100 incremento 2 Hacer
suma ← suma + parFin_paraimprimir( suma)
Fin
Práctica: Equipo de 4
Diseña el Diagrama de flujo y pseudo código para los siguientes ejercicios
AREA PROGRAMACIÓN 18
siguientes ejercicios
Ejercicios
1.Generar los primeros n números pares.2.Generar los primeros n números
primos.3. Obtener el factorial de un número N.
AREA PROGRAMACIÓN 19
3. Obtener el factorial de un número N.4.Obtener los primeros N números de la
serie de Fibonacci.5.Sumar los cuadrados de los primeros N
números naturales.6.La sumatoria ∑
=
n
x
x1
Mientras
n Ejecuta un bloque de instrucciones, mientrasuna expresión lógica dada se cumpla.
AREA PROGRAMACIÓN 20
Mientras
n Si la condición se cumple, el bloque se ejecuta, después, la condición se vuelve a evaluar.
n Si la condición se evalúa la primera vez
AREA PROGRAMACIÓN 21
n Si la condición se evalúa la primera vez como falsa, el bloque de instrucciones no será ejecutado.
Diagrama de Flujo
Mientras<expresión_lógica>
SI
AREA PROGRAMACIÓN 22
<expresión_lógica>
<bloque_de_instrucciones>NO
Pseudo código
Mientras (<expresión_lógica> )<bloque_de_instrucciones>
Fin_mientras
AREA PROGRAMACIÓN 23
Fin_mientras
Ejemplo: Escribe los primeros 10 números enteros
Mientras contador<=10
Inicio
contador=1
No
AREA PROGRAMACIÓN 24
SI
contador<=10
contador=contador+1
Fin
Contador
Pseudo código
Nombre del algoritmo: Serie_del_1_al_10Variables: contador Tipo enteroInicio
contador 1Mientras (contador <= 10)
AREA PROGRAMACIÓN 25
Mientras (contador <= 10) imprimir (contador)contador contador + 1
Fin_mientrasfin
Traza (Prueba de escritorio)Secuencia: Acción (instrucción):
Valor de:contador
1 Contador ← 1 1
2 (Comprobar si contador <= 10) 1
La condición es verdadera.Inicio de la iteración 1.
3 Imprimir( contador ) 1
4 contador ← contador + 1 2
AREA PROGRAMACIÓN 26
4 contador ← contador + 1 2
Fin de la iteración 1.
5 (Comprobar si contador <= 10) 2
La condición es verdadera.Inicio de la iteración 2.
6 Imprimir( contador ) 2
7 contador ← contador + 1 3
Fin de la iteración 2.
...
n-3 (Comprobar si contador <= 10) 10
La condición es verdadera.Inicio de la iteración 10.
n-2 Imprimir( contador ) 10
AREA PROGRAMACIÓN 27
n-2 Imprimir( contador ) 10
n-1 contador ← contador + 1 11
Fin de la iteración 10.
n (Comprobar si contador <= 10) 11
La condición es falsa.El bucle finaliza después de 10 iteraciones.
Ejemplo: Suma los números pares de 0..100
SI
Inicio
suma=0par= 0
Mientras suma=suma+par
AREA PROGRAMACIÓN 28
SI
NO
Fin
par=par+2
Mientras par<=100suma=suma+par
suma
Pseudo código
n Nombre del algoritmo: Suma_Pares_del_0_al_100Variables: suma,par Tipo enteroInicio
par=0suma =0Mientras (par <=100)
AREA PROGRAMACIÓN 29
Mientras (par <=100) suma ← suma + parpar=par+2
Fin_mientrasimprimir(suma)
Fin
Práctica
n De forma individual analiza los siguientes algoritmos y de ser necesario corrige los errores.
n Debes identificar las tres partes para cada
AREA PROGRAMACIÓN 30
n Debes identificar las tres partes para cada ciclo de repetición:q Inicioq Actualización de la variable de controlq Fin(condicional)
Ejercicio 1: Escribe los primeros 10 enteros Nombre del algoritmo: Ciclo?
Variables: contador Tipo enteroInicio
contador ← 10 Mientras ( contador <= 10 )
AREA PROGRAMACIÓN 31
Mientras ( contador <= 10 )imprimir( contador )contador ← contador - 1
Fin_mientrasFin
Ejercicio 2: Escribe los primeros 10 enteros
Nombre del algoritmo: Imprime?Variables: contador Tipo enteroInicio
contador ← 1Mientras ( contador >= 1 )
AREA PROGRAMACIÓN 32
Mientras ( contador >= 1 )imprimir( contador )contador ← contador - 1
Fin_mientrasFin
Ejercicio 3: Escribe los primeros 10 enteros
Nombre del algoritmo: Ciclo ?Variables: contador Tipo enteroInicio
contador ← 10 Mientras ( contador >= 1 )
AREA PROGRAMACIÓN 33
Mientras ( contador >= 1 )imprimir( contador )
Fin_mientrasFin
Práctica: en equipo de 4
Diseña el Diagrama de flujo y Pseudo código para los siguientes ejercicios.
AREA PROGRAMACIÓN 34
siguientes ejercicios.
Ejercicios
1. Determinar si un número dado X es múltiplo de otro número dado Y.
2. Determinar los dos números pares más próximos entre los que se encuentra un número entero X dado.
3. Leer N números y obtener el promedio solo de los números pares de la lista.
AREA PROGRAMACIÓN 35
números pares de la lista.4. Introducir un conjunto de M números, determinar la
cantidad de números positivos y negativos del conjunto.
5. La sumatoria ∑=
n
x
x1
Hacer..Mientras
n Se ejecuta el bloque de instrucciones y después se evalúa la condición.
AREA PROGRAMACIÓN 36
Hacer..Mientras
n Si es verdadera, se vuelve a ejecutar el bloque de instrucciones.
n Y así sucesivamente, hasta que, la
AREA PROGRAMACIÓN 37
n Y así sucesivamente, hasta que, la condición sea falsa.
Ejemplo: Escribe los primeros 10 números enteros
Inicio
contador=1
Contador
AREA PROGRAMACIÓN 40
SI Mientras contador<=10
contador=contador+1
Fin
No
Pseudo código
Nombre del algoritmo: Números_del_1_al_10Variables: contador Tipo enteroInicio
contador ← 1 /* Inicialización del contador */Hacer
imprimir ( contador ) /* Salida */
AREA PROGRAMACIÓN 41
imprimir ( contador ) /* Salida */contador ← contador + 1 /* Incremento */
Mientras ( contador <= 10 ) /* Condición */Fin
Traza (Prueba de escritorio)
Secuencia: Acción (instrucción):Valor de:contador
1 contador ← 1 1
Inicio de la iteración 1.
2 Imprimir( contador ) 1
3 contador ← contador + 1 2
AREA PROGRAMACIÓN 42
Fin de la iteración 1.
4 (Comprobar si contador <= 10) 2
La condición es verdadera.Inicio de la iteración 2.
5 Imprimir( contador ) 2
6 contador ← contador + 1 3
Fin de la iteración 2.
...
n-3 (Comprobar si contador <= 10) 10
La condición es verdadera.
AREA PROGRAMACIÓN 43
Inicio de la iteración 10.
n-2 Imprimir( contador ) 10
n-1 contador ← contador + 1 11
Fin de la iteración 10.
n (Comprobar si contador <= 10) 11
La condición es falsa.El bucle finaliza después de 10 iteraciones.
Práctica
En equipo de 4 diseña el Diagrama de flujo y Pseudo código para los siguientes
AREA PROGRAMACIÓN 44
código para los siguientes ejercicios
Ejercicios
1.Obtener el máximo y el mínimo de n números.
2.Realizar la suma de dos números con incrementos de 1.
3.Realizar la resta de dos números con
AREA PROGRAMACIÓN 45
3.Realizar la resta de dos números con decrementos de 1
4.Realizar la multiplicación de dos números con sumas sucesivas.
5.Realizar la división de dos números con restas sucesivas.
6.La sumatoria ∑=
n
x
x1