Neosify - Buy, Stake & Earn Crypto
Neosify - Buy, Stake & Earn Crypto
Neosify - Buy, Stake & Earn Crypto

COBOL - aula 2 - sintaxe da linguagem COBOL e suas divisões

By lingy | Lingy | 2 Nov 2021


COBOL é uma linguagem bem verbosa, que foi pensada de forma que sua sintaxe seja parecida com ler um texto em inglês. Apesar de verbosa, a sintaxe da linguagem é bem simples, e baseada no uso de algumas palavras reservadas que executam ações específicas (os "verbos COBOL").

A procedure division

Essa é a parte do programa que executa os comandos. Dividida em seções, parágrafos, sentenças e comandos, é análoga a seção begin do Pascal, onde é possível executar os comandos.

Hierarquicamente, a Procedure division se divide de acordo com o organograma abaixo:

Estrutura da procedure division

Toda sessão tem que ter ao menos um parágrafo, que tem que ter ao menos uma sentença, que deve ter ao menos um comando, e todo o programa COBOL deve ter ao menos um comando.

Seções

Uma seção é um trecho que tem um ou mais parágrafos. Cada seção é identificada por um nome seguido pela palavra SECTION. Uma seção só termina no início da seção seguinte, e duas seções não podem ter o mesmo nome.

Parágrafos

Um parágrafo é um trecho de código que contém uma ou mais sentenças. Da mesma forma que as seções, cada parágrafo é identificado pelo nome seguido pela palavra reservada PARAGRAPH. Dois parágrafos não podem ter o mesmo identificador a menos que estejam em seções diferentes.

Sentenças

Uma sentença é um trecho do código que contém um ou mais comandos. Pode se estender por mais de uma linha e é terminada por um ponto final.

Comandos

Um comando contém apenas um verbo COBOL, um sujeito e um nome de objeto opcional. Exemplos: MOVE A TO B ou PERFORM E.

Podemos executar determinados trechos do programa com os seguintes comandos:

PERFORM <seção>
PERFORM <parágrafo>
PERFORM <parágrafo 1> THRU <parágrafo 2>
GO TO <parágrafo>

Estrutura condicional “IF”

A estrutura condicional IF do COBOL é construída dessa dorma:

Estrutura de um if/else

Podemos aninhar várias estruturas condicionais assim:

Vários if aninhados

Lembrando que, em COBOL:

  • 1 – Todo IF precisa ter um END-IF.
  • 2 – Um IF não precisa ter um ELSE.
  • 3 – Um ELSE vale pro último IF sem ELSE dentro de um END-IF dentro do ninho.

Estrutura condicional “EVALUATE WHEN”

O comando EVALUATE WHEN é o switch do COBOL, um comando que executa uma série de ações caso uma expressão seja verdadeira. É uma alternativa mais simples para um IF aninhado, e pode ser definido da seguinte maneira::

Instrução evaluate when

Estrutura de repetição PERFORM UNTIL

A principal estrutura de repetição do COBOL é dada pelo comando PERFORM UNTIL. Sua sintaxe básica é dada por:

Estrutura perform until

O parâmetro VARYING FROM TO funciona como o for de outras linguagens. A omissão desse parâmetro faz com que a estrutura se comporte como uma estrutura de repetição do while.

Outros comandos básicos

  • DISPLAY: É responsável pela exibição de texto para o usuário do sistema.
  • ACCEPT X FROM Y: É responsável pela entrada de dados para uma variável.
  • MOVE X TO Y: É o comando que atribui valores a uma variável.
  • ADD X TO Y: Adiciona um valor a uma variável.
  • SUBTRACT X FROM Y: Subtrai um valor de uma variável.
  • GO TO/PERFORM: Executa um trecho específico do programa.
  • COMPUTE: É utilizado quando o usuário precisa fazer cálculos matemáticos com uma
    maior complexidade.

Exemplos de programa:

Hello, World!

      IDENTIFICATION DIVISION.
      PROGRAM-ID. HELLO-WORLD.       // define o nome da aplicação
      PROCEDURE DIVISION.
          DISPLAY 'Ola, mundo'.      //imprime a string na tela
          STOP RUN.                  // fim do programa

Bottles of Beer (exemplo extraído de curso da WREducacional)

Bottles of Beer em COBOL

Mas e você, o que achou? Deixa sua opinião aí nos comentários.

Lembrando que você também pode ler meus textos na Odysee, os meus artigos saem primeiro lá.

How do you rate this article?

0



Lingy
Lingy

My personal blog about technology

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.