SlideShare una empresa de Scribd logo
1 de 30
SUBRUTINAS &
CASE
PROFESORA PABÓN
TESI 1112
OBJETIVOS
 Conocer y comprender otra estructura de programación: Case
 Conocer y entender el concepto de subrutinas
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.
Control 0000
Enter Sales
Commissio
n
Print
Commissio
n
END
Commission
Sale >
500
Commission =
Sale * .15
Commission = 0
EXIT
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
EJERCICIOS PRÁCTICA- SUBRUTINAS
PROCESSSTART READ
READ
Process
Output
Read
Nombre
Hrs_Trab
Rate
RETURN
OUTPUT
Print
Name
Salary
Salary =
Hrs_Trab * Rate
RETURNRETURN
END
EJERCICIOS PRÁCTICA- SUBRUTINAS
Realice un programa utilizando subrutinas
que indique la nota que un estudiante
tiene en la clase de Lógica de
Programación
Start
Promedi
o
Read
Nom_Est
Promedio
Promedio
Prom
>=
100
Pro
m
>=
80
Pro
m
>=
70
Pro
m
>=
60
Return
Nota=
A
Nota=
B
Nota=
C
Nota=F
Nota=
D
Print
Nom_Est
Promedi
o
END
NO
NO
NO
NO YES
YES
YES
YES
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.
Start
Read
Nom_Est
Num_Est
Tot_Cre_Mat
Cla_Est
Matricula
Print
Nom_Est
Num_Est
Pag_Cre
Pag_Tot_Ma
t
END
Matricula
If
Cal_Est=
Mat_Ho
n
Or
At
Pag_Cre=0
Pag_Tot_Mat=
Pag_Cre + 25
RETURN
Pag_Cre=
Tot_Cre_Mat *
110
NO YES
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.
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
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
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
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.
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
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
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.
Insurance
Deduction
Case of
MedCode
MedDeduction
=0
MedDeduction
=4.65
MedDeduction
=7.85
MedDeduction
=5.50
Error
Return
MedCode = “F” MedCode = “B”
MedCode = “K” MedCode = “E”
Otherwise
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.
PayCal
Case of
PayCode
Pay= Rate * Hours
Pay= Rate *
NoPices
Pay=
Commission *
Sales
Pay = Salary
Process
Error
RETURN
PayCode = “H” PayCode = “P” PayCode = “C” PayCode = “S” Otherwise
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.
Star
Read
Nom_Est
Nota_EX1
Nota_EX2
Nota_LAB
Process
Beca
END
Process
Beca
Promedio_Ponderado
Nota_EX1 +
Nota_EX2 +
Nota_LAB / 3
Return
Case 1
>=80
Case
2
>=79
“Error”
Return
“Aprobado,
derecho a Beca
completa”
“Aprobado,
derecho a media
beca”
“Desaporbado,
no tiene
derecho a baca”
Print
Nom_Est
Beca
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
Dias_Retraso
If
Dia_Retraso
<=59
If
Dia_Retras
o <=89
If
Dia_Retraso
<=89
Cant_Tot_Pag=
Cant_Bol * 0
Cant_Tot_Pag=
Cant_Bol * .10
Cant_Tot_Pag=
Cant_Bol * 25
YES
YES
YES
NO
NO
NO
RETURN
If
Dia_Retras
o <=119
Cant_Tot_Pag=
Cant_Bol * 50
Cant_Tot_Pag=
Cant_Bol * 25
Start
Nom_Deudor
Cantidad_Boleto
Can_Tot_Pag
Dias_Retras
o
Read
Nom_Deudor
Cantidad_Boleto
Dias_Retraso
END
Start
Nom_Deudor
Cantidad_Boleto
Can_Tot_Pag
Dias_Retras
o
Read
Nom_Deudor
Cantidad_Boleto
Dias_Retraso
END
Dias_Retraso
Case of
Dias_Retraso
= ?
Cant_Bol
* 0
Cant_Bol
* .10
Cant_Bol
* .25
Cant_Bol
* .25
Cant_Bol
* 100
RETURN
Code_Retraso = “1”
Code_Retraso = “2”
Code_Retraso = “3”
Code_Retraso = “4”
Code_Retraso = “5”
Code_Retraso = “1” Code_Retraso = “2”
Code_Retraso = “3” Code_Retraso = “4” Code_Retraso = “5”
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%
Impuesto
Count_Record=
0
Sum_Imp = 0
Read
Nom_pag_Im
p
Valor_Prop
Cod_Imp
Impuest
o
Print
Nom_pag_Imp
Valor_Prop
Cod_Imp
Count_Record
Sum_Imp
Read
Record
While
Recor
d <> 0
Case of
Cod_Imp
=1
Imp_Pag=
Valo_Prop * .02
Display
“Error,
entre un
numero
del 1 al
3”
Imp_Pag=
Valo_Prop * .04
Imp_Pag=
Valo_Prop * .05
Count_Record=
Count_Record
+1
Sum_Imp=
Sum_Imp +
Imp
Read
Record
Case of
Cod_Imp
=1
Case of
Cod_Imp
=1
Start
Tot_Record =
Count_Record
Tot_Imp
=
Sum_Imp
RETURN
END

Más contenido relacionado

Similar a Subrutinas, case y cálculo de impuestos

Ejercicios+de+programacion.
Ejercicios+de+programacion.Ejercicios+de+programacion.
Ejercicios+de+programacion.MARTO3000
 
FACTORES DE PAGO UNICO-.pptx
FACTORES DE PAGO UNICO-.pptxFACTORES DE PAGO UNICO-.pptx
FACTORES DE PAGO UNICO-.pptxBrahyanMesias
 
Estructura de selección, ciclo y contador (counter)
Estructura de selección, ciclo y contador (counter)Estructura de selección, ciclo y contador (counter)
Estructura de selección, ciclo y contador (counter)Karla Pabón Vallejo
 
Practicas sencillas para C#
Practicas sencillas para C# Practicas sencillas para C#
Practicas sencillas para C# saydo2007
 
Rol de pagos
Rol de pagosRol de pagos
Rol de pagoseugenia25
 
Presentación manual hojas de calculo en Excel para calificaciones
Presentación manual hojas de calculo en Excel  para calificacionesPresentación manual hojas de calculo en Excel  para calificaciones
Presentación manual hojas de calculo en Excel para calificacionescatalinabenavidez
 
Ejercicios_de_diagramas_de_fluj.pdf
Ejercicios_de_diagramas_de_fluj.pdfEjercicios_de_diagramas_de_fluj.pdf
Ejercicios_de_diagramas_de_fluj.pdfJaimeGmezCarmona
 
Laboratorio basicoalgoritmiaf
Laboratorio basicoalgoritmiafLaboratorio basicoalgoritmiaf
Laboratorio basicoalgoritmiafWILSON RAMOS
 
INTRODUCCIÓN ADSI - PARTE 3
INTRODUCCIÓN ADSI - PARTE 3INTRODUCCIÓN ADSI - PARTE 3
INTRODUCCIÓN ADSI - PARTE 3thefasp10
 
Desarrollo de logica de programacion unidades de 2.3 a 2.5
Desarrollo de logica de programacion unidades de 2.3 a 2.5Desarrollo de logica de programacion unidades de 2.3 a 2.5
Desarrollo de logica de programacion unidades de 2.3 a 2.5Miguel Martinez
 
Tarea 3 Parcial 1 (ACT. DE APRENDIZAJE 1,2,3,5,7 Y 8 DEL BLOQUEII)
Tarea 3 Parcial 1 (ACT. DE APRENDIZAJE 1,2,3,5,7 Y 8 DEL BLOQUEII)Tarea 3 Parcial 1 (ACT. DE APRENDIZAJE 1,2,3,5,7 Y 8 DEL BLOQUEII)
Tarea 3 Parcial 1 (ACT. DE APRENDIZAJE 1,2,3,5,7 Y 8 DEL BLOQUEII)EmmanuelJesusCobaCue
 
Uso De La Calculadora
Uso De La CalculadoraUso De La Calculadora
Uso De La Calculadoraguest2c4ae83
 

Similar a Subrutinas, case y cálculo de impuestos (20)

Algoritmo en informática
Algoritmo en informáticaAlgoritmo en informática
Algoritmo en informática
 
Ejercicios+de+programacion.
Ejercicios+de+programacion.Ejercicios+de+programacion.
Ejercicios+de+programacion.
 
FACTORES DE PAGO UNICO-.pptx
FACTORES DE PAGO UNICO-.pptxFACTORES DE PAGO UNICO-.pptx
FACTORES DE PAGO UNICO-.pptx
 
Ayudantia 4 de junio
Ayudantia 4 de junioAyudantia 4 de junio
Ayudantia 4 de junio
 
Algoritmos secuenciales resueldos
Algoritmos  secuenciales resueldosAlgoritmos  secuenciales resueldos
Algoritmos secuenciales resueldos
 
Estructuras Secuenciales - Sullin Santaella
Estructuras Secuenciales - Sullin SantaellaEstructuras Secuenciales - Sullin Santaella
Estructuras Secuenciales - Sullin Santaella
 
Estructura de selección, ciclo y contador (counter)
Estructura de selección, ciclo y contador (counter)Estructura de selección, ciclo y contador (counter)
Estructura de selección, ciclo y contador (counter)
 
Practicas sencillas para C#
Practicas sencillas para C# Practicas sencillas para C#
Practicas sencillas para C#
 
Rol de pagos
Rol de pagosRol de pagos
Rol de pagos
 
Presentación manual hojas de calculo en Excel para calificaciones
Presentación manual hojas de calculo en Excel  para calificacionesPresentación manual hojas de calculo en Excel  para calificaciones
Presentación manual hojas de calculo en Excel para calificaciones
 
Fundamentos de Programacion - Unidad 2 Algoritmos
Fundamentos de Programacion - Unidad 2 AlgoritmosFundamentos de Programacion - Unidad 2 Algoritmos
Fundamentos de Programacion - Unidad 2 Algoritmos
 
Ejercicios_de_diagramas_de_fluj.pdf
Ejercicios_de_diagramas_de_fluj.pdfEjercicios_de_diagramas_de_fluj.pdf
Ejercicios_de_diagramas_de_fluj.pdf
 
Laboratorio basicoalgoritmiaf
Laboratorio basicoalgoritmiafLaboratorio basicoalgoritmiaf
Laboratorio basicoalgoritmiaf
 
INTRODUCCIÓN ADSI - PARTE 3
INTRODUCCIÓN ADSI - PARTE 3INTRODUCCIÓN ADSI - PARTE 3
INTRODUCCIÓN ADSI - PARTE 3
 
Desarrollo de logica de programacion unidades de 2.3 a 2.5
Desarrollo de logica de programacion unidades de 2.3 a 2.5Desarrollo de logica de programacion unidades de 2.3 a 2.5
Desarrollo de logica de programacion unidades de 2.3 a 2.5
 
Tarea 3 Parcial 1 (ACT. DE APRENDIZAJE 1,2,3,5,7 Y 8 DEL BLOQUEII)
Tarea 3 Parcial 1 (ACT. DE APRENDIZAJE 1,2,3,5,7 Y 8 DEL BLOQUEII)Tarea 3 Parcial 1 (ACT. DE APRENDIZAJE 1,2,3,5,7 Y 8 DEL BLOQUEII)
Tarea 3 Parcial 1 (ACT. DE APRENDIZAJE 1,2,3,5,7 Y 8 DEL BLOQUEII)
 
Ejercicios programacion 2019
Ejercicios programacion 2019Ejercicios programacion 2019
Ejercicios programacion 2019
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Uso De La Calculadora
Uso De La CalculadoraUso De La Calculadora
Uso De La Calculadora
 
Estructuras
EstructurasEstructuras
Estructuras
 

Más de Karla Pabón Vallejo

Más de Karla Pabón Vallejo (8)

estructuras flujogramas
estructuras flujogramasestructuras flujogramas
estructuras flujogramas
 
variables, constantes, intro flujograma
variables, constantes, intro flujogramavariables, constantes, intro flujograma
variables, constantes, intro flujograma
 
Reconocimietno de los componentes de la compuadora
Reconocimietno de los componentes de la compuadoraReconocimietno de los componentes de la compuadora
Reconocimietno de los componentes de la compuadora
 
Modelo OSI
Modelo OSIModelo OSI
Modelo OSI
 
Terminación del cableado
Terminación del cableadoTerminación del cableado
Terminación del cableado
 
El cableado en la red
El cableado en la redEl cableado en la red
El cableado en la red
 
Uso básico de windows
Uso básico de windowsUso básico de windows
Uso básico de windows
 
Conociendo las computadoras
Conociendo las computadorasConociendo las computadoras
Conociendo las computadoras
 

Último

El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 

Último (20)

El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 

Subrutinas, case y cálculo de impuestos

  • 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.
  • 4. Control 0000 Enter Sales Commissio n Print Commissio n END Commission Sale > 500 Commission = Sale * .15 Commission = 0 EXIT
  • 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
  • 6. EJERCICIOS PRÁCTICA- SUBRUTINAS PROCESSSTART READ READ Process Output Read Nombre Hrs_Trab Rate RETURN OUTPUT Print Name Salary Salary = Hrs_Trab * Rate RETURNRETURN END
  • 7. EJERCICIOS PRÁCTICA- SUBRUTINAS Realice un programa utilizando subrutinas que indique la nota que un estudiante tiene en la clase de Lógica de Programación
  • 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.
  • 20.
  • 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.
  • 22. PayCal Case of PayCode Pay= Rate * Hours Pay= Rate * NoPices Pay= Commission * Sales Pay = Salary Process Error RETURN PayCode = “H” PayCode = “P” PayCode = “C” PayCode = “S” Otherwise
  • 23.
  • 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.
  • 25. Star Read Nom_Est Nota_EX1 Nota_EX2 Nota_LAB Process Beca END Process Beca Promedio_Ponderado Nota_EX1 + Nota_EX2 + Nota_LAB / 3 Return Case 1 >=80 Case 2 >=79 “Error” Return “Aprobado, derecho a Beca completa” “Aprobado, derecho a media beca” “Desaporbado, no tiene derecho a baca” Print Nom_Est Beca
  • 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
  • 27. Dias_Retraso If Dia_Retraso <=59 If Dia_Retras o <=89 If Dia_Retraso <=89 Cant_Tot_Pag= Cant_Bol * 0 Cant_Tot_Pag= Cant_Bol * .10 Cant_Tot_Pag= Cant_Bol * 25 YES YES YES NO NO NO RETURN If Dia_Retras o <=119 Cant_Tot_Pag= Cant_Bol * 50 Cant_Tot_Pag= Cant_Bol * 25 Start Nom_Deudor Cantidad_Boleto Can_Tot_Pag Dias_Retras o Read Nom_Deudor Cantidad_Boleto Dias_Retraso END
  • 28. Start Nom_Deudor Cantidad_Boleto Can_Tot_Pag Dias_Retras o Read Nom_Deudor Cantidad_Boleto Dias_Retraso END Dias_Retraso Case of Dias_Retraso = ? Cant_Bol * 0 Cant_Bol * .10 Cant_Bol * .25 Cant_Bol * .25 Cant_Bol * 100 RETURN Code_Retraso = “1” Code_Retraso = “2” Code_Retraso = “3” Code_Retraso = “4” Code_Retraso = “5” Code_Retraso = “1” Code_Retraso = “2” Code_Retraso = “3” Code_Retraso = “4” Code_Retraso = “5”
  • 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%
  • 30. Impuesto Count_Record= 0 Sum_Imp = 0 Read Nom_pag_Im p Valor_Prop Cod_Imp Impuest o Print Nom_pag_Imp Valor_Prop Cod_Imp Count_Record Sum_Imp Read Record While Recor d <> 0 Case of Cod_Imp =1 Imp_Pag= Valo_Prop * .02 Display “Error, entre un numero del 1 al 3” Imp_Pag= Valo_Prop * .04 Imp_Pag= Valo_Prop * .05 Count_Record= Count_Record +1 Sum_Imp= Sum_Imp + Imp Read Record Case of Cod_Imp =1 Case of Cod_Imp =1 Start Tot_Record = Count_Record Tot_Imp = Sum_Imp RETURN END