3- estructuras repetitivas.pdf

11
Unidad III Estructuras de Control ESTRUCTURAS REPETITIVAS CONCEPTOS BÁSICOS 1. BUCLES (LAZO). El bucle o lazo (ciclo) es un segmento de un algoritmo o programa, cuyas instrucciones se repiten un número determinado de veces mientras se cumple una determinada condición específica. 2. CONTADORES. Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad fija (incremento) en cada interacción. 3. ACUMULADORES. Un acumulador es una variable cuya misión es almacenar cantidades variables resultantes de sumas sucesivas. 4. INTERRUPTORES (SWITCHES) O (CONMUTADORES) Es un campo de memoria que pueden tomar dos valores inclusivos (0 y 1, Falso y cierto). TIPOS: ESTRUCTURA Mientras / Hacer mientras (“WHILE”). ESTRUCTURA Desde/para (“FOR”). Ing. Ruth Figueroa de Flores 1

Upload: bernabeherrera

Post on 03-Jan-2016

539 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 3- Estructuras Repetitivas.pdf

UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll

ESTRUCTURAS REPETITIVAS

CONCEPTOS BÁSICOS

1. BUCLES (LAZO). El bucle o lazo (ciclo) es un segmento de un algoritmo o programa, cuyas instrucciones se repiten un número determinado de veces mientras se cumple una determinada condición específica.

2. CONTADORES. Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad fija (incremento) en cada interacción.

3. ACUMULADORES. Un acumulador es una variable cuya misión es almacenar cantidades variables resultantes de sumas sucesivas.

4. INTERRUPTORES (SWITCHES) O (CONMUTADORES) Es un campo de memoria que pueden tomar dos valores inclusivos (0 y 1, Falso y cierto).

TIPOS:

ESTRUCTURA Mientras / Hacer mientras (“WHILE”). ESTRUCTURA Desde/para (“FOR”).

IInngg.. RRuutthh FFiigguueerrooaa ddee FFlloorreess 11

Page 2: 3- Estructuras Repetitivas.pdf

UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll

DEFINICIÓN:

La estructura repetitiva While ( Mientras / Hacer mientras) es aquella en que el cuerpo del bucle se repite mientras se cumple una determinada condición.

PRESENTACIÓN GRÁFICA:

DIAGRAMA DE FLUJO

PSEUDOCÓDIGO EN ESPAÑOL PSEUDOCÓDIGO EN INGLÉS

Hacer mientras <condición> <acciones>

Fin Mientras

While <condición> <acciones>

End while

Verdadero

Falsa Condición

Acciones

ESTRUCTURAS MIENTRAS Ó HACER

MIENTRAS (WHILE Ó DOWHILE)

IInngg.. RRuutthh FFiigguueerrooaa ddee FFlloorreess 22

Page 3: 3- Estructuras Repetitivas.pdf

UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll

IInngg.. RRuutthh FFiigguueerrooaa ddee FFlloorreess 33

REGLAS DE FUNCIONAMIENTO

1. La condición (expresión lógica) se evalúa antes y después de cada

ejecución del bucle. Si condición es verdadera se ejecuta el bucle, y si

es falsa, el control pasa a la sentencia siguiente al bucle.

2. Si la condición se evalúa a falso cuando se ejecuta el bucle por primera

vez, el cuerpo del bucle no se ejecutará nunca. En este caso se dice que

el bucle se ha ejecutado cero veces.

3. Mientras la condición sea verdadera el bucle se ejecutará. Esto significa

que el bucle se ejecutará indefinidamente a menos que “algo” en el

interior del bucle modifique la condición haciendo que su valor pase a

falso. Si la expresión nunca cambia de valor, entonces el bucle no

termina nunca y se denomina bucle infinito o sin fin.

PRECAUSIONES:

1. La condición lógica en un bucle WHILE debe tener un valor la primera vez

que se evalúa: en caso contrario, el programa abortará (se detendrá) al

ejecutarse WHILE.

2. La condición lógica en un bucle WHILE debe ser modificada por una

sentencia en el cuerpo del bucle; en caso contrario, el bucle es infinito.

3. Es posible que el cuerpo del bucle no se ejecute nunca. Esto sucederá si

la condición lógica es falsa la primera vez que se evalúa.

MÉTODOS :

Existen dos métodos para controlar o terminar un bucle:

1. Bucles controlado por contador (bucle de conteo)

2. Bucle controlado por condición.

Page 4: 3- Estructuras Repetitivas.pdf

UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll

IInngg.. RRuutthh FFiigguueerrooaa ddee FFlloorreess

1. BUCLES CONTROLADO POR CONTADOR (BUCLE DE CONTEO) Un bucle controlado por contador es un bucle cuyas iteraciones se

controlan por una variable cuyo valor representa a un contador. El mecanismo

utilizado es una variable de control del bucle que actúa cono contador.

UN BUCLE CONTROLADO POR CONTADOR CONSTA DE TRES PARTES, ADEMÁS DEL CUERPO Y DE LA CONDICIÓN DE SALIDA:

Inicialización de la variable de control del bucle.

Comprobación del valor de la variable de control del bucle.

Incrementa del valor de la variable del control del bucle.

EL FORMATO DE ESTE BUCLE ES:

1. Establecer variable contador a un valor inicial 2. Hacer mientras variable de contador < valor final

Procesos . . .

Incremento variable contador en 1 3. Fin mientras

EN EL USO DEL CONTADOR SE DEBE TENER EN CUENTA AL MENOS TRES FACTORES:

1. El valor inicial.

2. El valor final.

3. El operador relacional utilizado para

comparar la terminación del bucle.

NOTA: Se utiliza un bucle controlado por contador cuando se puede con antelación cuántas iteraciones se deben ejecutar exactamente. Cada vez que el cuerpo de un bucle se ejecuta, el valor del contador se incrementa.

44

Page 5: 3- Estructuras Repetitivas.pdf

UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll

IInngg.. RRuutthh FFiigguueerrooaa ddee FFlloorreess 55

2. BUCLE CONTROLADO POR CONDICIÓN.

Los bucles condicionales o controlados por condición se utilizan

cuando no se sabe, a prioridad, el número exacto de iteraciones a

realizar.

EXISTEN DIFERENTES TÉCNICAS PARA REALIZAR EL CONTROL DEL BUCLE.

1. Solicitar al usuario la condición del bucle. Este método consiste simplemente en pedir al usuario si existen

más entradas.

2. valor centinela.

Una centinela es un valor especial utilizado para señalar el final

de una lista de datos. El valor elegido debe ser totalmente

distinto de los posibles valores de la lista para que se pueda

utilizar para señalar el final de la lista.

3. Uso de banderas o interruptores.

Una bandera o interruptor (flag) es una variable lógica que se

utiliza para conservar el estado (verdadero o falso) de una

condición Se denomina bandera o interruptor por asociarse a un

interruptor (incendido/apagado) o a una bandera (arriba/abajo).

El valor del interruptor debe inicializarse antes de comenzar el

bucle y debe cambiar su estado (valor) dentro del cuerpo del

bucle.

Page 6: 3- Estructuras Repetitivas.pdf

UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll

DEFINICIÓN:

La estructura repetitiva FOR (DESDE) es aquella en el que el número de iteraciones se conoce por anticipado y por ello no se precisa poner ninguna condición de salida para detener el bucle. En su lugar, un contador cuenta el número de iteraciones fijas y se termina cuando llega al valor final.

PRESENTACIÓN GRÁFICA:

DIAGRAMA DE FLUJO

PSEUDOCÓDIGO EN ESPAÑOL Desde V = Vi hasta Vf hacer <acciones> Fin desde (V) Desde V = Vi hasta Vf Inc/Dec pasos hacer <acciones> Fin desde (V)

V = Vi hasta Vf [inc/dec] [pasos]

Acciones

ESTRUCTURAS DESDE/PARA (FOR...NEXT)

IInngg.. RRuutthh FFiigguueerrooaa ddee FFlloorreess 66

Page 7: 3- Estructuras Repetitivas.pdf

UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll

IInngg.. RRuutthh FFiigguueerrooaa ddee FFlloorreess 77

For . . . Next. (Visual Basic.NET)

PSEUDOCÓDIGO EN INGLÉS For <variable contador> = <valor inicio> to <Valor final> do

Código por ejecutar Next <variable contador>

For <variable contador> = <valor inicio> to <Valor final> Step <valor incremento> Código por ejecutar

Next <variable contador>

Incluir la variable de contador después de la instrucción Next final es opcional.

Pero ayuda a determinar a cuál bucle For pertenece, además de que es una

buena práctica de programación. LA VARIABLE CONTADOR.

La variable de contador se incrementa en cada ciclo del bucle, desde el

valor inicial hasta el final. Cuando se alcanza el valor final, el bucle finaliza su

ejecución y el programa continúa con la línea que siga a la instrucción Next.

USO DEL STEP PARA ESTABLECER UN INCREMENTO. Especifica el monto del incremento. Puede agregar, a continuación del valor

final de la instrucción For, el modificador Step <valor de incremento>, y la

variable de contador se incrementará de acuerdo con el valor que haya

establecido.

Una característica interesante y útil de la opción Step en el bucle For, es la de

poder moverse en sentido inverso en un rango de valores.

Page 8: 3- Estructuras Repetitivas.pdf

UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll

IInngg.. RRuutthh FFiigguueerrooaa ddee FFlloorreess 88

REGLAS DE FUNCIONAMIENTO:

1. La variable índice (variable de contador) es una variable de tipo entero.

2. Antes de la primera ejecución del bucle, a la variable de control se

asigna el valor inicial.

3. La última ejecución del bucle normalmente ocurre cuando la variable de control es igual al valor final.

4. Si el valor inicial de la variable de contador es menor que el valor

final los incrementos deben de ser positivos, caso contrario las acciones no se ejecutarían.

5. Si el valor inicial es mayor que el valor final tiene que existir un

decremento; o sea un incremento negativo.

6. Las variables de control, valor inicial y valor final deben ser todas del mismo tipo, pero, el tipo real no está permitido. Los valores iniciales y finales pueden ser tanto expresiones como constantes.

7. Cuando se utiliza la palabra to, la variable de control se incrementa

en cada iteración. Si se utiliza downto, la variable se decremento.

8. Es ilegal intentar modificar el valor de la variable de control, el valor inicial y el valor final dentro del bucle.

9. El valor de la variable de control se queda indefinido cuando se

termina el bucle.

Page 9: 3- Estructuras Repetitivas.pdf

UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll

IInngg.. RRuutthh FFiigguueerrooaa ddee FFlloorreess 99

EJEMPLO Nº 1. Programa y Pseudocódigo que imprima cinco veces “HOLA” empleando la instrucción Desde/Para – For ...Next.

Visual Basic.NET Pseudocódigo

Dim intcontador As Integer For intcontador = 1 to 10 System.Console.WriteLIne (“HOLA”) Next intcontador

Inicio Var Entera: intcontador // Controla el ciclo. Desde intcontador = 1 hasta 10 Escribir “HOLA” Fin desde intcontador Fin

EJEMPLO Nº 2 .

Programa y Pseudocódigo que imprima los seis primeros números impares, empleando la instrucción Desde/Para – For ...Next.

Visual Basic.NET Pseudocódigo

Dim intcontador As Integer For intcontador = 1 to 11 Step 2 System.Console.WriteLIne (intcontador) Next intcontador

Inicio Var Entera: intcontador // Controla el ciclo. Desde intcontador = 1 hasta 11 inc 2 Imprimir (intcontador) Fin desde intcontador Fin

EJEMPLO Nº 3 .

Pseudocódigo que Imprimir la tabla de multiplicar de cualquier número.

Pseudocódigo Algoritmo Tabla // Imprimir la tabla de multiplicar de cualquier número Inicio Var Entera: N // representa el número de la tabla a imprimir. K // contador. Representa la variable de control del ciclo Desde k = 1 hasta 9 Imprimir N, “*”,K , “=”, N * K Fin desde K

Fin

Page 10: 3- Estructuras Repetitivas.pdf

UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll

IInngg.. RRuutthh FFiigguueerrooaa ddee FFlloorreess 1100

PROBLEMAS DE ESTRUCTURAS REPETITIVAS DESDE/PARA 1. Calcule la suma de los números pares comprendidos entre 10 y 50. 2. Calcule la suma de los cuadrados y cubos de los N primeros números naturales. Además, calcule

la media de estos N primeros números naturales. 3. Imprima todas las tablas de multiplicar (números 1 al 9).

4. Calcular el factorial de un número menor que 8. Recuerda por ejemplo 4! = 4*3*2*1. 5. Imprima el rango de números (6 . . . –9) brincando de 3 en 3. 6. Sumar los números pares del 2 al 100 e imprimir su valor.

7. Calcular la media de 50 números e impresión del resultado.

8. Calcular los múltiplos de 4 comprendidos entre 4 y N, donde N es un valor introducido por el

teclado.

9. Se desea calcular independientemente la suma de los números pares e impares comprendidos entre 1 y 200.

10. Calcular la tablas de multiplicar mediante bucles anidados desde.

11. Imprimir los números del 1 al 10, sus cuadrados y sus cubos, en forma de tablas.

12. Calcule el promedio de calificaciones parciales de cada uno de los alumnos de un grupo de 5,

sabiendo que existen tres periodos parciales. 13. Imprima las parejas de valores.

1 1 1 2 2 1 2 2 3 1 3 2

14. Una compañía de seguros tiene contratados a n vendedores, cada uno de los cuales hace tres

ventas a la semana. Su política de pago es que un vendedor recibe un sueldo base, más un 10% extra por comisiones de sus ventas. El gerente de la compañía desea saber cuánto dinero obtendrá en la semana cada vendedor por concepto de comisiones por las tres ventas realizadas, y cuánto tomando en cuanta su sueldo base y sus comisiones.

15. En una empresa se requiere calcular el salario semanal de cada uno de los n obreros que laboran

en ella. El salario se obtiene de la siguiente manera: Si el obrero trabaja 40 horas o menos se le paga $ 4 por hora. Si el obrero trabaja más de 40 horas se le paga $4 por cada una de las primeras 40 horas y

$6 por cada hora extra.

Page 11: 3- Estructuras Repetitivas.pdf

UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll

IInngg.. RRuutthh FFiigguueerrooaa ddee FFlloorreess 1111

16. Determinar cuántos hombres y cuántas mujeres se encuentran en un grupo de n personas, suponiendo que los datos son extraídos alumno por alumno.

17. Obtener el promedio de calificaciones de un grupo de n alumnos. 18. El departamento de Seguridad Pública y Tránsito del D.F., desea saber: de n autos que entran a

la ciudad de El Salvador cuántos entran con calcomanía de cada color. Conociendo el último dígito de la placa de cada automóvil se puede determinar el color de la calcomanía utilizando la siguiente relación:

Dígito Color

1 Ó 2 Amarilla 3 Ó 4 Rosa 5 Ó 6 Roja 7 Ó 8 Verde 9 Ó 0 Azul

19. Una persona desea invertir en un banco, el cual le otorga un 2% de interés mensual sobre la

cantidad invertida. ¿Cuál será la cantidad de dinero que tendrá luego de un año si la ganancia de cada mes es reinvertida?.

20. Calcule el promedio de edades de hombre, mujeres y de todo un grupo de n alumnos. 21. Una persona debe realizar un muestreo de 200 personas para determinar el promedio de peso

de los niños, jóvenes, adultos y ancianos que existen en su zona habitacional. Para ello, conforme va encontrando a las personas, introduce los datos a su computadora, la cual mediante un programa , las clasifica y despliega los cuatro promedios que la persona requiere.

Categoría Edad

Niños 0 - 12 Jóvenes 13 - 29 Adultos 30 - 59

Ancianos 60 - Adelante 22. Encontrar el menor valor de un conjunto de n números dados. 23. Encontrar el mayor valor de un conjunto de n números dados.

24. Dado un número determinar si es primo o no.

25. Leer 50 calificaciones de un grupo de alumnos. Calcule y escriba el porcentaje de reprobados.

Tomando en cuenta que la calificación mínima aprobatoria es de 70. 26. El profesor de una materia desea conocer la cantidad de sus alumnos que no tienen derecho al

examen de nivelación. Diseñe un algoritmo que lea las calificaciones obtenidas en 5 materias por cada uno de los 40 alumnos y escriba la cantidad de ellos que no tienen derecho al examen de nivelación.