Upload
bernabeherrera
View
539
Download
1
Embed Size (px)
Citation preview
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
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
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.
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
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.
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
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.
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.
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
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.
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.