apresentação cobol
TRANSCRIPT
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.