Curso de Angelo G. Prediger Julio Cezar Kronbauer William Douglas Knak Filho Histórico • 1959 - surge a idéia de desenvolver uma linguagem para ambientes comerciais • a linguagem proposta deveria ser capaz de absorver contínuas alterações • ser independente de uma máquina específica • basear-se na língua inglesa evitando ao máximo o uso de símbolos As Divisões (Divisions) do COBOL • • • • IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION IDENTIFICATION DIVISION • • • • • • Nome do programa quem o escreveu quando e onde foi escrito quando foi compilado precauções com a segurança comentários Formato IDENTIFICATION DIVISION. PROGRAM-ID. nome-do-programa. [ AUTHOR. nome-do-programador. ] [ INSTALLATION. nome-da-empresa. ] [ DATE-WRITTEN. data-da-compilação. ] [ DATE-COMPILED. ] [ SECURITY. comentários sobre as funções do programa. ] ENVIRONMENT DIVISION • Informações sobre onde o COBOL será compilado • onde a linguagem de máquina resultante será processada • nome em COBOL para todos os arquivos • designa um dispositivo de entrada e saída para cada arquivo • caracteriza o ambiente físico Formato ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. [nome-de-função IS nome-mnêmonico] DECIMAL-POINT IS COMMA. INPUT-OUTPUT SECTION. FILE-CONTROL. FILE-CONTROL. SELECT nome-interno ASSIGN TO nomeexterno [ ORGANIZATION IS SEQUENTIAL ] [ ACCESS MODE IS SEQUENTIAL ] DATA DIVISION • Descrição resumida de cada arquivo • organização dos registros do arquivo • campos de dados utilizados pelo programa que não se encontram em registros de arquivo • campos armazenados em uma área de memória chamada WORKING-STORAGE Formato DATA DIVISION. FILE SECTION. FD nome-interno [ BLOCK CONTAINS n RECORDS ] [ RECORD CONTAINS n CHARACTERS ] LABEL RECORD IS OMITTED STANDARD [ VALUE OF FILE-ID IS identificação-doregistro ] [ DATA RECORD IS nome-do-registro. ] WORKING-STORAGE SECTION. descrição-das-areas-auxiliares LINKAGE SECTION. descrição-das-areas-de-comunicação SCREEN SECTION. descrição-das-telas PROCEDURE DIVISION • Instruções que informam ao computador o processamento que deve ser realizado • aproximam-se muito do inglês corrente Formato PROCEDURE DIVISION. [ nome-de-seção SECTION. ] [ nome-de-parágrafo. ] sentenças Sections em COBOL • Na ENVIRONMENT DIVISION e na DATA DIVISION são parte fixa • na PROCEDURE DIVISION são opcionais (definidos pelo programador) • na IDENTIFICATION DIVISION não há SECTIONS Parágrafos em COBOL • Na IDENTIFICATION DIVISION, ENVIRONMENT DIVISION e na DATA DIVISION são parte fixa • na PROCEDURE DIVISION são opcionais (definidos pelo programador) Tipos de Dados • Tipo alfanumérico: PIC XXXXXXX = PIC X(7) : campo alfanumérico de sete posições. • Tipo numérico: PIC 9999 = PIC 9(4) : campo numérico (qualquer dígito de 0 a 9) de quatro posições. • PIC 9(n) , com n < 18. • PIC 999V99 indica que após a terceira posição de um dado numérico existe um ponto decimal implícito. • PIC S9(4) indica que o número possui sinal (+ ou -). Algumas PICTURE de edição: • S : sinal • Z : suprime zeros à esquerda, substitui o “9” • * : substitui os zeros à esquerda por asteriscos • $ : cifrão • B : espaços em branco • / : barra • . : ponto decimal