45
ESTRUCTURAS DE AREA PROGRAMACIÓN 1 REPETICIÓN

ESTRUCTURAS DE REPETICIÓN - mtovar.cs.buap.mxmtovar.cs.buap.mx/doc/estrep.pdf · En equipo de 4 diseña el Diagrama de flujo y Pseudo código para los siguientes AREA PROGRAMACIÓN

Embed Size (px)

Citation preview

ESTRUCTURASDE

AREA PROGRAMACIÓN 1

DE REPETICIÓN

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.

Diagrama de Flujo

<bloque_de_instrucciones>

AREA PROGRAMACIÓN 38

<expresión_lógica>SI

NO

Pseudo código

Hacer<bloque_de_instrucciones>

Mientras(<expresión_lógica> )

AREA PROGRAMACIÓN 39

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