Upload
elmer-hdez-sanz
View
336
Download
2
Embed Size (px)
Citation preview
UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll
11
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”).
ESTRUCTURAS REPETITIVAS
UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll
22
ESTRUCTURA Desde/para (“FOR”).
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
ESTRUCTURAS MIENTRAS Ó HACER
MIENTRAS (WHILE Ó DOWHILE)
Verdadero
Falsa Condición
Acciones
UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll
33
Hacer mientras <condición>
<acciones>
Fin Mientras
While <condición>
<acciones>
End while
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.
UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll
44
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.
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:
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.
UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll
55
1. El valor inicial.
2. El valor final.
3. El operador relacional utilizado para comparar la terminación del bucle.
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
UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll
66
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.
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
ESTRUCTURAS DESDE/PARA
(FOR...NEXT)
V = Vi hasta Vf [inc/dec] [pasos]
Acciones
UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll
77
Desde V = Vi hasta Vf hacer <acciones> Fin desde (V)
Desde V = Vi hasta Vf Inc/Dec pasos hacer <acciones> Fin desde (V)
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
UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll
88
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.
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.
UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll
99
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.
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
UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll
1100
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
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
UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll
1111
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. 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.
UUnniiddaadd IIIIII EEssttrruuccttuurraass ddee CCoonnttrrooll
1122
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.