You are on page 1of 11

Unidad III

Estructuras de Control

ESTRUCTURAS REPETITIVAS
CONCEPTOS BSICOS
1.

BUCLES (LAZO).
El bucle o lazo (ciclo) es un segmento de un algoritmo o programa, cuyas instrucciones se repiten un nmero

determinado de veces mientras se cumple una determinada condicin especfica.


2.

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

3.

ACUMULADORES.
Un acumulador es una variable cuya misin 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).


1

Ing. Ruth Figueroa de Flores

Unidad III

Estructuras de Control

ESTRUCTURAS MIENTRAS HACER MIENTRAS (WHILE DOWHILE) DEFINICIN:


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

PRESENTACIN GRFICA: DIAGRAMA DE FLUJO

Condicin
Verdadero

Falsa

Acciones

PSEUDOCDIGO EN ESPAOL

PSEUDOCDIGO EN INGLS

Hacer mientras <condicin> <acciones> Fin Mientras

While <condicin> <acciones> End while

Ing. Ruth Figueroa de Flores

Unidad III

Estructuras de Control

REGLAS DE FUNCIONAMIENTO
1. La condicin (expresin lgica) se evala antes y despus de cada ejecucin del bucle. Si condicin es verdadera se ejecuta el bucle, y si es falsa, el control pasa a la sentencia siguiente al bucle. 2. Si la condicin se evala 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 condicin 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 condicin haciendo que su valor pase a falso. Si la expresin nunca cambia de valor, entonces el bucle no termina nunca y se denomina bucle infinito o sin fin.

PRECAUSIONES:
1. La condicin lgica en un bucle WHILE debe tener un valor la primera vez que se evala: en caso contrario, el programa abortar (se detendr) al ejecutarse WHILE. 2. La condicin lgica 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 condicin lgica es falsa la primera vez que se evala.

MTODOS :
Existen dos mtodos para controlar o terminar un bucle: 1. 2. Bucles controlado por contador (bucle de conteo) Bucle controlado por condicin.
3

Ing. Ruth Figueroa de Flores

Unidad III

Estructuras de Control

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 acta cono contador.

UN BUCLE CONTROLADO POR CONTADOR CONSTA DE TRES PARTES, ADEMS DEL CUERPO Y DE LA CONDICIN DE SALIDA:
Inicializacin de la variable de control del bucle. Comprobacin 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 terminacin del bucle.

NOTA: Se utiliza un bucle controlado por contador cuando se puede con antelacin cuntas iteraciones se deben ejecutar exactamente.

Cada vez que el cuerpo de un bucle se ejecuta, el valor del contador se incrementa.

Ing. Ruth Figueroa de Flores

Unidad III

Estructuras de Control

2. BUCLE CONTROLADO POR CONDICIN.


Los bucles condicionales o controlados por condicin se utilizan cuando no se sabe, a prioridad, el nmero exacto de iteraciones a realizar. EXISTEN DIFERENTES TCNICAS PARA REALIZAR EL CONTROL DEL BUCLE. 1. Solicitar al usuario la condicin del bucle. Este mtodo consiste simplemente en pedir al usuario si existen ms entradas. 2. valor centinela. Una centinela es un valor especial utilizado para sealar 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 sealar el final de la lista. 3. Uso de banderas o interruptores. Una bandera o interruptor (flag) es una variable lgica que se utiliza para conservar el estado (verdadero o falso) de una condicin 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.
Ing. Ruth Figueroa de Flores

Unidad III

Estructuras de Control

ESTRUCTURAS DESDE/PARA (FOR...NEXT) DEFINICIN:


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

PRESENTACIN GRFICA:
DIAGRAMA DE FLUJO
V = Vi hasta Vf [inc/dec] [pasos]

Acciones

PSEUDOCDIGO EN ESPAOL

Desde V = Vi hasta Vf hacer <acciones> Fin desde (V) Desde V = Vi hasta Vf Inc/Dec pasos hacer <acciones> Fin desde (V)
Ing. Ruth Figueroa de Flores

Unidad III

Estructuras de Control

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


PSEUDOCDIGO EN INGLS For <variable contador> = <valor inicio> to <Valor final> do Cdigo por ejecutar Next <variable contador>
For <variable contador> = <valor inicio> to <Valor final> Step <valor incremento> Cdigo por ejecutar Next <variable contador>

Incluir la variable de contador despus de la instruccin Next final es opcional. Pero ayuda a determinar a cul bucle For pertenece, adems de que es una buena prctica de programacin.

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 ejecucin y el programa contina con la lnea que siga a la instruccin Next.

USO DEL STEP PARA ESTABLECER UN INCREMENTO.


Especifica el monto del incremento. Puede agregar, a continuacin del valor final de la instruccin For, el modificador Step <valor de incremento>, y la variable de contador se incrementar de acuerdo con el valor que haya establecido. Una caracterstica interesante y til de la opcin Step en el bucle For, es la de poder moverse en sentido inverso en un rango de valores.
Ing. Ruth Figueroa de Flores

Unidad III

Estructuras de Control

REGLAS DE FUNCIONAMIENTO:
1. La variable ndice (variable de contador)

es una variable de tipo

entero.
2. Antes de la primera ejecucin del bucle, a la variable de control se

asigna el valor inicial.


3. La ltima ejecucin 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 ejecutaran.
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 iteracin. 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.
Ing. Ruth Figueroa de Flores

Unidad III

Estructuras de Control

EJEMPLO N 1.
Programa y Pseudocdigo que imprima Desde/Para For ...Next. cinco veces HOLA empleando la instruccin

Visual Basic.NET Inicio Dim intcontador As Integer For intcontador = 1 to 10 System.Console.WriteLIne (HOLA) Next intcontador Fin Var

Pseudocdigo

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

EJEMPLO N 2 . Programa y Pseudocdigo que imprima los seis primeros nmeros impares, empleando la instruccin Desde/Para For ...Next.

Visual Basic.NET
Inicio Dim intcontador As Integer For intcontador = 1 to 11 Step 2 System.Console.WriteLIne (intcontador) Next intcontador Fin Var

Pseudocdigo

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

EJEMPLO N 3 . Pseudocdigo que Imprimir la tabla de multiplicar de cualquier nmero.

Pseudocdigo
Algoritmo Tabla // Imprimir la tabla de multiplicar de cualquier nmero Inicio Var Entera: N // representa el nmero 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
Ing. Ruth Figueroa de Flores

Unidad III

Estructuras de Control

PROBLEMAS DE ESTRUCTURAS REPETITIVAS DESDE/PARA


1. Calcule la suma de los nmeros pares comprendidos entre 10 y 50. 2. Calcule la suma de los cuadrados y cubos de los N primeros nmeros naturales. Adems, calcule

la media de estos N primeros nmeros naturales.


3. Imprima todas las tablas de multiplicar (nmeros 1 al 9). 4. Calcular el factorial de un nmero menor que 8. Recuerda por ejemplo 4! = 4*3*2*1. 5. Imprima el rango de nmeros (6 . . . 9) brincando de 3 en 3. 6. Sumar los nmeros pares del 2 al 100 e imprimir su valor. 7. Calcular la media de 50 nmeros e impresin del resultado. 8. Calcular los mltiplos 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 nmeros pares e impares comprendidos

entre 1 y 200.
10. Calcular la tablas de multiplicar mediante bucles anidados desde. 11. Imprimir los nmeros 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 2 2 3 3

1 2 1 2 1 2

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

ventas a la semana. Su poltica de pago es que un vendedor recibe un sueldo base, ms un 10% extra por comisiones de sus ventas. El gerente de la compaa desea saber cunto dinero obtendr en la semana cada vendedor por concepto de comisiones por las tres ventas realizadas, y cunto 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 ms de 40 horas se le paga $4 por cada una de las primeras 40 horas y $6 por cada hora extra.
Ing. Ruth Figueroa de Flores

10

Unidad III 16.

Estructuras de Control

Determinar cuntos hombres y cuntas mujeres se encuentran en un grupo de n personas, suponiendo que los datos son extrados alumno por alumno. Obtener el promedio de calificaciones de un grupo de n alumnos. El departamento de Seguridad Pblica y Trnsito del D.F., desea saber: de n autos que entran a la ciudad de El Salvador cuntos entran con calcomana de cada color. Conociendo el ltimo dgito de la placa de cada automvil se puede determinar el color de la calcomana utilizando la siguiente relacin:

17. 18.

Dgito
1 3 5 7 9 19. 2 4 6 8 0

Color
Amarilla Rosa Roja Verde Azul

Una persona desea invertir en un banco, el cual le otorga un 2% de inters mensual sobre la cantidad invertida. Cul ser la cantidad de dinero que tendr luego de un ao si la ganancia de cada mes es reinvertida?. Calcule el promedio de edades de hombre, mujeres y de todo un grupo de n alumnos. Una persona debe realizar un muestreo de 200 personas para determinar el promedio de peso de los nios, jvenes, 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. Categora
Nios Jvenes Adultos Ancianos 0 13 30 60

20. 21.

Edad
12 29 59 Adelante

22. 23. 24. 25.

Encontrar el menor valor de un conjunto de n nmeros dados. Encontrar el mayor valor de un conjunto de n nmeros dados. Dado un nmero determinar si es primo o no. Leer 50 calificaciones de un grupo de alumnos. Calcule y escriba el porcentaje de reprobados. Tomando en cuenta que la calificacin mnima aprobatoria es de 70. El profesor de una materia desea conocer la cantidad de sus alumnos que no tienen derecho al examen de nivelacin. Disee 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 nivelacin.

26.

Ing. Ruth Figueroa de Flores

11