Cobol
> Estrutura de um Programa
> Principais comandos
A HIST�RIA DO COBOL
A decis�o de criar uma fonte de Linguagem apropriada para dados comerciais foi tomada em
Maio de 1959 numa reuni�o no Pent�gono em Washington, DC. Participantes desta reuni�o
eram representantes de usu�rios de computadores na ind�stria privada e governo,
f�bricas de computadores e outras partes interessadas.
O prop�sito era discutir a necessidade de uma Linguagem geral direcionada para servi�os
dentro de dados comerciais, e a possibilidade de criar desta maneira uma Linguagem. Como
resultado uma comiss�o foi nomeada com o nome de CODASYL (Conference On Data System
Languages).
A comiss�o come�ou a analisar as quest�es discutidas na reuni�o e uma subcomiss�o foi
diretamente incumbida da tarefa de definir uma Linguagem adaptada para administrar
processamento de dados.
Em 1.960 a gram�tica foi publicada, usualmente chamada Relat�rio COBOL-60. Esta
Linguagem continha in�meros erros e logo foi revisada em 1.961 e o Relat�rio COBOL-61
foi publicado. Ele forma a base para os mais comuns compiladores COBOL.
A continua��o do trabalho da comiss�o estava mais concentrada em seguir todas as passos
originados no Relat�rio COBOL-61. Isto levou a uma vers�o ampliada do COBOL, descrita em
um Relat�rio provis�rio "COBOL-61 - Vers�o Estendida", que foi publicada em
1.962. Formalmente, isto significava que um n�mero de novos elementos foi adicionado ao
Relat�rio anterior.
Um Relat�rio completamente novo foi publicado no fim do ano de 1.965, e foi definido como
COBOL-65. Ele continha praticamente todos os elementos de "Vers�o Estendida",
por�m numa forma totalmente revisada, junto com alguns elementos novos, projetado
principalmente por causa do uso expressivo das mem�rias de acesso aleat�rio (RAM).
Embora o COBOL tenha sido desenvolvido e mantido pela CODASYL, ele foi tamb�m
estabelecido como uma Linguagem Padr�o pelo Instituto Americano de Padr�es Nacionais
(ANSI). Os fornecedores dos compiladores COBOL geralmente se baseavam no COBOL Padr�o
Nacional Americano. Um padr�o inicial, noticiado em 1.968, foi revisado em 1.974 e
novamente na metade dos anos 80.
A POPULARIDADE DO COBOL
COBOL � uma velha Linguagem de Programa��o, ent�o o que a faz permanecer popular ?
* Amplamente usada - � bem correspondida por arquivos direcionados (parte essencial da
Programa��o Comercial) como armazenamento e restaura��o de informa��es;
* Documenta��o - Suporta muito bem o idioma Ingl�s como Linguagem de Programa��o,
portanto � auto - document�vel e suas instru��es s�o de f�cil leitura e
compreens�o.
* Compatibilidade - A Linguagem � uma m�quina independente. Um programa escrito em COBOL
para um tipo de computador pode ser executado em qualquer outro tipo, somente com algumas
modifica��es;
* Padroniza��o - Existe uma vers�o do COBOL que foi aceita como padr�o pelo Instituto
Americano de Padr�es Nacionais (ANSI);
* Com o crescimento de novas necessidades, o COBOL � constantemente revisado e
atualizado;
* �timos programas j� foram escritos em COBOL. A Linguagem ficou t�o enraizada na
maioria dos neg�cios, que se tornou permanente.
Ap�s todas estas vantagens voc� pode perguntar porqu� o COBOL n�o � abordado mais
amplamente nas Escolas e Universidades. Bem existem algumas desvantagens:
* Por causa de sua auto - documenta��o, o COBOL � demorado. Voc� perde mais tempo
codificando e digitando programas nesta Linguagem do que em outros tipos;
* Abrang�ncia Limitada - COBOL n�o � uma Linguagem universal para todos os tipos de
processamento.
ESTRUTURA DE UM PROGRAMA EM COBOL
D I V I S I O N S
Um programa COBOL � formado por 4 partes principais, que s�o chamadas de Divisions:
1) IDENTIFICATION DIVISION - Explica a finalidade do programa, seu nome, autor, data e
local onde foi escrito e compilado.
2) ENVIRONMENT DIVISION - Fornece informa��es sobre o Ambiente, ou seja, o computador em
que o programa ser� compilado e onde a Linguagem de m�quina resultante ser� processada.
Fornece tamb�m um nome em COBOL para todos os arquivos que ser�o processados designando
um dispositivo de E / S para cada um.
3) DATA DIVISION - Fornece uma breve descri��o de cada arquivo e campos de dados
utilizados pelo programa. Estes campos s�o armazenados em uma �rea da mem�ria chamada
Working Storage.
4) PROCEDURE DIVISION - � onde se encontram as instru��es que informam ao computador o
processamento que deve ser realizado.
S E C T I O N S
Cada Division de um programa COBOL � subdividida em Sections, que iniciam por linhas
denominadas Cabe�alhos de Se��o. Cada uma das Sections � por sua vez subdividida em
Par�grafos.
PRINCIPAIS COMANDOS (INSTRU��ES)
Instru��o OPEN:
Abre os arquivos que ser�o processados.
Instru��o CLOSE:
Encerra o processamento de um arquivo. Antes que termine o programa, todos os arquivos que
foram abertos dever�o ser fechados.
Instru��o READ:
Executa a leitura dos registros dos arquivos indicados.
Instru��o WRITE:
Libera o conte�do da �rea do registro l�gico para a sa�da, assim o registro gravado
n�o est� mais acess�vel ao programa.
Instru��o ACCEPT:
� utilizada para certas entradas especializadas. Ela transfere do Sistema Operacional
informa��es como: data, hora, etc. Pode tamb�m ser usada com arquivos de Sistema.
Instru��o DISPLAY:
Utiliza-se esta instru��o para pequenos volumes de impress�o em arquivos especiais do
Sistema ou para mostrar mensagens na tela.
Instru��o MOVE:
Apesar do nome "Mover" esta instru��o � utilizada para copiar informa��es
de um arquivo para outro. O arquivo origem fica inalterado mas o destino t�m seu
conte�do original substitu�do pelo conte�do do arquivo origem.
Instru��o STOP:
A) STOP RUN - Encerra permanentemente a execu��o do programa, por�m todos ao arquivos
dever�o ser fechados antes desta instru��o.
B) STOP LITERAL - Suspende temporariamente a execu��o do programa, at� que o operador
informe que a execu��o pode ser reiniciada.
Instru��o PERFORM:
Desvia o programa para uma posi��o diferente da sequ�ncia normal, indicando o
par�grafo que dever� ser executado naquele momento. Ap�s sua execu��o, o programa
volta e continua na instru��o imediatamente posterior � instru��o Perform.
Instru��o ADD:
A) ADD...TO... - Executa a soma de dois ou mais itens de dados num�ricos, inclusive o
valor do campo destino, ent�o o resultado substitui o valor original do campo destino.
B) ADD...GIVING... - Funciona do mesmo jeito que Add...To..., s� que o valor do campo
destino n�o � inclu�do na soma, apenas substitu�do pelo resultado.
Op��o ROUDED:
� usada para arredondar um resultado de um c�lculo aritm�tico, quando o mesmo
necessitar de mais casas decimais do que as contidas no campo destino.
Cl�usula ON SIZE ERROR:
Quando a parte inteira de um n�mero calculado n�o cabe no campo destino ocorre um
estouro (Over Flow) , neste caso � usada a Cl�usula On Size Error (que permite executar
um conjunto de instru��es somente em caso de estouro).
Instru��o SUBTRACT:
A) SUBTRACT...FROM... - Executa a subtra��o de dois ou mais campos num�ricos, inclusive
o valor do campo destino, ent�o o resultado substitui o valor original do campo destino.
B) SUBTRACT...FROM...GIVING... - Executa a subtra��o de dois ou mais campos num�ricos,
por�m o valor do campo destino n�o � inclu�do na
subtra��o, apenas substitu�do pelo resultado da opera��o.
Instru��o MULTIPLY:
A) MULTIPLY...BY... - Efetua a multiplica��o de 2 itens num�ricos, podendo ser um
n�mero por um campo e vice-versa. O resultado � colocado no campo destino, que n�o faz
parte do c�lculo.
Instru��o DIVIDE:
A) DIVIDE...INTO... - Executa a divis�o de 2 campos num�ricos (um deles pode ser um
n�mero) colocando apenas o resultado no campo destino, substituindo seu valor original.
B) DIVIDE...INTO / BY...GIVING - Executa a divis�o de 2 itens num�ricos. O conte�do
original do campo destino � substitu�do pelo resultado, sem tomar parte no c�lculo.
C)DIVIDE...INTO / BY...GIVING...REMAINDER...- Executa a divis�o de 2 itens num�ricos. O
quociente substitui o conte�do original do 3�. campo (que n�o faz parte do c�lculo ).
O resto substitui o conte�do original do 4o. campo (que tamb�m n�o faz parte do
c�lculo).
Instru��o COMPUTE:
Permite que sejam especificadas v�rias opera��es aritm�ticas de uma s� vez.
Ex.:
* COMPUTE A=B+C, equivale a ADD B C GIVING A;
* COMPUTE A=B-C, equivale a SUBTRACT C FROM B GIVING A;
* COMPUTE A=B*C, equivale a MULTIPLY B BY C GIVING A;
* COMPUTE A=B/C, equivale a DIVIDE B BY C GIVING A;
* COMPUTE A=B**C, n�o tem instru��o equivalente.
A express�o (B**C) representa "B elevado � pot�ncia C ".
Todos os textos sobre inform�tica
contidos neste Site
s�o de propriedade do autor.
Voc� pode copiar, mas n�o usar o mesmo texto para seu pr�prio Site.
� Copyright 1997-2002 Alexandre Terra Iafullo
Todos os direitos reservados.