This repository has been archived by the owner on Nov 17, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
USO_VAR_88.cbl
129 lines (119 loc) · 4.86 KB
/
USO_VAR_88.cbl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
*ESTA DIVISION EL PROGRAMA LO INTERPRETA COMO COMENTARIO
IDENTIFICATION DIVISION.
PROGRAM-ID. EDUC3002.
AUTHOR. DIANA SALGUERO.
*ESTA DIVISION ES EL HEADER
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
*ESTA DIVISION ES PARA DECLARAR VARIABLES
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WKS-REGISTRO.
02 WKS-CAMPO1 PIC X(01) VALUE ZEROES.
02 FILLER PIC X(01) VALUE ZEROES.
02 WKS-CAMPO2 PIC X(01) VALUE ZEROES.
02 FILLER PIC X(01) VALUE ZEROES.
02 WKS-CAMPO3 PIC X(01) VALUE ZEROES.
02 FILLER PIC X(01) VALUE ZEROES.
02 WKS-CAMPO4 PIC X(01) VALUE ZEROES.
02 FILLER PIC X(01) VALUE ZEROES.
02 WKS-CAMPO5 PIC X(01) VALUE ZEROES.
02 FILLER PIC X(01) VALUE ZEROES.
01 WKS-REGISTRO2.
02 WKS-CAMPO PIC X(01) OCCURS 5.
88 WKS-LETRA2 VALUE "A" THRU "I"
"J" THRU "S"
"T" THRU "Z".
88 WKS-VOCAL2 VALUE "A" "E" "I" "0" "U".
88 WKS-NUMERO2 VALUE "0" THRU "9".
88 WKS-PAR2 VALUE "0" "2" "4" "6" "8".
88 WKS-IMPAR2 VALUE "1" "3" "5" "7" "9".
01 WKS-CAMPOS-DE-TRABAJO.
02 WKS-EVALUADOR PIC X(01).
88 WKS-LETRA1 VALUE "A" THRU "I"
"J" THRU "S"
"T" THRU "Z".
88 WKS-VOCAL1 VALUE "A" "E" "I" "0" "U".
88 WKS-NUMERO1 VALUE "0" THRU "9".
88 WKS-PAR1 VALUE "0" "2" "4" "6" "8".
88 WKS-IMPAR1 VALUE "1" "3" "5" "7" "9".
01 WKS-X PIC 9(01) VALUE ZEROES.
*AQUI INICIA EL PROCESO DEL PROGRAMA PARA EVALUAR DATOS
PROCEDURE DIVISION.
*SECCION PRINCIPAL
000-INICIO-MAIN SECTION.
ACCEPT WKS-REGISTRO FROM SYSIN
MOVE 1 TO WKS-X
MOVE WKS-CAMPO1 TO WKS-EVALUADOR
PERFORM 010-INICIO-EVALUACION1
MOVE 2 TO WKS-X
MOVE WKS-CAMPO2 TO WKS-EVALUADOR
PERFORM 010-INICIO-EVALUACION1
MOVE 3 TO WKS-X
MOVE WKS-CAMPO3 TO WKS-EVALUADOR
PERFORM 010-INICIO-EVALUACION1
MOVE 4 TO WKS-X
MOVE WKS-CAMPO4 TO WKS-EVALUADOR
PERFORM 010-INICIO-EVALUACION1
MOVE 5 TO WKS-X
MOVE WKS-CAMPO5 TO WKS-EVALUADOR
PERFORM 010-INICIO-EVALUACION1
PERFORM 030-INICIO-MENSAJE
ACCEPT WKS-REGISTRO2 FROM SYSIN
MOVE 0 TO WKS-X
PERFORM 020-INICIO-EVALUACION2 UNTIL WKS-X = 5
STOP RUN.
000-MAIN-E. EXIT.
010-INICIO-EVALUACION1.
IF WKS-LETRA1
DISPLAY "CAMPO " WKS-X ": " WKS-EVALUADOR " ES ALFABETICO"
IF WKS-VOCAL1
DISPLAY "CAMPO " WKS-X ": " WKS-EVALUADOR " ES VOCAL"
ELSE
DISPLAY "CAMPO " WKS-X ": " WKS-EVALUADOR
" ES CONSONANTE"
END-IF
ELSE
IF WKS-NUMERO1
DISPLAY "CAMPO " WKS-X ": " WKS-EVALUADOR
" ES NUMERICO"
IF WKS-PAR1
DISPLAY "CAMPO " WKS-X ": " WKS-EVALUADOR " ES PAR"
ELSE
DISPLAY "CAMPO " WKS-X ": " WKS-EVALUADOR
" ES IMPAR"
END-IF
END-IF
END-IF.
010-EVALUACION1-E. EXIT.
030-INICIO-MENSAJE.
DISPLAY " ".
DISPLAY "SECCION DE LA SEGUNDA FORMA".
DISPLAY " ".
010-MENSAJE-E. EXIT.
020-INICIO-EVALUACION2.
ADD 1 TO WKS-X.
IF WKS-LETRA2(WKS-X)
DISPLAY "CAMPO " WKS-X ": " WKS-CAMPO(WKS-X)
" ES ALFABETICO"
IF WKS-VOCAL2(WKS-X)
DISPLAY "CAMPO " WKS-X ": " WKS-CAMPO(WKS-X)
" ES VOCAL"
ELSE
DISPLAY "CAMPO " WKS-X ": " WKS-CAMPO(WKS-X)
" ES CONSONANTE"
END-IF
ELSE
IF WKS-NUMERO2(WKS-X)
DISPLAY "CAMPO " WKS-X ": " WKS-CAMPO(WKS-X)
" ES NUMERICO"
IF WKS-PAR2(WKS-X)
DISPLAY "CAMPO " WKS-X ": " WKS-CAMPO(WKS-X)
" ES PAR"
ELSE
DISPLAY "CAMPO " WKS-X ": " WKS-CAMPO(WKS-X)
" ES IMPAR"
END-IF
END-IF
END-IF.
010-EVALUACION2-E. EXIT.