You are on page 1of 7

Universidad Nacional del Santa Ingenieria de Sistemas e Informtica Computacin II

Actividad de Aprendizaje N 03

SENTENCIAS DE CONTROL DE PROGRAMAS

Objetivos:
Aplicar las sentencias de control apropiados en la solucin de problemas de programacin
Resolver programas haciendo uso de las sentencias de control.

Contenidos:
Sentencias de Control Simples y Mltiples.
1) IF <condicion> THEN ...... ELSE . . . ENDIF

2) ELSEIF

3) CHOOSE CASE. CASE ELSE . END CHOOSE.

Sentencias de Control Repetitivas.


1) For . To Next
2) Do While <condicion> Loop
3) Do .Loop While <condicin>
4) Do Until <condicion>.Loop
5) DoLoop Until <condicion>
Exit
Continue

SENTENCIAS DE CONTROL

A. Sentencias de control simples:


IF <condicin> THEN
{Bloque de sentencias condicin verdadera}
ELSE
{Bloque de sentencias condicin falsa}
END IF

Ejemplo:
El sueldo diario de un trabajado asciende a S/. 50 diarios si trabaja solo 8 horas diarias. Caso
contrario se le bonificara con el 50% por cada hora adicional de trabajo diario. Construir el bloque de
sentencias que permita calcular el sueldo diario del trabajador.

Introduccin a la Programacin -. Pg. 25 .- Mg. Carlos Eugenio Vega Moreno


en Power Builder.
Universidad Nacional del Santa Ingenieria de Sistemas e Informtica Computacin II

Solucin:
Sean las Variables Sueldo, horasdia
IF horasdia<=8 THEN
Sueldo=50
ELSE
Sueldo=50+(horasdia-8)*1.50%*(50/8)
END IF

B. Sentencias de control Mltiples:


ELSEIF: Es una estructura de control variante de la IF cuando hay ms de una condicin.
IF <condicin 1> THEN
{Bloque de sentencias si condicin 1 es verdadera}
ELSEIF <condicin 2> THEN
{Bloque de sentencias si condicin 2 es verdadera}
ELSE
{Bloque de sentencias si no se cumple condicin 1 y condicin 2}
END IF

Ejemplo:
Una empresa bonifica a sus empleados en funcin a sus nmeros de hijos:
Si el nmero de hijos es menor igual que 2 entonces se le bonifica con el 10% de su sueldo.
Si el nmero de hijos es menor igual que 4 entonces se le bonifica con el 15% de su sueldo. Y;
Si el nmero de hijos es mayor que 4 entonces se le bonifica con el 20% del sueldo.
Solucin:
Sean las variables Hijos, Bonificacin y Sueldo.
IF hijos<=2 THEN
Bonificacin= 10%*sueldo
ELSEIF hijos <=4 THEN
Bonificacin= 15%*sueldo
ELSE
Bonificacin= 20%*sueldo
END IF

CHOOSE CASE <expresion>


Evala opciones mltiples dependiendo del dato que tenga la expresin. Los bloques de sentencias
se ejecutaran solo si las opciones son verdaderas.
Su sintaxis es la siguiente:
CHOOSE CASE <expresion>
Case expresion1
{Bloque de sentencias 1}
Case expresion2

Introduccin a la Programacin -. Pg. 26 .- Mg. Carlos Eugenio Vega Moreno


en Power Builder.
Universidad Nacional del Santa Ingenieria de Sistemas e Informtica Computacin II

{Bloque de sentencias 2}
Case expresion3
{Bloque de sentencias 3}
...
Case expresin n
{Bloque de sentencias n}
CASE ELSE
{Bloque de sentencias si no se cumple ningn valor}
END CHOOSE

Ejemplo:
Dado la variable mensaje de tipo cadena. Evaluar un dato Edad y dependiendo de la Edad asignar
un mensaje apropiado como la siguiente:
Si edad >=60 entonces mensaje = Adulto Mayor
Si edad >=25 entonces mensaje = Adulto
Si edad >=18 entonces mensaje = Joven
Si edad >=14 entonces mensaje = Adolescente
Si edad >=9 entonces mensaje = Pubertad
Si edad >=6 entonces mensaje = Nio
Si edad >=0 entonces mensaje = Infante

Solucin:
Edad = 26
CHOOSE CASE edad
CASE is >=60
mensaje = AdultoMayor
CASE is >=25
mensaje = Adulto
CASE is >=18
mensaje = Joven
CASE is >=14
mensaje = Adolescente
CASE is >=9
mensaje = Pubertad
CASE is >=6
mensaje = Nio
CASE is >=0
mensaje = Infante
CASE ELSE
Mensaje =Edad No Valida
END CHOOSE
El mensaje al final de la evaluacin seria : Adulto.

Introduccin a la Programacin -. Pg. 27 .- Mg. Carlos Eugenio Vega Moreno


en Power Builder.
Universidad Nacional del Santa Ingenieria de Sistemas e Informtica Computacin II

C. Sentencias de control de Bucles.


FOR <contador = inicio> TO fin {STEP <incremento>
{Bloque se sentencias}
NEXT
El bloque de sentencias se repite hasta que el contador sea igual a fin.
Ejemplo1:
Hallar las suma de los 100 primeros nmeros naturales.
Solucin:
Sea i el contador y suma el acumulador donde se almacenara la suma.
Suma = 0
FOR i =1 TO 100
Suma = Suma + i
NEXT

Ejemplo2:
Hallar la suma de los n primeros nmeros impares.
Solucin:
Sea I contador de nmeros impares y J generador de impares.
J=1
Suma = 0
FOR I = 1 TO 100
Suma = Suma + J
J=J+2
NEXT

Ejemplo3:
Dado la matriz A de 200 elementos. Calcular la suma de todos los elementos que ocupan posicin
impar en la matriz.
Solucin:
Suma = 0
For I = 1 TO 200 STEP 2
Suma = Suma + A[I]
Next

DO WHILE <condicin>
{Bloque de sentencias si condicin es verdadera}
LOOP

DO
{Bloque de sentencias si condicin es verdadera}
LOOP WHILE <condicin>

Ejemplo:
Crear un arreglo en memoria llamado A para N elementos y rellenarlo con ceros.

Introduccin a la Programacin -. Pg. 28 .- Mg. Carlos Eugenio Vega Moreno


en Power Builder.
Universidad Nacional del Santa Ingenieria de Sistemas e Informtica Computacin II

Solucin 1: Usando Do...While


J=1
Do While J<=N
A[J] = 0
J=J+1
Loop

Solucin 2: Usando Do...Loop While.


J=1
Do
A[J]=0
J=J+1
Loop While J<=N

DO UNTIL <condicin>
{Bloque de sentencias si condicin es FALSA}
LOOP

DO
{Bloque de sentencias si condicin es FALSA}
LOOP UNTIL <condicin>

Ejemplo:
Crear una tabla en memoria para 200 elementos y rellenarlo con los primeros nmeros pares.
Solucin 1: Con Do Until....Loop
I=1
J=0
Do Until I > 200
J=J+2
A[I] = J
I=I+1
Loop

Solucin 2: Con Do Loop Until


I=1
J=0
Do
J=J+2
A[I] = J
I=I+1
Loop Until I>200

EXIT
La sentencia EXIT se puede utilizar en cualquier lugar de un bloque de sentencias. Esta sentencia
provoca que finalice la ejecucin del bloque de sentencias y de la Iteracin.

Introduccin a la Programacin -. Pg. 29 .- Mg. Carlos Eugenio Vega Moreno


en Power Builder.
Universidad Nacional del Santa Ingenieria de Sistemas e Informtica Computacin II

Integer A = 1
Integer contador = 0
Do While A < 20
If contador = 15 then Exit
Contador = contador + 1
A=A+1
Loop
// La sentencia Exit pasa el control aqu.
A=16

CONTINUE
Esta sentencia se utiliza dentro de un Do...Loop o For ... Next y pasa el control a la siguiente
sentencia Loop o siguiente Next.
Ejemplo1:
Estas sentencias despliegan una caja del mensaje dos veces: cuando B= 2 y cuando B= 3. en cuanto
B sea mayor que 3, la sentencia CONTINUE se salta a la sentencia Loop.
Solucin:
integer A=1, B=1

DO WHILE A < 100


A = A+1
B = B+1
IF B > 3 THEN CONTINUE
MessageBox("Hola", "B es " + String(B) )
LOOP

Ejemplo 2: Estas sentencias dejan de incrementar B en cuanto el contador sea mayor que 15:
integer A=0, B=0, Contador

FOR Contador = 1 to 100


A=A+1
IF Contador> 15 THEN CONTINUE
B=B+1
NEXT

// Se completa, A=100 y B=15.

Introduccin a la Programacin -. Pg. 30 .- Mg. Carlos Eugenio Vega Moreno


en Power Builder.
Universidad Nacional del Santa Ingenieria de Sistemas e Informtica Computacin II

AUTOEVALUACION

1. Teniendo en cuenta los conceptos dados en la presente actividad de aprendizaje y la actividad


N 01. Construir las secuencia de sentencias y diagrama de flujo que permitan solucionar los
siguientes problemas:

a) Dados tres nmeros deducir cual es el central.


b) Se desea leer las calificaciones de una clase de informtica y contar el nmero total de
aprobados (notas >=11).
c) Calcular el factorial de un nmero.
d) Un capital C se deposita a un tipo de inters compuesto R Al trmino de cuantos aos se
doblara?
e) Realizar un programa que ordene un array de 10 nmeros con el mtodo de la burbuja.

2. Desarrolle un programa que lea n nmeros lo almacene en una arreglo y luego determinar:
1. Cuntos estn entre el 50 y 75, ambos inclusive?
2. Cuntos mayores de 80?
3. Cuntos menores de 30?
Almacenar los datos en un control listbox segn al rango que corresponda.

Introduccin a la Programacin -. Pg. 31 .- Mg. Carlos Eugenio Vega Moreno


en Power Builder.

You might also like