Title: COBOL
1COBOL COmmon Business Oriented Language
2Hierarquia 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
3A 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
linha 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
4- O COBOL possui 4 divisões
- Identification Division
- Environment Division
- Data Division
- Procedure Division
5 ........1.......
.2........3........4........5........6.......
.7........80 IDENTIFICATION
DIVISION. PROGRAM-ID.
nome-programa. AUTHOR.
autor.
6 ........1........
2........3........4........5........6........
7........80 ENVIRONMENT
DIVISION. CONFIGURATION SECTION.
SPECIAL-NAMES.
DECIMAL POINT IS COMMA.
INPUT-OUTPUT SECTION. FILE-CONTROL.
7 ........1........2........3
........4........5........6........7........8
0 DATA DIVISION.
FILE SECTION. WORKING-STORAGE
SECTION.
8 ........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.
9- Formação das palavras na linguagem COBOL
- Não pode ser uma das palavras reservadas
- Deverá ter no máximo 30 caracteres
- Deverá ter no mínimo um caracter alfabético
- Deverá iniciar com um caracter alfabético.
- Não poderá conter outros caracteres especiais.
- Não pode começar ou terminar com um hífen ou
número.
10- Operadores Aritméticos e lógicos no COBOL
- ADD
- SUBTRACT -
- MULTIPLY
- DIVIDE /
- GREATER THAN GT gt
- LESS THAN lt
- EQUAL
- NOT EQUAL
- NOT LESS THAN gt
- NOT GREATER THAN lt
11ENVIRONMENT DIVISION CONFIGURATION SECTION
SPECIAL-NAMES. Decimal-point is
comma.
12ENVIRONMENT DIVISION INPUT-OUTPUT SECTION
13- Descrição dos Dados
- Registros Físicos e Registros Lógicos
- 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
- A cláusula PICTURE
- A cláusula VALUE
14- 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.
15Nú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.
16Nú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.
17Nú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.
18(No Transcript)
19DATA DIVISION FILE SECTION
WORKING-STORAGE SECTION
20 ........1........2........3
........4........5........6........7........8
0 DATA DIVISION.
(Descrição dos dados)
21Descriçã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.
22- 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. - .
23Working-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.
24PROCEDURE 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
25PROCEDURE 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
-
26PROCEDURE DIVISION
- COMPUTE
- COMPUTE MEDIA (( NOTA1 NOTA2 NOTA3) / 3)
- COMPUTE A B C
27PROCEDURE 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
28PROCEDURE DIVISION
- IF
- IF SEXO EQUAL M
THEN - ADD 1 TO TOTAL-HOMENS
- ELSE
- ADD 1 TO TOTAL-MULHERES
- END IF.
29PROCEDURE DIVISION
- MOVE
- MOVE NOME-LIDO TO NOME-REL
-
30PROCEDURE 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
gt 1000 - PERFORM ROTINA UNTIL FIM 1
31PROCEDURE DIVISION