Alura > Cursos de Programação > Cursos de > Conteúdos de > Primeiras aulas do curso Cobol: desenvolvendo aplicações com dados

Cobol: desenvolvendo aplicações com dados

Explorando COBOL - Apresentação

Boas-vindas a mais um curso da Alura. Meu nome é Ivan Sanches.

Audiodescrição: Ivan Sanches é uma pessoa de pele branca. Tem olhos castanhos, cabelo e barba grisalhos. Usa óculos de armação quadrada e camiseta preta. Ao fundo, parede lisa sem decorações com iluminação em azul.

Neste curso, vamos aprender a desenvolver uma aplicação em COBOL (COmmon Business Oriented Language ou Linguagem Comum Orientada para os Negócios).

No dia a dia de mercado, os programas que você encontrará serão semelhantes ao que vamos trabalhar nesse curso. Evidentemente, com uma complexidade maior e uma proposta de funcionamento diferente, mas com uma estrutura bem parecida.

O que vamos aprender?

Nesse curso, aprenderemos a trabalhar com arquivos, tanto de entrada de dados quanto de saída de dados.

Desenvolveremos uma aplicação que faz a leitura de um arquivo de clientes, baseando a construção nas boas práticas dessa linguagem. Durante o curso, apresentaremos dicas sobre o que usar, quando usar e a melhor forma de fazê-lo.

Ao final, a proposta do exercício é que executemos um arquivo e que a aplicação faça a leitura dos dados e a gravação dos dados com uma estatística. Assim, saberemos exatamente quantos clientes foram lidos e quantos atenderam a uma determinada condição. Nossa aplicação terá uma condição, chamada regra de negócios, para que o arquivo de saída seja gerado.

Com isso, nossa aplicação seguirá a proposta tradicional de programas COBOL: recebemos um arquivo, o processamos a partir de regras de negócio e devolvemos um arquivo resultante disso.

Esperamos que você aproveite esse conteúdo. Te aguardamos no próximo vídeo!

Explorando COBOL - Primeiro programa

Nesta aula, vamos fazer a compilação do nosso primeiro programa em COBOL. Estamos utilizando o Visual Studio Code, onde já temos um workspace padrão definido. Falta apenas anexar uma pasta.

Sugerimos criar uma pasta no seu diretório raiz com o nome "CURSO_COBOL", em maiúsculas. Para evitar espaço no nome da pasta, utilizamos underline para separar as palavras.

Após criar a pasta, voltamos ao Visual Studio para adicioná-la. Basta clicar em "File > Open Folder" no menu superior (ou atalho "Ctrl + K Ctrl + O") e escolher a pasta que acabamos de criar.

Criando primeiro programa em COBOL

No painel de exploração à direita, vamos clicar em "New File" para criar nosso primeiro arquivo, que chamaremos de OLACOBOL em maiúsculo. Em seguida, precisamos definir a extensão específica do COBOL, que é .COB.

É importante que o nome do arquivo não seja muito longo, pois isso pode causar problemas posteriormente. Portanto, o nome do arquivo será OLACOBOL.COB.

Ao abrir o arquivo no editor do Visual Studio, notamos uma estrutura diferente da convencional, com margens que foram configuradas pela extensão de apoio instalada anteriormente.

Para começar a codificar nosso primeiro programa, vamos criar a divisão de identificação do programa a partir da coluna 8. Fazemos isso através do código IDENTIFICATION DIVISION, em maiúsculo e seguido de ponto final. Neste momento, não precisamos entender o que é ou para que serve esse código, apenas queremos testar a compilação.

Em seguida, usamos o parágrafo PROGRAM-ID seguida de um ponto final para identificar o nome do programa. No nosso caso, será OLACOBOL, sem a extensão .COB. Este nome deve ser o mesmo do arquivo de disco. Lembre-se de adicionar outro ponto final após o nome do programa.

OLACOBOL.COB:

       IDENTIFICATION        DIVISION.
       PROGRAM-ID. OLACOBOL.

Vamos adicionar outra divisão do COBOL, a PROCEDURE DIVISION, também a partir da coluna 8. Com o tempo, poderemos utilizar a IntelliSense do editor, mas por enquanto, vamos codificar manualmente.

Em seguida, vamos codificar a saída do programa, nosso famoso "OLÁ MUNDO". Para isso, utilizaremos o comando DISPLAY a partir da coluna 12 para exibir a mensagem "OLA COBOL", entre aspas. Finalizamos o comando com ponto final.

Por fim, acrescentaremos o comando STOP RUN, que termina a execução do programa COBOL. Deve haver pelo menos um STOP RUN por programa. Novamente finalizamos o comando com ponto final.

       IDENTIFICATION        DIVISION.
       PROGRAM-ID. OLACOBOL.
       PROCEDURE             DIVISION.
           DISPLAY "OLA COBOL".
           STOP  RUN.

Após codificar, salvamos o arquivo. Basta acessar "File" no menu superior e clicar na opção "Save" (ou atalho "Ctrl + S").

Compilando e executando o programa

Para compilar, habilitamos o terminal integrado no VS Code através do menu superior em "Terminal > New Terminal" (ou atalho "Ctrl + J").

No terminal, precisamos chamar o compilador chamado cobc para verificar se está ativo:

cobc

Saída: cobc error: no input files

A mensagem que recebemos indica que o compilador está ativo, mas espera a especificação de um arquivo de entrada.

Depois de cobc, acrescentamos o parâmetro -x, em letra minúscula, seguido do nome do programa que, no nosso caso, é OLACOBOL.COB. Apertamos a tecla "Enter" para fazer a compilação.

cobc -x OLACOBOL.COB 

Saída: OLACOBOL.COB 5: warning: line not terminated by a new line

Após a compilação, pode surgir um aviso sobre a necessidade de terminar o programa com uma nova linha, mas isso será corrigido nas próximas aulas.

O programa compilado gera um arquivo .EXE. Para verificar esse programa, basta digitar ponto e barra (./) para indicar a pasta em que estamos e o nome do programa, ou seja, OLACOBOL.EXE.

Certifique-se de especificar o nome do programa e a extensão com a mesma capitalização do arquivo gerado. O Windows não é sensível à capitalização, mas no Linux, o nome deve ser exato.

./OLACOBOL.exe

Saída: OLA COBOL

Nosso primeiro programa está compilado no Visual Studio. Após verificar a mensagem retornada, podemos sair do terminal com o comando exit.

exit

Concluímos nosso primeiro código. É um código simples, mas funcional.

Explorando COBOL - Estrutura de um programa

Vamos agora analisar com mais detalhe como é feita a distribuição e a estrutura do código. Você deve ter notado uma diferença em relação a linguagens mais comuns, como Java e Python, que possuem outra maneira de codificação. O COBOL tem suas particularidades.

Conhecendo a estrutura de um programa COBOL

Antes de falar sobre a distribuição, é importante entender por que ela existe. O COBOL é uma linguagem desenvolvida na década de 60, quando a entrada de dados era feita por cartões perfurados.

Cartão perfurado da IBM de 12 linhas/80 colunas. O cartão é retangular e de cor bege, com várias colunas numeradas de 1 a 80 na parte superior. Abaixo das colunas numeradas, há várias linhas intercaladas com números de 0 a 9, também dispostas em colunas. Pequenos retângulos pretos representam furos. Na parte inferior, há um texto em negrito indicando 'IBM UNITED KINGDOM LIMITED'.

Esses cartões possuíam um número específico de linhas e colunas. Uma vez que o conjunto de cartões era inserido, eles se transformavam no programa. Essa distribuição de linhas e colunas acabou se tornando o padrão do COBOL. Portanto, quando mencionamos o padrão COBOL, estamos nos referindo ao padrão de cartões perfurados.

Vamos entender isso melhor. O COBOL funciona com cinco grandes áreas de trabalho:

A primeira área vai da coluna 1 à 6. Evitamos digitar qualquer coisa nessa área, pois utilizamos esse espaço para documentação do programa. Por exemplo, se fizermos uma alteração em uma linha de código, podemos escrever nosso nome nessa área.

A coluna 7 é especial e pode indicar, por exemplo, um comentário. Em linguagens como Java, usamos barra e asterisco ou barra dupla, enquanto no Python, utilizamos a cerquilha. No COBOL, devemos colocar um asterisco na sétima coluna para que o restante seja entendido como comentário.

Nas colunas 8 a 11, temos a primeira grande área, chamada de área A. Nela, escrevemos as macro-seções do COBOL, conhecidas como divisões, seções e parágrafos. É uma área onde colocamos os macro-elementos do código, por isso, a distribuição do código está concentrada nessas áreas.

Nas colunas 12 a 72, temos a área B, onde codificamos a lógica e os comandos, isto é, toda a parte performática do código.

Nas colunas 73 a 80, o compilador do COBOL usa para identificar o número de linhas. Quando há um erro em determinado código, o compilador indica a linha e especifica o erro.

Exemplo prático

Vamos voltar ao VS Code e entender o programa que havíamos escrito anteriormente. Na área A, que é a oitava coluna, definimos duas divisões: IDENTIFICATION DIVISION e PROCEDURE DIVISION.

Para adicionar um comentário, bastaria adicionar um asterisco, na coluna 7, seguido do comentário. Assim, essa linha não será compilada. Os comandos DISPLAY e STOP estão escritos na coluna 12.

Colunas 01 a 06Coluna 07Colunas 08 a 11Colunas 12 a 72Colunas 73 a 80
IDENTIFICATION DIVISION.000010
PROGRAM-ID. OLACOBOL.000020
*COMENTARIO000030
PROCEDURE DIVISION.000040
DISPLAY "OLA COBOL".000050
STOP RUN.000060

Em 2002, o COBOL passou por uma reformulação que permite uma nova estrutura chamada Free Format. Nesse formato, não há a restrição de 80 caracteres por linha e as linhas não precisam mais respeitar as áreas.

Em outras palavras, o programa pode começar e terminar em qualquer ponto. O problema é que, mesmo com essa opção, a maioria dos programas que encontramos para manutenção ou que fazem parte de sistemas empresariais estão no modelo estruturado.

Com isso, adquirimos um pouco mais de conhecimento sobre a estrutura de um programa COBOL.

Sobre o curso Cobol: desenvolvendo aplicações com dados

O curso Cobol: desenvolvendo aplicações com dados possui 224 minutos de vídeos, em um total de 61 atividades. Gostou? Conheça nossos outros cursos de em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas