::||Forum Evolution||::
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.


Sua Nova Evolução Pela Web!!!
 
InícioInício  PortalPortal  ProcurarProcurar  Últimas imagensÚltimas imagens  Registar  EntrarEntrar  

 

 Introdução ao COBOL by Tpax

Ir para baixo 
AutorMensagem
jukilo
Ranking
Ranking
jukilo


Mensagens : 624
Data de inscrição : 01/03/2008

Introdução ao COBOL by Tpax Empty
MensagemAssunto: Introdução ao COBOL by Tpax   Introdução ao COBOL by Tpax Icon_minitimeTer Jun 17, 2008 6:30 pm

Eae pessoal, eu estava com um tutorial básico de COBOL escrito por mim
em outubro do ano passado ^^ e postei aqui para a galera, e ele está
facil de entender.

Estrutura de um Programa

Os programas em COBOL são obrigatoriamente constituídos por quatro divisões:

1. A IDENTIFICATION DIVISION marca o início de um programa
COBOL e contém informações gerais sobre o mesmo, tais como a sua
identificação, a identificação do autor, a data em que foi escrito, etc.

2. A ENVIRONMENT DIVISION contém instruções ou comandos
que descrevem o ambiente físico em que o programa é executado. Esta
divisão é usada principalmente para descrever fisicamente os ficheiros
usados pelo programa, através da indicação dos seus nomes(internos e
externos) e do modo como estão organizados.

3. A DATA DIVISION contém instruções que descrevem os
dados usados pelo programa, quer eles existam em ficheiros (o seu
layout) ou sejam internos do programa (variáveis).

4. A PROCEDURE DIVISION contém as instruções COBOL que o
programa irá executar. Cada divisão de um programa COBOL subdivide-se
um unidades mais pequenas denominadas SECTIONs. As secções podem conter
parágrafos (os procedimentos) e estes, por sua vez, contêm instruções.

IF e PERFORM

Um programa tem de ser capaz de tomar decisões sobre os dados e, em
função delas, executar diferentes secções de código. O verbo IF permite
alterar o fluxo de um programa em função dos seus dados.

O verbo PERFORM permite estruturar os programas e identificar os seus
procedimentos. Ao encontrar o verbo PERFORM, o código a executar será o
constante no parágrafo “chamado” e, uma vez executado o parágrafo, o
programa executará a instrução seguinte ao PERFORM (caso o parágrafo
“chamado” não tenha as instruções GO TO ou STOP RUN). Desta forma, para
além de se conseguirem programas mais legíveis, é possível escrever
rotinas genéricas que podem ser executadas em diferentes pontos do
programa.


Código:

000001 PERFORM READ-FICH01.
000002 IF STATUS-FIM
000003 PERFORM FIM-PROGRAMA
000004 ELSE
000005 PERFORM TRATA-REG-FICH01
000006 END-IF.

PERFORM UNTIL, MOVE e ADD

O PERFORM UNTIL permite que se executem repetidamente secções de código
até que se verifique uma condição de paragem (testada antes da
execução).
O verbo MOVE é usado para armazenar valores em variáveis. O verbo ADD é
usado para adicionar valores aos já existentes nas variáveis.


Código:

000001 MOVE 1 TO WS-INDICE.
000002 PERFORM UNTIL WS-INDICE > 13
000003 MOVE WS-INDICE TO NUM-LINHA(WS-INDICE)
000004 MOVE SPACES TO TEXTO-LINHA(WS-INDICE)
000005 ADD 1 TO WS-INDICE
000006 END-PERFORM.

COMPUTE e COMPUTE ROUNDED

O verbo COMPUTE é usado para calcular os resultados de expressões
aritméticas e armazenálos em variáveis. As expressões aritméticas, para
além de parêntesis, podem conter os operadores + (adição), -
(subtracção), * (multiplicação) e / (divisão). A cláusula ROUNDED
permite que o resultado
obtido na avaliação da expressão seja arredondado de acordo com a
definição da variável. Se esta cláusula não for indicada, o resultado
será truncado de acordo com a definição da variável.

Código:

000001 MOVE 0,15 TO CAMOD013-TCTTAXA.
000002 COMPUTE CAMOD013-VTXCORR = WS-VFINANC * (CAMOD013-TCTTAXA / 100).
000003 COMPUTE WS-ARRED-ESC ROUNDED = CAMOD013-VTXCORR.
000004 MOVE WS-ARRED-ESC TO CAMOD013-VTXCORR.

DIVIDE e SUBTRACT

Os verbos DIVIDE e SUBTRACT permitem, respectivamente, efectuar as operações de divisão e subtracção.


Código:

000001 DIVIDE WS-POS-CURSOR BY 80 GIVING WS-LINHA-CURSOR REMAINDER WS-RESTO.
000002 SUBTRACT 4 FROM WS-LINHA-CURSOR.

EVALUATE

A instrução EVALUATE, à semelhança do verbo IF, permite alterar o fluxo
do programa em função dos seus dados. Ao encontrar o EVALUATE, cada uma
das suas condições será avaliada até se encontrar uma que seja
verdadeira. Seguidamente, o código associado a essa condição é
executado e, posteriormente, é executada a instrução seguinte ao
EVALUATE.


Código:

000001 EVALUATE TRUE
000002 WHEN HELP-LINK-ALFA = 'POST'
000003 MOVE ' TABELA DE CODIGOS POSTAIS' TO TITULO
000004 MOVE '07' TO CODTAB
000005 MOVE 4 TO N-DIGITOS-LINK
000006 WHEN HELP-LINK-ALFA = 'BALC'
000007 MOVE ' TABELA DE BALCOES' TO TITULO
000008 MOVE '04' TO CODTAB
000009 MOVE 4 TO N-DIGITOS-LINK
000010 WHEN HELP-LINK-ALFA = 'PAIS'
000011 MOVE ' TABELA DE PAISES' TO TITULO
000012 MOVE 'F2' TO CODTAB
000013 MOVE 3 TO N-DIGITOS-LINK
000014 WHEN HELP-LINK-ALFA = 'ACTE'
000015 MOVE ' TABELA DE ACTIV. ECONOMICAS' TO TITULO
000016 MOVE '98' TO CODTAB
000017 MOVE 5 TO N-DIGITOS-LINK
000018 WHEN HELP-LINK-ALFA = 'GART'
000019 MOVE ' TABELA DE GARANTIAS' TO TITULO
000020 MOVE 'E5' TO CODTAB
000021 MOVE 6 TO N-DIGITOS-LINK
000022 WHEN HELP-LINK-ALFA = 'SECE' OR 'SECR'
000023 MOVE ' TABELA DE SECTORIZACOES' TO TITULO
000024 MOVE 'F1' TO CODTAB
000025 MOVE 8 TO N-DIGITOS-LINK
000026 WHEN HELP-LINK-ALFA = 'VINC'
000027 MOVE ' TABELA DE VINCULOS' TO TITULO
000028 MOVE 'E4' TO CODTAB
000029 MOVE 2 TO N-DIGITOS-LINK
000030 WHEN HELP-LINK-ALFA = 'CDBP'
000031 MOVE 'CODIGOS DO BANCO DE PORTUGAL' TO TITULO
000032 MOVE 'TN' TO CODTAB
000033 MOVE 4 TO N-DIGITOS-LINK
000034 WHEN OTHER
000035 MOVE ALL '*' TO TITULO
000036 MOVE SPACES TO CODTAB
000037 END-EVALUATE.
Ir para o topo Ir para baixo
https://forumevolution.forumeiro.com
 
Introdução ao COBOL by Tpax
Ir para o topo 
Página 1 de 1

Permissões neste sub-fórumNão podes responder a tópicos
::||Forum Evolution||:: :: Forum Evolution :: Tutoriais-
Ir para: