Translate

Mostrar mensagens com a etiqueta COBOL para Iniciantes. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta COBOL para Iniciantes. Mostrar todas as mensagens

domingo, 15 de junho de 2025

Laboratório Prático de COBOL Mainframe

 

Bellacosa Mainframe e o laboratorio pratico de COBOL

☕ Um Café no Bellacosa Mainframe

Laboratório Prático de COBOL Mainframe

Este laboratório foi desenvolvido utilizando uma metodologia de aprendizagem incremental, semelhante ao treinamento de um Padawan: cada exercício introduz um novo conceito, reforça os conhecimentos anteriores e prepara o aluno para o próximo desafio. A ideia não é apenas aprender comandos da linguagem COBOL, mas compreender como um programador de Mainframe pensa, organiza e resolve problemas de negócio.

Durante a execução dos laboratórios, preste atenção principalmente na estrutura dos programas, na nomenclatura das variáveis, na organização das divisões (DIVISION, SECTION e PARAGRAPH), na indentação do código e nas mensagens emitidas pelo compilador. Um bom desenvolvedor COBOL dedica mais tempo entendendo a lógica do programa do que simplesmente escrevendo instruções.

Evite copiar e colar as soluções. Antes de consultar o gabarito, tente resolver cada exercício sozinho. Os erros fazem parte do aprendizado e ajudam a desenvolver o raciocínio lógico necessário para ambientes corporativos.

Ao concluir cada laboratório, faça pequenas modificações no programa: altere valores, acrescente novos campos, crie validações e experimente diferentes abordagens. Essa prática fortalece a compreensão da linguagem e aumenta sua confiança.

Para evoluir, revise frequentemente os laboratórios anteriores, leia códigos escritos por outros desenvolvedores, estude JCL, VSAM, Db2 e CICS paralelamente e mantenha uma rotina constante de prática. No Mainframe, experiência é construída linha por linha, programa por programa e desafio após desafio.

20 Labs para Transformar um Jovem Aprendiz em um Programador COBOL Padawan

Objetivo: Este laboratório foi criado para quem possui apenas conhecimentos básicos de informática (Windows, arquivos, pastas e editores de texto) e deseja aprender COBOL de forma prática, evoluindo passo a passo até os primeiros programas profissionais em IBM Mainframe.

Cada laboratório foi organizado da seguinte forma:

  • 🎯 Objetivo

  • 📚 O que você aprenderá

  • 🛠️ Passo a passo

  • 💻 Exercício

  • ✅ Solução comentada

  • 💡 Dicas Bellacosa

  • ☕ Curiosidade Mainframe


LAB 01 – Seu Primeiro "Hello World"

🎯 Objetivo

Aprender a estrutura básica de um programa COBOL.

📚 Conceitos

  • IDENTIFICATION DIVISION

  • PROCEDURE DIVISION

  • DISPLAY

  • STOP RUN

🛠️ Passo a passo

  1. Crie um novo programa.

  2. Dê o nome HELLO001.

  3. Digite a estrutura mínima.

  4. Compile.

  5. Execute.

💻 Exercício

Exiba:

Olá Mainframe!

✅ Solução

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO001.

PROCEDURE DIVISION.
    DISPLAY "OLA MAINFRAME!"
    STOP RUN.

💡 Dicas

Sempre utilize nomes significativos.

Evite nomes como:

AAA001
TESTE99
PROGRAMA1

Prefira:

CLIENTE
CALCSAL
FATURA

☕ Curiosidade

Um programa COBOL pode conter dezenas de milhares de linhas sem perda de legibilidade quando bem organizado.


LAB 02 – Conhecendo as DIVISIONS

Objetivo

Entender a organização de um programa COBOL.

Aprender:

  • Identification

  • Environment

  • Data

  • Procedure

Exercício

Adicione todas as DIVISIONS mesmo que estejam vazias.

Curiosidade

Essa organização existe desde 1959.

Ainda funciona perfeitamente.


LAB 03 – Variáveis (WORKING-STORAGE)

Aprender:

  • PIC X

  • PIC 9

  • VALUE

Exercício

Criar:

Nome
Idade
Cidade

Mostrar na tela.

Solução

Utilizar DISPLAY para cada variável.

Dica

Pense na WORKING-STORAGE como a memória RAM do programa.


LAB 04 – MOVE

Aprender:

MOVE

Exercício

Mover:

JOÃO

para

CLIENTE

Depois mostrar.

Curiosidade

MOVE é uma das instruções mais utilizadas do COBOL.


LAB 05 – Matemática

Aprender

ADD

SUBTRACT

MULTIPLY

DIVIDE

COMPUTE

Exercício

Criar uma calculadora simples.

Entrada:

10

20

Saída:

Soma

Subtração

Multiplicação

Divisão

Dica

Prefira COMPUTE quando a expressão ficar grande.


LAB 06 – IF

Aprender decisões.

Exercício

Se idade >=18

Mostrar

MAIOR

Senão

MENOR

Curiosidade

IF aninhado pode ficar difícil de ler.

Nos próximos labs veremos alternativas melhores.


LAB 07 – EVALUATE

Aprender o "switch" do COBOL.

Exercício

Digite:

1
2
3

Mostrar:

Janeiro

Fevereiro

Março

Dica Bellacosa

Muitos programadores usam IF.

Os experientes preferem EVALUATE.


LAB 08 – PERFORM

Criar laços.

Exercício

Mostrar:

1

2

3

...

10

Aprender

PERFORM VARYING


LAB 09 – Tabelas

Aprender:

OCCURS

Exercício

Cadastrar

5 nomes.

Mostrar todos.

Curiosidade

Aqui começa o verdadeiro poder do COBOL.


LAB 10 – SEARCH

Pesquisar dentro da tabela.

Exercício

Encontrar

MARIA

na lista.

Dica

Depois compare SEARCH com SEARCH ALL.


LAB 11 – STRING

Concatenar textos.

JOAO

+

SILVA

Resultado

JOAO SILVA

LAB 12 – UNSTRING

Separar:

JOAO;SILVA;25

em três campos.

Hoje isso é muito usado em integração de sistemas.


LAB 13 – Arquivos Sequenciais

Criar arquivo.

Gravar:

ANA

CARLOS

PEDRO

Depois ler.

Curiosidade

Antes dos bancos de dados, praticamente tudo funcionava assim.


LAB 14 – Arquivos Indexados (VSAM)

Introdução ao KSDS.

Entender:

  • Chave

  • Registro

  • Índice

Mesmo que o ambiente de testes utilize arquivos simplificados, o conceito prepara você para ambientes corporativos.


LAB 15 – Datas

Utilizar:

FUNCTION CURRENT-DATE

Mostrar:

  • Ano

  • Mês

  • Dia

Dica

Evite criar rotinas próprias de data quando houver função intrínseca.


LAB 16 – Funções Intrínsecas

Explorar:

  • LENGTH

  • UPPER-CASE

  • LOWER-CASE

  • NUMVAL

  • INTEGER

  • RANDOM

Exercício

Converter um nome para maiúsculas e minúsculas.


LAB 17 – Modularização

Criar:

Programa Principal

Subprograma

Enviar parâmetros.

Curiosidade

Grandes bancos possuem milhares de subprogramas reutilizados por diversos sistemas.


LAB 18 – SQL em COBOL

Introdução ao Embedded SQL.

Criar:

SELECT

INSERT

UPDATE

Mesmo sem Db2 instalado, entender a sintaxe e o fluxo de execução já coloca o aluno em contato com a realidade do Mainframe.


LAB 19 – JSON

Gerar JSON.

Utilizar:

JSON GENERATE

Depois fazer:

JSON PARSE

Curiosidade

Hoje milhares de APIs REST utilizam exatamente essas instruções para conversar com aplicativos móveis e sistemas web.


LAB 20 – Projeto Final

Construir um pequeno sistema de cadastro.

Funcionalidades:

  • Cadastrar cliente

  • Alterar cliente

  • Excluir cliente

  • Consultar cliente

  • Relatório

  • Total de clientes

  • Validação de dados

  • Tratamento de erros

  • Mensagens amigáveis

Neste projeto, o aluno reúne praticamente todos os conceitos aprendidos nos laboratórios anteriores.


Dicas de Codificação que Todo Padawan Deveria Conhecer

  • Escreva um programa por vez e faça-o funcionar antes de adicionar novas funcionalidades.

  • Use nomes claros para variáveis: WS-NOME-CLIENTE é melhor que A1.

  • Comente por que o código existe, não apenas o que ele faz.

  • Padronize a indentação. Um código bem alinhado é muito mais fácil de manter.

  • Evite duplicação de lógica. Se um trecho será usado várias vezes, transforme-o em um parágrafo ou subprograma.

  • Compile frequentemente. Encontrar um erro logo após escrevê-lo é muito mais fácil do que depurar centenas de linhas depois.

  • Leia mensagens do compilador com atenção; elas ensinam muito.


Easter Eggs do COBOL

🔹 EVALUATE TRUE pode substituir longas cadeias de IF.

🔹 88-Level Condition Names deixam o código muito mais legível, permitindo escrever condições como IF CLIENTE-ATIVO.

🔹 REDEFINES permite enxergar a mesma área de memória de formas diferentes, um recurso poderoso quando usado com critério.

🔹 COPYBOOKS evitam duplicação e garantem padronização entre programas.

🔹 INSPECT pode substituir diversos loops para contar ou substituir caracteres.

🔹 INITIALIZE é uma forma elegante de limpar grupos inteiros de variáveis.

🔹 PERFORM THRU, apesar de existir, deve ser usado com cautela em novos projetos.


Como Evoluir Após os 20 Labs

Se você concluiu todos os laboratórios, já domina uma base sólida de COBOL. O próximo passo é expandir seu conhecimento para o ecossistema IBM Z.

Uma trilha recomendada é:

  1. JCL (Job Control Language)

  2. TSO/ISPF

  3. VSAM

  4. Db2 for z/OS

  5. CICS Transaction Server

  6. IMS DB/DC

  7. SORT (DFSORT e SyncSort)

  8. REXX

  9. Git e GitHub

  10. VS Code + Zowe Explorer

  11. DevOps para Mainframe

  12. APIs REST com z/OS Connect

  13. IBM MQ

  14. Testes com ZUnit

  15. Observabilidade, OpenTelemetry e automação com Ansible

Ao final dessa jornada, o aluno deixa de ser apenas um iniciante e passa a compreender como os grandes bancos, seguradoras e empresas de cartão de crédito desenvolvem e mantêm sistemas que processam milhões de transações diariamente.

Conclusão

Estes 20 laboratórios foram pensados para ensinar COBOL da mesma forma que um mestre Jedi ensina um Padawan: começando pelos fundamentos, praticando continuamente e aumentando a dificuldade de forma gradual. Em vez de decorar comandos, o aluno aprende a raciocinar como um desenvolvedor Mainframe, compreendendo não apenas como escrever código, mas por que determinadas práticas existem e como elas contribuem para criar sistemas robustos, seguros e preparados para décadas de evolução.