Você está na página 1de 12

INTRODUO.

A COBOL (Common Business Oriented Language) uma linguagem de programao de alto nvel projetada para aplicaes comerciais As especificaes originais para a COBOL foram esboadas em Maio de 1959, na CODASYL (Conference on Data System Language) onde se reuniram representantes de vrios fabricantes de computadores e usurios em geral, objetivando estabelecer uma linguagem padro de programao para fins comerciais. O projeto foi ento iniciado e, em Agosto de 1961, surgiu a primeira verso da COBOL. A partir da a COBOL tem sido consideravelmente melhorada, resultando em verses que aumentam a potencialidade da linguagem. O objetivo da COBOL oferecer uma linguagem de programao que atenda os seguintes requisitos: - independncia de tipo de equipamento; - facilidade de aprendizado; - boa documentao dos programas; - execuo de compilaes em cdigo-objeto eficiente.

A Linguagem.
COBOL uma Linguagem autodescritiva, com uma organizao rgida e bem definida, com o propsito de facilitar a escrita e a leitura, tanto para o programador como para o leigo. Um programa COBOL sempre composto de entradas (frases), devidamente dispostas em divises, sees e pargrafos. Assim sendo, para uma compreenso mais perfeita de sua organizao, comparemos um programa COBOL como um livro. Um livro geralmente est dividido em vrios captulos que so suas DIVISES, cada uma com uma funo especifica dentro do programa, porem sempre ligadas entre si. A COBOL possui apenas 4 (quatro) divises. Para melhor compreenso do texto o autor de um livro, baseando-se em seu estilo pessoal, pode dividir um captulo em vrias partes, agrupando melhor os diferentes tpicos a serem abordados. Da mesma forma, uma diviso em COBOL esta dividida em partes que so as SEES, de tal forma que cada seo tem uma funo especifica dentro da diviso, distribuindo melhor as tarefas e informaes atribudas a ela.

Dentro dessas partes esto as frases, agrupadas em pargrafos, dividindo definitivamente os assuntos do livro. Em COBOL tambm temos as frases e pargrafos que so, respectivamente, as ENTRADAS e PARGRAFOS, e que possuem a funo de informar o que realmente se deseja transmitir em cada parte do programa. Desta forma, fica claro que por meio de ENTRADAS que determinamos as tarefas que devem ser processadas, sendo uma entrada o item elementar de um programa COBOL.

As DIVISES.
Um programa escrito em COBOL possui 4 (quatro) divises que aparecem sempre nesta ordem: IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION.

IDENTIFICATION DIVISION.
a primeira diviso do programa. Sua funo identificar o programa de forma mais geral, processando informaes tais como: o nome do programa, data da escrita, autor e comentrios em geral. No possui sees e suas entradas esto agrupadas somente em pargrafos com nomes fixos. Exemplo: IDENTIFICATION DIVISION. PROGRAM-ID. EXEMPLO-1. AUTHOR. INSTALLATION. DATA-WRITTEN MARCOS. ATENEU. SETEMBRO DE 2013.

ENVIRONMENT DIVISION.
a diviso que interliga o programa-lgico com o computador, descrevendo principalmente os equipamentos e perifricos utilizados. a nica parte do programa que sofre grandes alteraes quando processamos o programa em computadores diferentes, pois nesta diviso que so descritos os equipamentos fsicos que o programa utiliza. So tambm fornecidas informaes de ordem lgica dos arquivos usados, tais como mtodo de acesso, disposio dos arquivos com o sistema operacional.

A ENVIRONMENT DIVISION subdividida em duas sees, com pargrafos predefinidos: - CONFIGURATION SECTION, que trata das caractersticas do sistema. - INPUT-OUTPUT SECTION, que controla os arquivos usados pelo programa.

Exemplo: ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-PC. OBJECT COMPUTER. IBM-PC.

INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT DADOS ASSIGN TO DISK. SELECT IMPRESSORA ASSIGN TO PRINTER.

DATA DIVISION.
a diviso que trata e descreve os dados que sero manipulados durante o processamento do programa. A DATA DIVISION subdividida em 4 (quatro) sees: FILE SECTION. WORKING-STORAGE SECTION. LINKAGE SECTION. SCREEN SECTION. Cada uma dessas sees opcional, podendo ser omitida se no for necessria. Contudo, se a seo for includa ela deve respeitar a ordem.

Exemplo: DATA DIVISION. FILE SECTION. FD DADOS LABEL RECORD IS STANDARD VALUE OF FILE-ID IS DADOS.DAT RECORD CONTAINS 80 CHARACTERS DATA RECORD IS CADAUM. 01 CADAUM. 03 NUMERO-FUNC 03 NOME-FUNC 03 ENDERECO-FUNC FD IMPRESSORA LABEL RECORD IS OMITTED RECORD CONTAINS 132 CHARACTERS DATA RECORD IS LINHA. 01 LINHA PIC X(132). PIC 9(05). PIC X(40). PIC X(35).

WORKING-STORAGE SECTION. 77 77 01 CONTA-LINHA CONTA-LIDOS IMPRESSAO. 01 FILLER 01 NUMERO 01 FILLER 01 NOME 01 FILLER PIC X(38) VALUE SPACES. PIC 9(05). PIC X(10) VALUE SPACES. PIC X(40). PIC X(39) VALUE SPACES. PIC 9(5) VALUE ZEROES. PIC 9(5) VALUE 0.

PROCEDURE DIVISION.
a diviso do programa que especifica as aes necessrias para o processamento dos dados em geral: controle de execuo, entrada e sada, movimento dos dados, etc. Os procedimentos descritos na PROCEDURE DIVISION esto, geralmente, agrupados em pargrafos cujos nomes so fornecidos pelo programador. Exemplo: PROCEDURE DIVISION. ABRE-ARQUIVOS. OPEN INPUT DADOS OUTPUT IMPRESSORA. LEITURA. READ DADOS AT END GO TO ACABOU. ADD 1 TO CONTA-LIDOS MOVE NUMERO-FUNC TO NUMERO. MOVE NOME-FUNC TO NOME. WRITE LLINHA FROM IMPRESSAO. ADD 1 TO CONTA-LINHA GO TO LEITURA. ACABOU. DISPLAY Registros lidos: CONTA-LIDOS. DISPLAY Linhas impressas: CONTA-LINHA. CLOSE DADOS IMPRESSORA STO RUN.

REGRAS DE DIGITAO E FOLHA DE CODIFICAO COBOL.


O compilador COBOL governado por regras que, de modo reduzido, muito se assemelham s regras gramaticais de uma lngua. Podemos dizer que o COBOL uma linguagem que possui gramtica e sintaxes prprias. A digitao de um cdigo-fonte (programa-fonte) COBOL devera ser feito em um editor puro ASCII (American Standard Code for Information Interchange), ou seja, um editor de textos sem formatao, para que o compilador o interprete de forma correta, no relatando erros em tempo de compilao. A folha de codificao e um programa-fonte COBOL dividida em 4 (quatro) campos: - Coluna 1 a 6 Usadas para numerar as linhas do programa. A numerao feita em ordem crescente. Esta numerao opcional, porm muito til para documentao e leitura de um cdigo-fonte muito extenso. - Coluna 7 Se preenchida, somente poder conter um dos smbolos abaixo: / Usada para indicar que haver mudana para o topo de uma nova linha/pagina na listagem do programa-fonte. * Usado para indicar que toda aquela linha tratada como comentrio e ser ignorada pelo compilador. - Usado para indicar continuao de literais no numricos ou palavras. (um literal no numrico continuado da seguinte forma: coloca-se um hfen na coluna 7 continuando-se o literal na Margem B, comeando-o com o delimitador utilizado. A linha anterior considerada at a coluna 72). - Coluna 8 a 72 Usadas para as entradas do programa. Estas colunas esto agrupadas em duas margens: Margem A (colunas 8 a 11) e Margem B (colunas 12 a 72). Somente so codificados na margem A nomes de divises, sees e pargrafos, descries de arquivos e nmeros de nvel. As demais entradas no so permitidas na Margem A. - Coluna 73 a 80 Usadas para identificao do programa. Esta identificao opcional.

ELEMENTOS DA LINGUAGEM.
Smbolos So caracteres especiais que tem significado particular para o compilador. So em numero limitado e sua utilizao obedece a uma serie de regras de pontuao. Os smbolos podem ser divididos em 4 (quatro) categorias: . Aritmticos + adio - subtrao ( . Pontuao . , ; ( . Relao = >< . Edio B O + - CR DB Z * $ , . / ) ) * multiplicao / diviso ** exponenciao = igualdade

Para a reunio correta dos smbolos existem as seguintes regras de pontuao: 1. Todas as entradas em COBOL, assim como as frases em Portugus, terminam com um ponto (.). 2- A mudana de linha feita da forma mais livre possvel, sendo possvel at no meio de uma palavra. 3- Uma palavra (ou literal) pode ser delimitada por um espao em branco, ponto, abre-parnteses, vrgula ou ponto-e-vrgula. 4- Um ou mais espaos em branco devem seguir um fecha-parnteses ou preceder um abre-parnteses. 5- O ponto, a vrgula ou o ponto-e-vrgula usado como um smbolo de pontuao pode ser precedido por um ou mais espaos em branco e devem ser seguidos por, pelo menos, um espao em branco.

6- Sinais de relao, assim como os sinais aritmticos, devem ser estar sempre entre espaos em branco. 7- Quando o ponto, a vrgula, o smbolo + ou so usados em clusulas de edio no podem ser precedidos e nem seguidos de espao em branco. 8- O ponto-e-vrgula e a vrgula podem ser usados para separar as clusulas de uma entrada.

Nomes dados pelo programador So nomes que o programador atribui a seus dados, pargrafos e sees. Para a criao correta de um nome devem ser observadas as seguintes regras: 1- Um nome pode ter no mximo 30 (trinta) caracteres (letras); 2- Podem conter as letras (A-Z), os dgitos (0-9) e hfens (-). 3- No pode haver espaos em branco no meio dos nomes, O espao em branco, assim como os smbolos de pontuao, indica o termino do nome. 5- Um nome no pode ser escrito como uma palavra reservada. 6- Um nome deve conter pelo menos uma letra ou hfen, exceto quando usado para nomear pargrafos ou sees. Exemplos vlidos: DADO-DE-ENTRADA NOME-DO-FUNCIONARIO

Exemplos invlidos: NOME DO ALUNO DATA SPACES

Palavras reservadas So palavras que possuem significado especial para o compilador COBOL. Possuem funes especificas e no podem ser alteradas. O programador no poder dar o nome de POSITIVE para qualquer um de seus dados, pois POSITIVE uma palavra reservada e, se tal ocorrer, o compilador vai emitir uma mensagem de erro. A palavra PICTURE uma palavra reservada, e como tal no pode ser nome de varivel dentro do programa. Da mesma maneira, EQUAL e SIGN so palavras reservadas, porem EQUALSIGN poder ser usada como nome de varivel.

Literais Os literais so os diversos valores que uma varivel pode assumir. So autodescritivos, no precisando, portanto, de definio separada dentro do programa. Os literais podem ser numricos ou no numricos. Para a formao de um literal numrico devem ser observadas as seguintes regras: 1- Um literal numrico possui no Maximo 18 (dezoito) caracteres (letras) e, no mnimo, 1 (um). Pode ser formado pelos dgitos 0 a 9, possuir um sinal (+ ou -) e um ponto decimal. O valor de um literal numrico a quantidade algbrica representada por seus caracteres. 2-Se houver sinal, este dever ser o caractere mais a esquerda do literal. Os sinais + ou determinam o sinal do clculo e so, evidentemente, mutuamente exclusivos. O sinal + opcional. 3-O ponto decimal do literal pode aparecer em qualquer lugar, exceto como caractere mais a direita. Numeros inteiros so escritos sem o ponto decimal.

Constantes figurativas A constante figurativa um tipo de literal. Ela representa um valor conhecido. So constantes figurativas: ZERO / ZEROES representa o valor 0. SPACE / SPACES representa o espao em branco. LOW-VALUE representa o menor valor que o dado pode assumir. HIGH-VALUE representa o maior valor que o dado pode assumir. QUOTE representa a aspa. ALL <literal> - representa a repetio de <literal>. Nmero de nvel O conceito de nmero de nvel est intimamente ligado ao conceito de estrutura. Nmeros de nvel so nmeros que servem para atribuir nveis aos itens de dados, relacionando-os uns com os outros, isto , estabelecendo a ligao entre esses dados. Um nmero de nvel est relacionado com um grupo de dados, partindo do mais externo (o mais global), at o mais interno ou mais elementar (sem subdivises). Os nmeros que podem ser usados como nmeros de nvel so de 01 a 49, 77 e 88. Os nmeros de 01 a 49 so usados para designar os nveis dos dados que formam registros, isto , pertencem a alguma estrutura. O nvel 01 sempre considerado como um todo, ou seja, a parte mais externa da estrutura, aquela que subdividida, enquanto que os de 02 a 49 so atribudos subdivises que o nvel 01 puder englobar. O nvel 77 usado em entradas que atribuem nomes a valores especficos que os dados podem tomar. Resumindo, teremos: 01 a 49 Para descrever os registros, dados que se subdividem (estruturas). 77 Para dados independentes, no subdivisveis. 88 Para relacionar nomes a certos valores que os dados podero assumir.

PIC / Pictures As pictures so usadas para descrio dos dados e suas caractersticas, como: - O tipo de dado (alfabtico, numrico ou alfanumrico) - Tamanho do dado (numero de caracteres ou dgitos) - Sinal do dado (+ ou -) - Localizao do ponto decimal As pictures tambm so usadas para edio, considerando-se a eliminao, a substituio ou a incluso de caracteres que dever ser feita para a formao do dado. Uma Picture uma cadeia de, no Maximo, 30 (trinta) caracteres, composta de um ou mais dos seguintes caracteres: A P S V X 9 B O + - CR DB Z * $ , . /