Estrutura e Regras das Divisões no COBOL
O COBOL organiza seus programas em quatro divisões obrigatórias, cada uma com função específica:
- IDENTIFICATION DIVISION: Identifica o programa, incluindo nome e autor.
- ENVIRONMENT DIVISION: Define o ambiente de execução (hardware e software).
- DATA DIVISION: Declara dados e arquivos utilizados, dividindo-os em seções como FILE e WORKING-STORAGE.
- PROCEDURE DIVISION: Contém a lógica do programa com comandos e instruções.
Regras de Codificação:
- Margem A (coluna 8): Usada para cabeçalhos de divisões, seções e parágrafos.
- Margem B (coluna 12): Reservada para comandos e declarações.
- Cada linha deve terminar com um ponto e um espaço em branco.
Regras para Nomes
- Arquivos: Até 30 caracteres, sem espaços ou caracteres especiais.
- Dados: Até 30 caracteres, com hífens permitidos, mas não no início ou final.
- Literais Numéricas: Até 18 dígitos (31 com ARITH(EXTEND)), podendo incluir sinal e ponto decimal.
- Literais Não Numéricas: Até 160 caracteres, delimitados por aspas simples.
Área de Codificação
A estrutura de codificação no COBOL é organizada em colunas específicas, com funções definidas para cada intervalo:
- Colunas 1 a 6: Normalmente deixadas em branco, podem ser usadas para numeração de linhas, uma prática opcional.
- Coluna 7: Utilizada para indicadores especiais:
- Espaço em branco: Linha de código regular.
- Asterisco (*): Indica uma linha de comentário.
- Hífen (-): Sinaliza a continuação de um literal não numérico na linha seguinte.
- Colunas 8 a 72: Reservadas para as instruções do programa:
- Margem A (coluna 8-11): Usada para cabeçalhos de divisões, seções e parágrafos, além de descrições em arquivos e registros.
- Margem B (coluna 12-72): Espaço dedicado para comandos e lógica de programação.
- Colunas 73 a 80: Área livre, sem uso específico no contexto atual.
Exemplo Prático:
IDENTIFICATION DIVISION. PROGRAM-ID. SomaProgram. DATA DIVISION. WORKING-STORAGE SECTION. 01 NumeroA PIC 9(3) VALUE 150. 01 NumeroB PIC 9(3) VALUE 200. 01 Resultado PIC 9(4). PROCEDURE DIVISION. COMPUTE Resultado = NumeroA + NumeroB. DISPLAY 'A soma de ' NumeroA ' e ' NumeroB ' é ' Resultado. STOP RUN.