Apresentação Cobol

Preview:

Citation preview

COBOLCOmmon 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ü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

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

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

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

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

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

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.