Professional Documents
Culture Documents
Actividad de Aprendizaje N 03
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
SENTENCIAS DE CONTROL
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.
Solucin:
Sean las Variables Sueldo, horasdia
IF horasdia<=8 THEN
Sueldo=50
ELSE
Sueldo=50+(horasdia-8)*1.50%*(50/8)
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
{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.
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.
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
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.
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
Ejemplo 2: Estas sentencias dejan de incrementar B en cuanto el contador sea mayor que 15:
integer A=0, B=0, Contador
AUTOEVALUACION
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.