Está en la página 1de 8

Práctica final de Algoritmo Computacional

(presentar en DFD y manuscrito en el aula


B-203).
Práctica n. 3

En una amplia cartulina, construya el diagrama y escriba a mano el algoritmo


correspondiente al siguiente planteamiento (el algoritmo ya está escrito en la parte
final de esta tarea, sólo tiene que transcribirlo a mano al lado del diagrama, con su
planteamiento y su leyenda). (Los nombres de las variables deben permanecer
iguales)

PLANTEAMIENTO DEL PROBLEMA

Algoritmo y diagrama para un programa que ingrese desde teclado:

El código del empleado (cod)

El nombre del empleado (nom)

El sueldo del empleado (sb)

El día que inicio en la empresa (di)

El mes que inicio en la empresa (mi)

El año que inicio en la empresa (ai)

El día que salió (ds)

El mes que salió (ms)

El año que salió (as)

Determine el tiempo en la empresa:

Cuántos años tiene el empleado trabajando en la empresa (at)

Cuántos meses tiene el empleado trabajando en la empresa (mt) en fracción de un año


(el valor no debe ser negativo.

Cuántos días tiene el empleado trabajando en la empresa (dt) en fracción de un mes (el
valor no debe ser negativo.

Determine de acuerdo al código de trabajo:


1- Cuántos días le corresponden de cesantía por los años trabajados en la empresa (dca)

2- Los días de cesantía que le corresponden por los meses trabajados en fracción de un
año (dcm)

3- El pago de la cesantía (pce)

4- Los días de preaviso (dpr)

5- Pago de preaviso (ppr)

6- Días de vacaciones que le corresponden (dv)

7- El pago de las vacaciones (pv)

8- Pago de regalía pascual (rp)

9- El monto que se le debe pagar por sus prestaciones(mtlq)

10- Imprima un reporte detallado de las prestaciones.

Leyenda de las variables:


Cod Código del empleado
Nom Nombre del empleado
Sb Sueldo bruto del empleado
Di Día que inició el empleado en la empresa
Mi Mes que inició el empleado en la empresa
Ai Año que inició el empleado en la empresa
At Años que duró el empleado laborando en la empresa
Mt Meses que duró el empleado laborando en fracción de un año
Dt Días que duró el empleado laborando en fracción de un mes
Sd Es el salario diario (lo que gana el empleado en un día)
Dca Los días de cesantía que se les deben pagar por los años que duró en la
empresa
Dcm Los días de cesantía que se le deben pagar por los meses que duró en la
empresa (fracción de año)
tdce Es la suma de los días de cesantía que le corresponden por los años más los
días que le corresponden por los meses
pce Es el monto que se le debe pagar por la cesantía
Dv Días que le corresponden de vacaciones
Pv Pago de las vacaciones
Dpr Días que le corresponden de preaviso
Ppr Pago de preaviso
V Variable que confirma el pago de las vacaciones y el preaviso

Rp Regalía pascual

mtlq pago total de su liquidación o prestaciones


Algoritmo

1-Declare cod=0, nom=’ ‘, sb=0, di=0, mi=0, ai=0,ds=0, ms=0, as=0, dt=0, mt=0,
at=0, sd=0,dca=0, dcm=0, tdce=0, pce=0, dv=0, pv=0, dpr=0, ppr=0, rp=0,
mtlq=0, v=’ ‘

2-Llamar subprograma
ingresar_datos (cod,nom,sb,di,mi,ai,ds,ms,as,dt,mt,at,sd,dca,dcm,tdce,pce,dv,
pv,dpr,ppr,rp,mtlq,v)

3-Llamar subprograma
calcular_tiempo (cod,nom,sb,di,mi,ai,ds,ms,as,dt,mt,at,sd,dca,dcm,tdce,pce,d
v,pv,dpr,ppr,rp,mtlq,v)

4-Llamar subprograma
calcular_cesantia (cod,nom,sb,di,mi,ai,ds,ms,as,dt,mt,at,sd,dca,dcm,tdce,pce,
dv,pv,dpr,ppr,rp,mtlq,v)

5-Llamar subprograma
calcular_preaviso (cod,nom,sb,di,mi,ai,ds,ms,as,dt,mt,at,sd,dca,dcm,tdce,pce,
dv,pv,dpr,ppr,rp,mtlq,v)

6-Llamar subprograma
calcular_vacaciones (cod,nom,sb,di,mi,ai,ds,ms,as,dt,mt,at,sd,dca,dcm,tdce,p
ce,dv,pv,dpr,ppr,rp,mtlq,v)

7-Llamar subprograma
calcular_regalia_pascual (cod,nom,sb,di,mi,ai,ds,ms,as,dt,mt,at,sd,dca,dcm,t
dce,pce,dv,pv,dpr,ppr,rp,mtlq,v)

8-Llamar subprograma
imprimir_reporte_de_liquidación (cod,nom,sb,di,mi,ai,ds,ms,as,dt,mt,at,sd,dc
a,dcm,tdce,pce,dv,pv,dpr,ppr,rp,mtlq,v)

9-Finalizar programa

10 Crear subprograma
ingresar_datos (cod,nom,sb,di,mi,ai,ds,ms,as,dt,mt,at,sd,dca,dcm,tdce,pce,dv,
pv,dpr,ppr,rp,mtlq,v)

a.desplegar por pantalla ‘ingrese el código’

b.leer cod

c.desplegar por pantalla ‘ingrese el nombre’


d.leer nom

e.desplegar por pantalla ‘ingrese el sueldo bruto’

f.leer sb

g.desplegar por pantalla ‘ingrese el día que inició’

h.leer di

i.desplegar por pantalla ‘ingrese el mes que inició ‘

j.leer mi

k.desplegar por pantalla ‘ingrese el año que inició’

l.leer ai

m.desplegar por pantalla ‘ingrese el día que salió’

n.leer ds

o.desplegar por pantalla ‘ingrese el mes que salió’

p.leer ms

q.desplegar por pantalla ‘ingrese el año que salió ‘

r.leer as

Regrese

11Crear subprograma
calcular_tiempo (cod,nom,sb,di,mi,ai,ds,ms,as,dt,mt,at,sd,dca,dcm,tdce,pce,d
v,pv,dpr,ppr,rp,mtlq,v)

a.hacer dt=ds-di: mt=ms-mi: at=as-ai

b.si dt<0 entonces mt=mt-1: dt=dt+30

c.si mt<0 entonces at=at-1:mt=mt+12

d.si dt >=28 entonces mt=mt+1: dt=0

e.si mt=12 entonces at=at+1: mt=0

Regrese
1Crear subprograma
calcular_cesantía (cod,nom,sb,di,mi,ai,ds,ms,as,dt,mt,at,sd,dca,dcm,tdce,pce,
dv,pv,dpr,ppr,rp,mtlq,v)

a.si at>=5 entonces dca= at*23

b.si at>=1 and at<5 entonces dca= at*21

c.si mt >=6 entonces dcm=13

d.si mt>=3 and mt<6 entonces dcm=6

e.si mt<3 dcm=0

f.tdce=dca+dcm

g.sd=sb/23.83

h.pce=tdce*sd

Regrese

13Crear subprograma
calcular_preaviso (cod,nom,sb,di,mi,ai,ds,ms,as,dt,mt,at,sd,dca,dcm,tdce,pce,
dv,pv,dpr,ppr,rp,mtlq,v)

a.muestre en pantalla ‘¿Desea calcular el preaviso s/n ‘

b.leer v

c.si v=’S’ or v =’s’ entonces

si at >=1 entonces dpr=28

si at =0 and mt>=6 entonces dpr=14

si at=0 and mt>3 and mt<6 entonces dpr=7

si at =0 and mt <3 dpr=0

ppr =dpr*sd

Regrese

14Crear subprograma
calcular_vacaciones (cod,nom,sb,di,mi,ai,ds,ms,as,dt,mt,at,sd,dca,dcm,tdce,p
ce,dv,pv,dpr,ppr,rp,mtlq,v)

a.mostrar en pantalla ‘ ¿desea calcular las vacaciones s/n ?


b.leer v

c.si v= ‘s’ or v =’S’ entonces

si at >=5 entonces dv=18

si at>=1 and at<5 entonces dv=14

si at=0 and mt =11 entonces dv=12

si at=0 and mt =10 entonces dv=11

si at=0 and mt =9 entonces dv=10

si at=0 and mt =8 entonces dv=9

si at=0 and mt =7 entonces dv=8

si at=0 and mt =6 entonces dv=7

si at=0 and mt =5 entonces dv=6

si at=0 and mt<5 entonces dv=0

pv = sd*dv

Regrese

15Crear subprograma
calcular_regalia_pascual (cod,nom,sb,di,mi,ai,ds,ms,as,dt,mt,at,sd,dca,dcm,t
dce,pce,dv,pv,dpr,ppr,rp,mtlq,v)

rp=(sb/12)*ms

Regrese

16 Crear subprograma
imprimir_reporte_de_liquidadación(cod,nom,sb,di,mi,ai,ds,ms,as,cióndt,mt,at
,sd,dca,dcm,tdce,pce,dv,pv,dpr,ppr,rp,mtlq,v)

hacer mtlq =pce+ppr+pv+rp

Muestre en pantalla ‘codigo ‘, cod,’ nombre ‘,nom,’ sueldo bruto


‘,sb,’ años trabajados ‘,at,’ meses trabajados ‘,mt,’ días trabajados
‘,dt,’ días de cesantía por los años ‘,dca,’ días de cesantia por los
meses ‘dcm,’ pago por cesantia ‘,pce,’ días de preaviso ‘,dpr,’ días
de vacaciones ‘,dv,’ pago de vacaciones ‘,pv,’ regalía pascual ‘,rp,
‘ total a pagar de prestaciones ‘,mtlq

Regrese
PARA HACER LA PRUEBA DE ESCRITORIO EN DFD, UTILICE
LOS SIGUIENTES VALORES:

CODIGO 001

NOMBRE 'JOSE MIGUEL ANCIANO'

SUELDO BRUTO 100000

DIA INICIAL 01

MES INICIAL 06

AñO INICIAL 1991

DIA DE SALIDA 05

MES DE SALIDA 04

AñO DE SALIDA 2019

DESEAS CALCULAR PREAVISO DIGITE 'S'

DESEAS CALCULAR VACACIONES DIGITE 'S'

EL REPOTRE FINAL DEBE SER EL SIGUIENTE:

CODIGO 1

NOMBRE LUIS MIGUEL ANCIANO

SUELDO BRUTO 100,000

AñOS TRABAJADOS 27

MESES TRABAJADOS 10

DIAS TRABAJADOS 4

DIAS DE CESSANTIA POR LOS AñOS 621

DIAS DE CESANTIA POR LOS MESES 13


DIAS DE PREAVISO 28

DIAS DE VACACIONES 18

MONTO DE CESANTIA 2,650,511.96

PAGO DE PREAVISO 117,498.95

PAGO DE VACACIONES 333,333.33

TOTAL PRESTACIONES 2,886,879.28

SI LOS VALORES NO COINCIDEN REVISE SU


DIAGRAMA

También podría gustarte