2. OBJETIVOS
Conocer y comprender otra estructura de programación: Case
Conocer y entender el concepto de subrutinas
3. SUBRUTINA
Conjunto de instrucciones que se llaman desde un
programa principal
Process Module Name
Ejecuta las instrucciones
en el modulo nombrado
y luego regresa a ejecutar
la próxima instrucción.
5. EJERCICIOS PRÁCTICA- SUBRUTINAS
Realice un ejercicio en subrutinas que calcule el salario de
un empleado regular.
Los datos de entrada son nombre y horas trabajadas.
El informe deberá imprimir el nombre del empleado y el
salario
9. EJERCICIOS PRÁCTICA- SUBRUTINAS
Se necesita determinar el pago de matrícula de un estudiante. La entrada
consiste de: nombre del estudiante, numero de estudiante, Clasificación del
estudiante y cantidad de créditos matriculados. El informe debe presentar el
nombre del estudiante, el número de estudiante, el pago de créditos y el
pago total de matrícula. Para calcular el pago de créditos debe multiplicar el
total de créditos matriculados por $110.00 que es el costo por crédito. Antes
de calcular el pago de matrícula, debe determinar la clasificación del
estudiante. Si el estudiante pertenece al cuadro de honor O es atleta escriba
el pago de créditos será $0 y solo pagará la cuota de admisión. Si el
estudiante NO pertenece al cuadro de honor, ni es atleta proceda a calcular el
pago de matrícula. El pago total de matrícula será el pago de créditos más
veinticinco (25) dólares que son la cuota de la universidad.
11. LA ESTRUCTURA CASE
Puede usar la estructura case cuando hay varios valores
distintos posibles para una sola variable y cada valor
requiere una acción subsiguiente diferente.
Una estructura case prueba una sola variable contra
múltiples valores, proporcionando acciones separadas
para cada ruta lógica.
12. ESTRUCTURA CASE
SELECT CASE (Variable)
CASE (Valor 1)
Acción para el valor 1
CASE (Valor 2)
Acción para el valor 2
CASE (Valor 3)
Acción para el valor 3
CASE ELSE
acción en caso de que no se cumpla ninguno de los CASE anteriores
END SELECT
13. LA ESTRUCTURA CASE
Suponga que trabaja en una escuela donde la Matricula varía,
dependiendo de si un estudiante es de primer ingreso, de segundo
año, de tercero o de último.
El diagrama de flujo y el seudocódigo estructurados muestran una
serie de decisiones que asignan diferentes valores a Matricula
dependiendo del valor de Año.Valores:
Año 1, matricula 175
Año 2, matricula 150
Año 3, matricula 100
Ultimo año, matricula
60
14. Año =
1
Año =
3
Año =
2
Matricula = 100Matricula = 60
Matricula = 150
Matricula = 175
YES
YES
YES
NO
NO
NO
If Año = 1 then
Matricula = 175
Else
if Año = 2 then
Matricula = 150
Else
if Años = 3 then
Matricula = 100
Else
Matricula = 60
end if
end if
end if
Valores:
Año 1, matricula 175
Año 2, matricula 150
Año 3, matricula 100
Ultimo año, matricula 60
15. Case Año
1= matricula 175
2 = matricula 150
3 = matricula 100
Default: matricula = 60
End Case
Matricula = 175 Matricula = 150 Matricula = 100 Matricula = 60
Año = ?
1 2 3 Default
ino default significa si ninguno de los otros casos es verdadero el programa asumirá que el estudiante esta en su ultimo año.
16. EJEMPLOS
Utilizando la técnica CASE, realice un programa que
diga qué día de la semana es de acuerdo a números
dado a cada uno de estos días
17. Case Of Dias_Semana
1= Hoy es Lunes
2 = Hoy es martes
3 = Hoy es miercoles
4 = Hoy es jueves
5 = Hoy es Viernes
6 = Hoy es sabado
7= Hoy es domingo
Otherwise Process Error
End of Case
Exit
Dia de la
semana
= ?
Hoy es
doming
o
Hoy es
miercole
s
Hoy es
martes
Hoy es
Lunes
Hoy es
jueves
Hoy es
Viernes
Hoy es
sabado
Error
1 2 3 4 5 6 7
Process error
1. Case Of Dias_Semana
Dia de la Semana = 1
Hoy es Lunes
Dia de la Semana = 2
Hoy es martes
Dia de la Semana = 3
Hoy es miercoles
Dia de la Semana = 4
Hoy es jueves
Dia de la Semana = 5
Hoy es Viernes
Dia de la Semana = 6
Hoy es sabado
Dia de la Semana = 7
Hoy es domingo
End of Case
2. Exit
18. EJERCICIOS DE PRÁCTICA
Una compañía tiene cuatro diferentes planes médicos. El
programador ha dado un código a cada plan, el mismo corresponde
a la letra inicial del comienzo de la compañía.: Plan 1 = F, Plan 2 = B,
Plan 3 = K, Plan 4 = E.
La compañía paga completo para el plan 1. El individuo tiene que
pagar parte de los otros tipos de planes. La deducción de nomina
para el Plan 2 = 4.6, Plan 3 = 7.85 y para el Plan 4 = 5.50. Cualquier
otro código se considera un error Process Escriba el algoritmo,
seudocódigo y el flujograma para un modulo que determine la
deducción de la nomina.
21. Realice una subrutina utilizando la estructura CASE que
utilice un código que representará el tipo de pago para
calcular el salario de un empleado. Escriba el algoritmo y el
flujograma para un modulo que determine
Los Códigos son los siguientes:
H = Hourly pay = rate * hours
P = Piece work pay = rate * number of pieces
C = Commission pay = commission * sales
S = Salary pay = salary
Cualquier otro código se considera un error.
24. El siguiente programa tiene como fin verificar si un estudiante tiene
derecho o no a recibir una beca o media beca para un determinado
curso.
Los datos de entrada Nombre del estudiante, la nota del examen 1
(nota EX1), nota de examen 2 (nota EX2) y nota de laboratorios (nota
LAB), con estas notas obtendremos el resultado que es un promedio
ponderad. Dependiendo del resultado del calculo se determinaran 3
estados de salida, los cuales se muestran a continuación:
CASE 1: Si el resultado se ubica entre 0 a 69 el estado de beca será
DESAPROBADO.
CASE 2: Si el resultado se ubica entre 70 a 79 el estado será APROBADO
con derecho a media beca.
CASE 3: Si el resultado se ubica entre 80 a 100 el estado será
APROBADO con derecho a beca completa.
26. Realice un programa con estructura IF o estructura CASE que incluya al
menos una subrutina.
Un policía de tránsito debe establecer el porciento de pago de retraso que
pagará un deudor:
Si el deudor se ha retrasado de 1 a 29 días debe pagar 0 de retraso
Si el deudor se ha retrasado de 30 a 59 días debe pagar 10% de retraso
Si el deudor se ha retrasado de 60 a 89 días debe pagar 25% de retraso
Si el deudor se ha retrasado de 90 a 119 días debe pagar 50% de retraso
Si el deudor se ha retrasado de 120 o más días debe pagar 100% de
retraso
Para calcular el total del boleto a pagar debe multiplicar la cantidad del
boleto por el porciento de retraso según la cantidad de días atrasados
29. Asuma que cada record de entrada contiene el nombre del pagador de
impuestos, el valor de la propiedad personal y el código que define el tipo de
propiedad. Cada tipo de propiedad tiene un impuesto a una tasa única. Los
códigos, tipo de propiedad y las tasas de impuestos se muestran a
continuación.
El programa debe calcular el impuesto de cada propiedad. Si el usuario
entrara un código no establecido, deberá imprimir un mensaje que diga
“Error, entre un numero del 1 al 3” y la salida debe especificar el nombre del
pagador de impuestos, el valor de la propiedad personal y el impuesto a
pagar. Se procesará una cantidad indefinida de records. Al finalizar de
procesar todos los records se deberá presentar el total de record procesados
y el total de impuestos pagados por todas las propiedades
CÓDIGO TIPO DE PROPIEDAD TASA DE IMPUESTOS
1 BICICLETA 2%
2 CARRO 4%
3 CAMIÓN 5%