Translate

sexta-feira, 2 de fevereiro de 2007

O que é Paradigma de Programação Procedural Estruturado?

 

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

ConceitoSignificado
ProceduralBaseado em procedimentos
EstruturadoFluxo organizado
ModularizaçãoDividir programa
PERFORMExecuta rotina
IFDecisão
GO TODesvio fluxo
Spaghetti CodeCó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