Cobol

 

Instrucciones: Escriba el programa en COBOL que calcule el campo Paga-out del archivo de salida si las horas trabajadas son mayores que cero. Debe entregar el código del programa (source) y un disco con el programa y los archivos de “input” y “output”. Utilice los siguientes datos:

 

1.    Nombre del programa: PROGRAMA1

2.    El archivo de entrada (input file) está  guardado en su disco con el nombre employee.txt   (A: EMPLOYEE.TXT), el nombre que usará en el programa (oración Select) es EMPLOYEE-IN, su record es estándar y el diseño del record del archivo es:

 

Campo

Tamaño

Comienza en

Termina en

Tipo

Decimal

Nombre-in

20

1

20

X

 

Seguro-Social-in

9

21

29

X

 

Salario-por-hora-in

5

30

34

9

2

Horas-trabajadas-in

2

35

36

9

0

Deducción-in

5

37

41

9

2

 

3.    El archivo de salida (output file) estará guardado en su disco con el nombre emp-pay.txt  (A:EMP-PAY.TXT), el nombre que usará en el programa (oración Select) es EMP-PAY-OUT, su record es estándar y el diseño del archivo es:

 

Campo

Tamaño

Comienza en

Termina en

Tipo

Decimal

Nombre-out

20

1

20

X

 

Seguro-social-out

9

21

29

X

 

Paga-out

8

30

37

9

2

 

El campo Paga-out se calcula multiplicando Salario-por-hora-in  por  Horas-trabajadas-in y restando el campo Deducción-in. Puede utilizar Calculate para realizar el cálculo de Paga-out. Si usa verbos aritméticos, en el Working-Storage Section incluya el campo Paga-total (vea ejemplo adelante) e incluya el indicador de fin de archivo (Hay-mas-records o EOF). Realice el cálculo para aquellos records donde el campo Horas-trabajadas-in sea mayor que cero. Ejemplo del cálculo:

 

El cálculo es:

            Paga-out  =  Salario-por-hora-in  X  Horas-trabajadas-in  -  Deducción-in

 

Para que se pueda codificar en COBOL con verbos aritméticos, es necesario añadir un campo intermedio en el Working-Storage Section (campo Paga-Total):

 

            Paga-Total  =  Salario-por-hora-in  X  Horas-trabajadas-in

            Paga-out  =  Paga-Total  -  Deducción-in

 

El archivo Employee.txt contiene los siguientes records:

 

Eddie Hernandez     555697718017004002050

Marinelva Roman     546852312015503002500

Armando Gonzalez    225587723010454201075

Javier Ortiz        478967730025000002935

Juan Valenzuela     578252316008503901500

Dalila Ramos        476362242009754200980

Francisco Lopez     556527717016254001369