Vous êtes sur la page 1sur 31

COBOL

COmmon Business Oriented Language


Hierarquia de um programa COBOL:
1. PROGRAMA COBOL

1.1 DIVISION

1.1.1 SECTION

1.1.1.1 PARÁGRAPH

1.1.1.1.1 SENTENCE

1.1.1.1.1.1 STATEMENT
A escrita do COBOL deve obedecer algumas regras de posicionamento:

....|....1....|....2....|....3....|....4....|....5....|....6....|....7....|....80
....|....1....|....2....|....3....|....4....|....5....|....6....|....7....|....80

O que é permitido em cada coluna:

Colunas de 1 a 6: Área de numeração seqüencial


Coluna 7: Área de indicação * - comentário
- - continuação de linh
Colunas de 8 a 11: Área A divisões,
seções,
parágrafos e
declaração de variáveis
Colunas de 12 a 72: Área B comandos
O COBOL possui 4 divisões:

•Identification Division
•Environment Division
•Data Division
•Procedure Division
|
|
....|....1....|....2....|....3....|....4....|....5....|....6....|....7....|....80

IDENTIFICATION DIVISION.

PROGRAM-ID. nome-programa.
AUTHOR. autor.
|
....|....1....|....2....|....3....|....4....|....5....|....6....|....7....|....80

ENVIRONMENT DIVISION.

CONFIGURATION SECTION.
SPECIAL-NAMES.
DECIMAL POINT IS COMMA.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
|
....|....1....|....2....|....3....|....4....|....5....|....6....|....7....|....80

DATA DIVISION.

FILE SECTION.
WORKING-STORAGE SECTION.
|
....|....1....|....2....|....3....|....4....|....5....|....6....|....7....|....80

PROCEDURE DIVISION.

100-PARÁGRAFO-A.
comando
comando
comando.
200-PARAGRAFO-E.
comandos.
300-PARAGRAFO-I.
comandos
comandos.
400-PARÁGRAFO-O.
comando
comando
comando.
comandos
comandos.
Formação das palavras na linguagem COBOL

1. Não pode ser uma das palavras reservadas;

2. Deverá ter no máximo 30 caracteres;

3. Deverá ter no mínimo um caracter alfabético;

4. Deverá iniciar com um caracter alfabético.

5. Não poderá conter outros caracteres especiais.

6. Não pode começar ou terminar com um hífen ou número.


Operadores Aritméticos e lógicos no COBOL

1. ADD +;
2. SUBTRACT - ;
3. MULTIPLY * ;
4. DIVIDE / ;

5. GREATER THAN GT >;


6. LESS THAN <;
7. EQUAL =;
8. NOT EQUAL ;
9. NOT LESS THAN >=;
10. NOT GREATER THAN <=;
ENVIRONMENT DIVISION

CONFIGURATION SECTION
SPECIAL-NAMES. Decimal-point is comma.
ENVIRONMENT DIVISION

INPUT-OUTPUT SECTION
Descrição dos Dados

1. Registros Físicos e Registros Lógicos;

2. Estrutura de Dados;
3.1 Números de nível
3.2 Classe de dados / regras de alinhamento

4. Representação
4.1 Unicidade de referência
4.2 Subscrição e indexação
4.3 Nomes de condição
4.4 Itens de dados correspondentes
4.5 Modificação da referência

5. A cláusula PICTURE

6. A cláusula VALUE

7. A cláusula FILLER
Números de nível

Podem ser escritos de 01 até 49

Existem outros especiais números de nível:

77 – identifica ítem elementar de dados não contíguos.

88 – nomes de condição (variaveis booleanas)


sempre subordinado ao nível 77.
Números de Nível

É a forma de representação hierárquica dos dados

01 CADASTRO-CLIENTE.
02 NOME PIC X(30) VALUE SPACES.
02 ENDEREÇO PIC X(100) VALUE SPACES.
02 DATA-NASCIMENTO PIC 9(8) VALUE ZEROS.
02 RG PIC 9(20) VALUE ZEROS.
02 CPF PIC 9(11) VALUE ZEROS.
02 SEXO PIC X VALUE SPACES.

01 É O NÍVEL DE GRUPO .
02 É O NÍVEL ELEMENTAR.
Números de Nível

01 ENDEREÇO.
02 RUA PIC X(30) VALUE SPACES.
02 BAIRRO PIC X(20) VALUE SPACES.
02 CIDADE PIC X(20) VALUE SPACES.
02 ESTADO PIC XX VALUE SPACES.
02 PAIS PIC X(20) VALUE SPACES.
02 CEP PIC 9(8) VALUE ZEROS.

01 NÍVEL DE GRUPO 01 ENDEREÇO.


05 NÍVEL DE GRUPO. 05 RUA.
05 NIVEL ELEMENTAR. 10 LOGRADOURO PIC X(25) VALUE SPACES.
10 NÍVEL ELEMENTAR. 10 NUM PIC 9(5) VALUE SPACES.
05 BAIRRO PIC X(20) VALUE SPACES.
05 CIDADE PIC X(20) VALUE SPACES.
05 ESTADO PIC XX VALUE SPACES.
05 PAIS PIC X(20) VALUE SPACES.
05 CEP PIC 9(8) VALUE ZEROS.
Números de Nível

É a forma de representação hierárquica dos dados

77 TOT-CLIENTE PIC 9(5) VALUE ZEROS.


77 TOTAL-HOMENS PIC 9(5) VALUE ZEROS.
77 TOTAL-MULHERES PIC 9(5) VALUE ZEROS.
77 FIM-ARQ PIC 9.
88 FIM VALUE 1.
77 SEXO PIC X.
88 HOMEM VALUE “M”.
88 MULHER VALUE “F”.
CLASSE E CATEGORIA DE DADOS

TIPO DE ITEM CLASSE CATEGORIA

Alfabético Alfabético

Elementar Numérico Numérico

Alfanumérico Alfanumérico
Numérico editado
Alfanumérico editado

Grupo Alfanumérico Numérico


Alfabético
Alfanumérico
Numérico editado
Alfanumérico editado
DATA DIVISION
FILE SECTION

WORKING-STORAGE SECTION
|

....|....1....|....2....|....3....|....4....|....5....|....6....|....7....|....80

DATA DIVISION.

(Descrição dos dados)


Descrição de Dados
• A cláusula FILLER serve para nomear ítens de dados não referenciados
Working-Storage Section.

• 01 CADASTRO-CLIENTE.
• 02 NOME PIC X(30) VALUE SPACES.
• 02 ENDEREÇO PIC X(100) VALUE SPACES.
• 02 DATA-NASCIMENTO PIC 9(8) VALUE ZEROS.
• 02 RG PIC 9(20) VALUE ZEROS.
• 02 CPF PIC 9(11) VALUE ZERS.
• 02 SEXO PIC X VALUE SPACES.

• 01 CADASTRO-CLIENTE-RESUMO .
• 02 NOME PIC X(30) VALUE SPACES.
• 02 FILLER PIC X(100) VALUE SPACES.
• 02 FILLER PIC 9(8) VALUE ZEROS.
• 02 FILLER PIC 9(20) VALUE ZEROS.
• 02 FILLER PIC 9(11) VALUE ZEROS.
• 02 SEXO PIC X VALUE SPACES.
A Cláusula VALUE

A cláusula VALUE provê um valor inicial associado a um ítem descrito


na Working-Storage Section.

77 Cont-linhas Pic 99 value 30.

01 Area-de-trabalho.

05 campo-1 Pic A(26) value “Linguagem de Programação I”.


05 campo-2 Pic X(09) value “ CAI-TEC ”.
05 cont-paginas Pic 9(02) value zeros.
.
Working-Storage Section

A WS contém a descrição de registros e itens de dados que não fazem


parte de arquivos.
Ela descreve tanto registro de dados quanto itens de dados não contínuos.
Sucessivos números de nível 01 não significam redefinições do primeiro.

Valores iniciais
Diferentemente dos itens de arquivos um ítem na WS pode ser definido
com valores iniciais. Esses valores são definidos pela cláusula Value.
Sem a utilização dessa cláusula o valor inicial do ítem de dado fica
indefinido.
PROCEDURE DIVISION
• ADD 1 TO TOTAL-HOMENS.
• ADD 1 TO TOTAL-MULHERES.
• ADD TOTAL-HOMENS TO TOTAL-MULHERES
GIVING TOTAL-GERAL
ADD A TO B
ADD A TO B GIVING C

SUBTRACT 1 FROM TOTAL-HOMENS.


• SUBTRACT 1 FROM TOTAL-HOMENS GIVING X.
SUBTRACT 2 FROM 4
SUBTRACT A FROM B GIVING C
PROCEDURE DIVISION
• MULTIPLY TOTAL-HOMENS BY 2.
• MULTIPLY TOTAL-HOMENS BY 2 GIVING TOTAL-GERAL.
MULTIPLY A BY B
MULTIPLY A BY B GIVING C

• DIVIDE TOTAL-HOMENS BY 2.
• DIVIDE TOTAL-HOMENS BY 2 GIVING TOTAL-GERAL.
DIVIDE A BY B
DIVIDE A BY B GIVING C
PROCEDURE DIVISION

• COMPUTE
• COMPUTE MEDIA = (( NOTA1 + NOTA2 + NOTA3) / 3)
• COMPUTE A = B + C
PROCEDURE DIVISION
• DISPLAY - MOSTRA NA TELA O
CONTEUDO DE UMA VARIAVEL OU UM
TEXTO
• DISPLAY MEDIA
• DISPLAY “DIGITE SEU NOME”

• ACCEPT – LÊ UM CAMPO DIGITADO


ACCEPT NOME
• ACCEPT FIM
PROCEDURE DIVISION
• IF

IF SEXO EQUAL ‘M’ THEN


ADD 1 TO TOTAL-HOMENS
ELSE
ADD 1 TO TOTAL-MULHERES

END IF.
PROCEDURE DIVISION
• MOVE

MOVE NOME-LIDO TO NOME-REL


PROCEDURE DIVISION
• PERFORM

• PERFORM ROTINA.

• PERFORM UNTIL FIM = 1


– COMANDO
• END-PERFORM .

• PERFORM ROTINA 100 TIMES.

• PERFORM ROTINA VARYING IND FROM 1 BY 1


UNTIL IND > 1000

• PERFORM ROTINA UNTIL FIM = 1


PROCEDURE DIVISION
• STOP

STOP Run.

Vous aimerez peut-être aussi