31
COBOL COmmon Business Oriented Language

Apresentação Cobol

Embed Size (px)

Citation preview

Page 1: Apresentação Cobol

COBOLCOmmon Business Oriented Language

Page 2: Apresentação Cobol

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

Page 3: Apresentação Cobol

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üencialColuna 7: Área de indicação * - comentário - - continuação de linhaColunas de 8 a 11: Área A divisões,

seções, parágrafos e

declaração de variáveisColunas de 12 a 72: Área B comandos

Page 4: Apresentação Cobol

O COBOL possui 4 divisões:

•Identification Division •Environment Division •Data Division •Procedure Division

Page 5: Apresentação Cobol

| |

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

IDENTIFICATION DIVISION.

PROGRAM-ID. nome-programa. AUTHOR. autor.

Page 6: Apresentação Cobol

|

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

ENVIRONMENT DIVISION.

CONFIGURATION SECTION. SPECIAL-NAMES. DECIMAL POINT IS COMMA. INPUT-OUTPUT SECTION.

FILE-CONTROL.

Page 7: Apresentação Cobol

|

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

DATA DIVISION.

FILE SECTION. WORKING-STORAGE SECTION.

Page 8: Apresentação Cobol

|

....|....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.

Page 9: Apresentação Cobol

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.

Page 10: Apresentação Cobol

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 <=;

Page 11: Apresentação Cobol

ENVIRONMENT DIVISION

CONFIGURATION SECTION

SPECIAL-NAMES. Decimal-point is comma.

Page 12: Apresentação Cobol

ENVIRONMENT DIVISION

INPUT-OUTPUT SECTION

Page 13: Apresentação Cobol

Descrição dos Dados

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

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

4. Representação4.1 Unicidade de referência4.2 Subscrição e indexação4.3 Nomes de condição4.4 Itens de dados correspondentes4.5 Modificação da referência

5. A cláusula PICTURE

6. A cláusula VALUE

7. A cláusula FILLER

Page 14: Apresentação Cobol

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.

Page 15: Apresentação Cobol

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.

Page 16: Apresentação Cobol

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 ENDEREÇO. 05 RUA. 10 LOGRADOURO PIC X(25) VALUE SPACES. 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.

01 NÍVEL DE GRUPO 05 NÍVEL DE GRUPO. 05 NIVEL ELEMENTAR. 10 NÍVEL ELEMENTAR.

Page 17: Apresentação Cobol

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”.

Page 18: Apresentação Cobol

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

Page 19: Apresentação Cobol

DATA DIVISION

FILE SECTION

WORKING-STORAGE SECTION

Page 20: Apresentação Cobol

|

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

DATA DIVISION.

(Descrição dos dados)

Page 21: Apresentação Cobol

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.

Page 22: Apresentação Cobol

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. .

Page 23: Apresentação Cobol

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 iniciaisDiferentemente 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.

Page 24: Apresentação Cobol

PROCEDURE DIVISION

• ADD 1 TO TOTAL-HOMENS.• ADD 1 TO TOTAL-MULHERES.• ADD TOTAL-HOMENS TO TOTAL-MULHERES

GIVING TOTAL-GERALADD A TO BADD A TO B GIVING C

SUBTRACT 1 FROM TOTAL-HOMENS.• SUBTRACT 1 FROM TOTAL-HOMENS GIVING X.

SUBTRACT 2 FROM 4SUBTRACT A FROM B GIVING C

Page 25: Apresentação Cobol

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

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

Page 26: Apresentação Cobol

PROCEDURE DIVISION

• COMPUTE• COMPUTE MEDIA = (( NOTA1 + NOTA2 + NOTA3) / 3)

• COMPUTE A = B + C

Page 27: Apresentação Cobol

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

Page 28: Apresentação Cobol

PROCEDURE DIVISION

• IF IF SEXO EQUAL ‘M’ THEN

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

END IF.

Page 29: Apresentação Cobol

PROCEDURE DIVISION

• MOVE

MOVE NOME-LIDO TO NOME-REL

Page 30: Apresentação Cobol

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

Page 31: Apresentação Cobol

PROCEDURE DIVISION

• STOP STOP Run.