| Bellacosa Mainframe apresenta laboratorio inicial para padawan cobol |
🥋 Laboratório COBOL para Padawans
Do Zero ao Primeiro Jedi do Batch
Este laboratório foi criado para alguém que nunca programou em COBOL. Os exercícios são progressivos e apresentam conceitos, sintaxe, boas práticas, armadilhas comuns e soluções comentadas.
Objetivo:
Aprender sintaxe COBOL
Escrever programas simples
Compreender variáveis
Utilizar DISPLAY
Aprender IF, PERFORM, EVALUATE
Trabalhar com tabelas OCCURS
Evitar erros comuns
Pensar como um desenvolvedor Mainframe
Laboratório 1 – Seu primeiro programa
Objetivo
Entender estrutura COBOL.
IDENTIFICATION DIVISION.
PROGRAM-ID. LAB001.
PROCEDURE DIVISION.
DISPLAY 'OLA PADAWAN'.
STOP RUN.
O que aprendemos
DIVISION
PROGRAM-ID
DISPLAY
STOP RUN
Armadilhas
Esquecer:
STOP RUN.
faz o programa terminar de maneira inadequada.
Laboratório 2 – Variáveis
Objetivo
Criar variáveis.
WORKING-STORAGE SECTION.
01 WS-NOME PIC X(20).
01 WS-IDADE PIC 99.
Programa
MOVE 'VAGNER' TO WS-NOME.
MOVE 52 TO WS-IDADE.
DISPLAY WS-NOME.
DISPLAY WS-IDADE.
Boas práticas
Prefixo WS
WS-NOME
WS-SALARIO
WS-TOTAL
Evite
NOME
X1
ABC
Laboratório 3 – MOVE
Objetivo
Copiar dados.
MOVE 100 TO WS-VALOR.
MOVE WS-VALOR TO WS-TOTAL.
Erro comum
Mover texto para campo numérico
Errado
MOVE 'ABC' TO WS-IDADE.
Laboratório 4 – ACCEPT
Ler teclado.
DISPLAY 'DIGITE SEU NOME'.
ACCEPT WS-NOME.
DISPLAY WS-NOME.
Laboratório 5 – Soma
Objetivo
Calcular.
01 A PIC 999.
01 B PIC 999.
01 C PIC 9999.
ADD A B GIVING C.
DISPLAY C.
Alternativa
COMPUTE C=A+B.
Laboratório 6 – Subtração
SUBTRACT A FROM B.
DISPLAY B.
Laboratório 7 – Multiplicação
MULTIPLY A BY B.
DISPLAY B.
Laboratório 8 – Divisão
DIVIDE A INTO B.
DISPLAY B.
Melhor
DIVIDE A INTO B GIVING C.
Laboratório 9 – IF
Objetivo
Decisão.
IF WS-IDADE >=18
DISPLAY 'MAIOR'
ELSE
DISPLAY 'MENOR'
END-IF.
Boa prática
Sempre
END-IF
Laboratório 10 – IF aninhado
IF IDADE >60
DISPLAY 'IDOSO'
ELSE
IF IDADE >=18
DISPLAY 'ADULTO'
ELSE
DISPLAY 'MENOR'
END-IF
END-IF.
Laboratório 11 – EVALUATE
Mais elegante.
EVALUATE NOTA
WHEN 10
DISPLAY 'EXCELENTE'
WHEN 8
DISPLAY 'OTIMO'
WHEN OTHER
DISPLAY 'ESTUDAR'
END-EVALUATE.
É o SWITCH do COBOL.
Laboratório 12 – PERFORM
Criando parágrafos.
PERFORM MOSTRAR.
MOSTRAR.
DISPLAY 'OLA'.
Boa prática
Dividir lógica.
Não fazer:
500 linhas seguidas.
Laboratório 13 – PERFORM TIMES
PERFORM 5 TIMES
DISPLAY 'COBOL'
END-PERFORM.
Laboratório 14 – PERFORM UNTIL
MOVE 1 TO I.
PERFORM UNTIL I >5
DISPLAY I
ADD 1 TO I
END-PERFORM.
Resultado
1
2
3
4
5
Laboratório 15 – Tabelas OCCURS
01 WS-NUMEROS.
05 WS-NUM OCCURS 5 TIMES PIC 999.
Preenchendo
MOVE 10 TO WS-NUM(1).
MOVE 20 TO WS-NUM(2).
MOVE 30 TO WS-NUM(3).
Laboratório 16 – Percorrer tabela
01 I PIC 9.
PERFORM VARYING I FROM 1 BY 1 UNTIL I >5
DISPLAY WS-NUM(I)
END-PERFORM.
Muito usado em produção.
Laboratório 17 – Strings
STRING
'NOME='
WS-NOME
DELIMITED BY SPACE
INTO WS-SAIDA.
DISPLAY WS-SAIDA.
Laboratório 18 – INSPECT
Contar letras.
INSPECT WS-TEXTO
TALLYING WS-QTD
FOR ALL 'A'.
Laboratório 19 – Inicialização
INITIALIZE REGISTRO.
Substitui:
MOVE SPACES TO REGISTRO.
MOVE ZEROS TO REGISTRO.
Laboratório 20 – Mini Projeto Final
Cadastro simples
Menu
1-Incluir
2-Consultar
3-Sair
Variáveis
01 OPCAO PIC 9.
01 NOME PIC X(30).
01 IDADE PIC 99.
Fluxo
PERFORM UNTIL OPCAO=3
DISPLAY MENU
ACCEPT OPCAO
EVALUATE OPCAO
WHEN 1
PERFORM INCLUIR
WHEN 2
PERFORM CONSULTAR
WHEN 3
DISPLAY 'ATE LOGO'
WHEN OTHER
DISPLAY 'INVALIDO'
END-EVALUATE
END-PERFORM.
📚 Erros Mais Comuns do Padawan COBOL
| Erro | Problema |
|---|---|
| Esquecer ponto final | Compilação falha |
| Não usar END-IF | Código confuso |
| Índice fora do OCCURS | ABEND |
| Mover texto para PIC 9 | Dados inválidos |
| Divisão por zero | S0CB |
| Variável não inicializada | Resultado imprevisível |
| Não usar GIVING | Sobrescreve dados |
| PERFORM infinito | Loop sem fim |
| Nomes genéricos | Manutenção difícil |
| Misturar lógica em um único parágrafo | Código espaguete |
🎓 Checklist do Padawan COBOL
Ao concluir os 20 laboratórios, o aluno deverá saber:
✅ Criar programas COBOL
✅ Declarar variáveis
✅ Usar PIC X e PIC 9
✅ Fazer cálculos
✅ Receber dados com ACCEPT
✅ Exibir informações com DISPLAY
✅ Trabalhar com IF e EVALUATE
✅ Criar laços com PERFORM
✅ Utilizar OCCURS
✅ Manipular strings
✅ Inicializar estruturas
✅ Identificar erros comuns
✅ Desenvolver pequenos programas estruturados
✅ Aplicar boas práticas de nomenclatura e modularização
Este conjunto de laboratórios fornece uma base sólida para avançar posteriormente para arquivos sequenciais, VSAM, JCL, DB2, CICS e desenvolvimento COBOL empresarial em IBM z/OS.
Apresentação do Laboratório COBOL para Padawans
Este laboratório foi concebido para desenvolvedores iniciantes que desejam aprender COBOL de maneira prática, gradual e estruturada. O principal objetivo é fornecer uma base sólida sobre a linguagem, permitindo que o estudante compreenda sua sintaxe, suas instruções fundamentais e as boas práticas utilizadas em ambientes corporativos, especialmente no ecossistema IBM Z.
A didática adotada é baseada em pequenos desafios progressivos, nos quais cada exercício apresenta um conceito novo, seguido por uma solução comentada, observações sobre armadilhas comuns e recomendações de codificação. Essa abordagem reduz a curva de aprendizado, incentiva a experimentação e ajuda o aluno a desenvolver confiança ao escrever seus primeiros programas.
COBOL é uma linguagem predominantemente associada ao paradigma de programação estruturada e procedural. Seu modelo enfatiza a decomposição do problema em etapas sequenciais, a modularização por meio de parágrafos e seções, além do uso de estruturas de decisão e repetição claramente definidas. Essa característica torna a linguagem particularmente adequada para o processamento de regras de negócio, cálculos financeiros e sistemas transacionais de grande porte.
Realizar este laboratório permite ao estudante adquirir fundamentos essenciais antes de avançar para tópicos mais complexos, como manipulação de arquivos, JCL, VSAM, DB2, CICS e modernização de aplicações. Mais do que aprender comandos, o participante desenvolve uma mentalidade disciplinada de desenvolvimento, manutenção e qualidade de software, altamente valorizada no mercado de tecnologia corporativa.