| Bellacosa Mainframe e o paradigma de programacao procedural estruturado |
O que é Paradigma de Programação Procedural Estruturado?
Quando estudamos:
COBOL;
C;
PL/I;
programação batch;
desenvolvimento no mainframe;
um conceito muito importante aparece:
programação procedural estruturada.
Ela foi uma enorme evolução na história da computação corporativa.
Primeiro: o que significa “procedural”?
Programação procedural é:
organizar programas em procedimentos e rotinas.
Exemplo:
VALIDAR
CALCULAR
GERAR-RELATORIO
Cada parte executa:
uma tarefa específica.
Então o que significa “estruturada”?
Estruturada significa:
organizar o código de forma clara, previsível e controlada.
Ela evita:
confusão;
desvios excessivos;
código caótico;
spaghetti code.
Definição simples
Programação procedural estruturada é:
um paradigma procedural que usa estruturas organizadas de fluxo e modularização.
Ela busca:
clareza;
manutenção;
organização;
legibilidade.
Analogia simples
Imagine uma cidade.
Código não estruturado
Ruas sem organização.
Tudo confuso.
Código estruturado
Cidade organizada:
avenidas;
sinais;
setores;
fluxo lógico.
Origem histórica
Nos primeiros sistemas:
Assembly;
COBOL antigo;
FORTRAN antigo;
era comum usar muitos:
GO TO
Isso criava programas extremamente difíceis de manter.
Então surgiu a programação estruturada
Com conceitos como:
blocos;
procedimentos;
loops;
IF;
modularização.
Objetivo principal
Eliminar:
spaghetti code.
O que é spaghetti code?
Código cheio de:
desvios;
GO TO;
saltos;
fluxo confuso.
Parecendo:
um prato de espaguete.
Exemplo não estruturado
GO TO A100
GO TO B200
GO TO C300
Fluxo difícil de entender.
Exemplo estruturado
IF SALDO > 0
PERFORM PROCESSA
ELSE
PERFORM ERRO
END-IF
Muito mais organizado.
Estruturas fundamentais da programação estruturada
Sequência
Execução linear.
Decisão
Escolha de caminhos.
Repetição
Loops controlados.
Fluxo estruturado clássico
INICIO
↓
LER DADOS
↓
VALIDAR
↓
PROCESSAR
↓
GERAR SAÍDA
↓
FIM
Como isso aparece no COBOL?
Muito fortemente.
Exemplo COBOL estruturado
PERFORM UNTIL EOF = 'S'
READ CLIENTE
AT END
MOVE 'S' TO EOF
NOT AT END
PERFORM PROCESSA-CLIENTE
END-READ
END-PERFORM
Isso é estruturado porque:
possui fluxo claro;
evita GO TO;
usa blocos organizados.
O que é modularização?
Dividir programa em partes menores.
Exemplo
VALIDAR-CLIENTE
CALCULAR-JUROS
GERAR-RELATORIO
Benefícios
manutenção;
reutilização;
clareza;
testes mais fáceis.
O que é bloco estruturado?
Código delimitado logicamente.
Exemplos COBOL
IF / END-IF
EVALUATE
PERFORM UNTIL
Antes da programação estruturada
Muito código tinha:
GO TO
em excesso.
Problema disso
Fluxo imprevisível.
Programação estruturada ajudou a:
reduzir bugs;
melhorar manutenção;
aumentar confiabilidade.
O COBOL moderno é estruturado?
Sim.
Principalmente usando:
END-IF;
EVALUATE;
PERFORM;
inline PERFORM.
Exemplo batch estruturado
LER ARQUIVO
↓
VALIDAR
↓
CALCULAR
↓
ATUALIZAR DB2
↓
GERAR RELATÓRIO
Como isso ajuda no mainframe?
Mainframes processam:
milhões;
bilhões de registros.
Precisam de:
estabilidade;
clareza;
manutenção segura.
Programação estruturada trouxe exatamente isso
Características da programação procedural estruturada
Fluxo previsível
Menos GO TO
Uso de procedimentos
Modularização
Blocos organizados
Facilidade manutenção
Legibilidade
Vantagens
Código mais limpo
Mais fácil de entender
Menos erros
Melhor debugging
Excelente para batch
Muito usada em COBOL
Desvantagens
Sistemas gigantes ainda podem ficar complexos
Exige disciplina de programação
Modularização ruim pode dificultar manutenção
Procedural estruturado vs procedural antigo
Antigo
Muito:
GO TO
Estruturado
Mais:
IF
PERFORM
EVALUATE
Procedural estruturado vs orientação a objetos
Estruturado
Organiza:
procedimentos.
OO
Organiza:
objetos/classes.
Curiosidades incríveis
1. A programação estruturada revolucionou o desenvolvimento corporativo
2. Grande parte do COBOL moderno segue princípios estruturados
3. Muitos sistemas bancários antigos passaram por “reestruturação” para remover GO TO
4. Estruturação ajudou muito na manutenção de sistemas gigantes
Erros comuns de iniciantes
1. Usar GO TO demais
2. Criar procedimentos enormes
3. Misturar lógica demais
4. Não modularizar
Dicas importantes
Use:
PERFORM;
IF;
EVALUATE.
Evite GO TO excessivo
Divida lógica em pequenas rotinas
Organize fluxo claramente
Como isso aparece no dia a dia?
Praticamente em:
COBOL;
batch;
DB2 procedural;
faturamento;
bancos;
folha salarial.
Exemplo simplificado completo
MAIN
↓
LER CLIENTES
↓
VALIDAR
↓
CALCULAR
↓
ATUALIZAR DB2
↓
GERAR RELATÓRIO
↓
FIM
Resumo rápido
| Conceito | Significado |
|---|---|
| Procedural | Baseado em procedimentos |
| Estruturado | Fluxo organizado |
| Modularização | Dividir programa |
| PERFORM | Executa rotina |
| IF | Decisão |
| GO TO | Desvio fluxo |
| Spaghetti Code | Código confuso |
Conclusão
O paradigma de programação procedural estruturado organiza programas em procedimentos claros e fluxos previsíveis, reduzindo complexidade e facilitando manutenção.
Ele é a base do COBOL moderno e do processamento batch corporativo no ambiente mainframe IBM Z.
Sem comentários:
Enviar um comentário