Translate

sábado, 12 de julho de 2025

Paradigma Procedural: Logica de Programação para Padawans

Bellacosa Mainframe falando sobre o Paradigma Procedural em Logica de Programação

Paradigma Procedural: Logica de Programação para Padawans

4,349 followers

Introdução


A melhor analogia seriam os bloquinhos Lego, montando e remontando partes do código, no caso mainframe usando o Ctrl-C & Ctrl-V, em conjunto com os slots de memória do TSO.

A seguir apresento conceitos importantes para fixar e entender este tipo de paradigma que surgiu nos anos 70, para substituir e ordenar a velha programação monolítica, numa das crises do software. Com duas décadas até então, os administradores de CPD, descobriram a duras penas, que algo não ia bem, programas muito grandes, de difícil análise, desvios via GO TO e mil e uma função dentro do mesmo programa.

Pensando nisso, criaram novas regras, novos conceitos e maneiras de fazer as coisas melhor, pensando sempre no pobre Analista de Sustentação, que seria acionado em plena madrugada, quando um processo Batch abendasse.


Paradigma Procedural


Entre essas regras, refinaram os seguintes conceitos:


Procedimentos


Como mencionado anteriormente, os procedimentos são a espinha dorsal da programação procedural. Eles são criados para realizar tarefas específicas e podem receber argumentos e retornar valores.

A capacidade de reutilizar procedimentos em diferentes partes de um programa é uma das vantagens significativas desse paradigma, lembrando cada procedimento o ideal é que tenha apenas uma entrada e uma saída. Podem ser internos parágrafos / seções ou externos Sub-Programas, Programas Aninhados chamados via CALL.


Estruturação do Código


Na programação procedural, o código é frequentemente estruturado em procedimentos chamados em uma ordem específica para executar uma tarefa maior. Isso ajuda a dividir um programa complexo em partes gerenciáveis, facilitando o desenvolvimento e a manutenção. Evitando cair na tentação de criar grandes monólitos e código com complexidade muito elevado.


Variáveis Locais e Globais

As linguagens procedurais geralmente suportam variáveis locais e globais. Variáveis locais são acessíveis apenas no procedimento em que foram declaradas, enquanto variáveis globais podem ser acessadas em todo o programa. No caso de um programa COBOL, utilizamos pseudo-globais, pois devido à característica da Linguagem, as variáveis são criadas na Data Division e estão disponíveis para uso no programa inteiro, porém o programador, pode segmentar seu uso de acordo com a tarefa: arquivos, banco de dados, sub-rotinas, etc.

Controle de Fluxo

O controle de fluxo é uma parte crucial da programação procedural. Isso envolve estruturas de controle, como condicionais (if-else, evaluate) e loops (perform ), que permitem a tomada de decisões e a repetição de tarefas.

Reutilização de Código.

Uma das principais vantagens das linguagens procedurais é a capacidade de reutilização de código. Os procedimentos podem ser chamados várias vezes em um programa, economizando tempo e esforço na programação. Ademais, no COBOL com o conceito de COPY, podemos utilizar COPÝ PROCEDURES para compartilhar código entre vários programas e, ao mesmo tempo, ter apenas um único ponto de atualização.


Utilizando sub-programas, aquelas partes comuns a diversos processos também podem ser recicladas e reutilizadas em N programas, lembrando que a partir da versão 6.3 do COBOL o programador pode criar funções intrínsecas próprias e compartilhar entre sistemas.

Operações Logicas.

Como foi visto até o momento, um programa sem operações logicas fica muito limitado, sendo somente um executor de script, seguindo um fluxo sem muita variação e sem muito pensar, apenas executando tarefas repetitivas.

Não existe certo nem errado, tudo depende da necessidade imperativa ao codificar, porém, ao colocarmos inteligência, criando controles de fluxo, desvios, repetições e validações, nosso código ficará muito mais poderoso.

Para isso, em perguntas sempre teremos duas respostas: Sim ou Não, Verdadeiro ou Falso, Maior ou Menor, Maior/igual ou Menor, Maior ou Menor/Igual, esta dualidade é muito importante em nosso processamento de dados.

E para dar mais poder e aumentar a quantidade de respostas, podemos incluir mais alguns operadores: NOT, AND e OR, criar expressões aritméticas e expressões comparativas, a seguir estudaremos cada um deles.


Operadores e Expressões


Expressões executam ações específicas, baseadas em um operador com um ou dois operandos. Um operando pode ser uma constante, uma variável ou um resultado de função.

Os operadores são aritméticos, lógicos e relacionais.

Operadores Aritméticos ( +, -, , /, *, % )


Os operadores aritméticos executam operações matemáticas, como adição e subtração com operandos. Há dois tipos de operadores matemáticos: unário e binário. Os operadores unários executam uma ação com um único operando. Operadores binários executam ações com dois operandos. Em uma expressão complexa, (dois ou mais operandos), a ordem de avaliação depende de regras de precedência.


Operadores Aritméticos Unários


Operadores unários são operadores aritméticos que desempenham uma ação em um único operando. A linguagem de script reconhece o negativo do operador unário (-).

O operador unário negativo inverte o sinal de uma expressão de positivo para negativo ou vice-versa. O efeito geral é de multiplicar o número por -1.

Conheça NOT, AND e OR

NOT

Converte a pergunta na negativa, realizando a instrução somente se for FALSE a resposta.

Exemplo:

IF NOT IDADE > 18
  ....
END-IF

Neste exemplo somente irá executar as instruções se a IDADE for menor que 18

AND

Nesta situação, os comandos somente serão executados se ambas as respostas forem TRUE.

Exemplo:

IF  IDADE > 18 AND SEXO = “MASCULINO”
   ....
END-IF

Neste exemplo somente irá executar as instruções se a IDADE for maior que 18 e SEXO igual a masculino.

Resultado de Uso de Operadores Lógicos.

A seguir apresento resultados de expressões logicas no COBOL, lembrando que podemos unir uma ou mais expressões, utilizando de Parênteses para unificar condições complexas.

AND


Article content

OR

Article content


Operadores Aritméticos Binários

Article content

Operadores Relacionais


Article content

Para Fixar

• Programa fonte:

É o conjunto de palavras ou símbolos escritos de forma ordenada, único fonte ou um conjunto de fontes usando copy books e copy procedures, contendo instruções em uma das linguagens de programação existentes, de maneira lógica.

• Programa objeto:

No caso do COBOL, os comandos estão em linguagem Natural e ainda se utilizam de Macros Db2 e CICS. Que necessitam ser explodidas/expandidas, gerando um único código-fonte. Lembrando que existem linguagens compiladas e as que são interpretadas (JCL). As linguagens compiladas, ou sejam, são link-editadas e após ser compilado o código-fonte, transformam-se em software na LOADLIB, ou seja, programas executáveis.

• Compilador:

É usado principalmente para os programas que traduzem o código de fonte de uma linguagem de programação de alto nível (Natural) para uma linguagem de programação de baixo nível (Assembler).

• Linguagem de Alto Nível:

É como se chama, na Ciência da Computação de linguagens de programação, uma linguagem com um nível de abstração relativamente elevado, longe do código de máquina e mais próximo da linguagem humana.


• Linguagem de Baixo Nível:

O Assembler trata-se de uma linguagem de programação que compreende as características da arquitetura do computador. Assim, utiliza somente instruções do processador, para isso é necessário conhecer os registradores da máquina.

Article content


Espero ter ajudado, lembre-se que é um trabalho continuo.


Article content


Article content

Mais momento jabá, para distrair, uma aventura as margens do Rio Douro em Portugal, conhecendo a cidade de Peso da Régua, lar do Vinho do Porto e um parque ferroviário das antigas, visite meu vídeo e veja para onde fui desta vez:


<iframe width="420" height="315" src="https://www.youtube.com/embed/oZmprh4Z-fk?autoplay=1&mute=1"> </iframe>



https://www.youtube.com/watch?v=oZmprh4Z-fk



Article content

https://www.linkedin.com/in/vagnerbellacosa/

Article content

https://github.com/VagnerBellacosa/


Pode me dar uma ajudinha no YouTube?

Article content

https://www.youtube.com/user/vagnerbellacosa

☕💣🤖 O FIREWALL DA INTIMIDADE — QUANDO CIENTISTAS TENTARAM BLOQUEAR O DEPLOY DOS RELACIONAMENTOS ARTIFICIAIS

 

Bellacosa Mainframe e o firewall da intimidade

☕💣🤖 O FIREWALL DA INTIMIDADE — QUANDO CIENTISTAS TENTARAM BLOQUEAR O DEPLOY DOS RELACIONAMENTOS ARTIFICIAIS

Em 21 de setembro de 2015, o portal Gizmodo Brasil (Gizmodo UOL) publicou a reportagem "Não faça sexo com robôs, pedem especialistas", assinada por Kaila Hale-Stern. A matéria repercutia o lançamento da Campaign Against Sex Robots, iniciativa liderada por Kathleen Richardson (Universidade De Montfort, Reino Unido) e Erik Billing (Universidade de Skövde, Suécia), que defendia restrições ao desenvolvimento de robôs sexuais inteligentes.

O mais interessante é que esta não era uma discussão sobre tecnologia.

Era uma discussão sobre civilização.

E talvez tenha sido um dos primeiros momentos em que acadêmicos tentaram colocar um firewall entre a humanidade e um futuro que já começava a ser construído.


O ALERTA NÃO ERA SOBRE ROBÔS

A maioria das pessoas leu a manchete e imaginou uma reação moralista.

Mas observando o conteúdo da campanha, o foco era outro.

Os pesquisadores estavam preocupados com:

  • objetificação humana;

  • redução da empatia;

  • deterioração das relações interpessoais;

  • substituição de vínculos reais por interações artificiais.

Ou seja:

o problema não era a máquina.

O problema era o comportamento humano potencialmente incentivado pela máquina.


O PRIMEIRO CHANGE REQUEST DA ÉTICA DIGITAL

No mundo Mainframe existe algo chamado Change Management.

Nenhuma mudança relevante entra em produção sem análise.

Sem avaliação de riscos.

Sem plano de contingência.

Sem governança.

A campanha contra robôs sexuais foi exatamente isso.

Um enorme RFC (Request For Change) social.

Os pesquisadores estavam dizendo:

"Talvez devêssemos analisar os impactos antes de colocar isso em produção global."


O CASO ROXXXY APARECE NOVAMENTE

A reportagem menciona Roxxxy, um dos primeiros robôs sexuais comerciais amplamente divulgados. O produto já despertava interesse de mercado e simbolizava uma mudança importante: a passagem do conceito de parceiro artificial da ficção científica para a realidade comercial.

Curiosamente, Roxxxy aparece em praticamente todas as discussões históricas sobre o tema.

Porque foi um dos primeiros sinais de que a companhia artificial poderia se tornar um produto escalável.


A DISCUSSÃO QUE CONTINUA ATUAL EM 2026

Os críticos argumentavam que robôs sexuais poderiam reduzir a capacidade humana de desenvolver empatia através de relações mútuas.

Observe como isso se tornou ainda mais relevante hoje.

Em 2015 o debate era sobre robôs físicos.

Em 2026 o debate envolve:

  • IA conversacional;

  • companheiros virtuais;

  • avatares digitais;

  • agentes inteligentes;

  • relacionamentos mediados por algoritmos.

O hardware mudou.

A questão continua a mesma.


O ARGUMENTO CONTRÁRIO TAMBÉM ERA INTERESSANTE

A própria reportagem traz uma visão crítica ao banimento total.

O texto sugere que proibir dificilmente resolveria o problema e poderia apenas empurrar o mercado para a clandestinidade.

Essa observação lembra um princípio clássico da tecnologia.

Quando existe demanda, normalmente surge oferta.

A pergunta raramente é se uma tecnologia existirá.

A pergunta costuma ser:

como ela será regulamentada?


O ERRO MAIS COMUM DOS DEBATES TECNOLÓGICOS

Existe um padrão histórico.

Quando surge uma tecnologia nova, as pessoas costumam discutir o objeto.

Mas o impacto real quase sempre está no comportamento.

Ninguém debate apenas:

  • smartphones;

  • redes sociais;

  • streaming.

O debate é sobre o que eles fazem conosco.

Da mesma forma, a discussão sobre robôs sexuais nunca foi apenas sobre robôs.

Era sobre a redefinição dos relacionamentos.


O MEDO DOS PESQUISADORES

A campanha apresentava uma preocupação central.

A possibilidade de que relações artificiais reduzissem a necessidade de desenvolver habilidades humanas fundamentais:

  • empatia;

  • negociação;

  • reciprocidade;

  • tolerância;

  • convivência.

Em linguagem Bellacosa Mainframe:

o receio era que os usuários passassem a preferir sistemas que sempre retornam RC=0000.


O FIREWALL QUE NÃO CONSEGUIU BLOQUEAR O TRÁFEGO

O mais curioso é que, olhando hoje, percebemos que a campanha não conseguiu impedir o avanço tecnológico.

Mas registrou algo extremamente importante.

Foi um dos primeiros avisos formais de que a automação não estava chegando apenas aos empregos.

Estava chegando aos relacionamentos.


O IPL DA ÉTICA AFETIVA

Talvez os historiadores enxerguem essa reportagem como um marco.

Não porque os pesquisadores venceram.

Nem porque perderam.

Mas porque identificaram cedo uma transformação gigantesca.

A transformação da intimidade em plataforma tecnológica.

Enquanto engenheiros construíam sensores, algoritmos e sistemas de aprendizado...

alguns pesquisadores perguntavam algo muito mais profundo:

O que acontece quando uma sociedade começa a terceirizar partes da experiência emocional para software?

Essa pergunta continua sem resposta.

Mas talvez tenha sido exatamente em 2015 que ela entrou oficialmente no backlog da humanidade.

☕💣🤖 STATUS DO SISTEMA: FIREWALL ÉTICO DETECTADO. TRÁFEGO TECNOLÓGICO CONTINUA FLUINDO.

Origem: Gizmodo Brasil (UOL)
Data de publicação: 21 de setembro de 2015
Título: "Não faça sexo com robôs, pedem especialistas"


https://gizbr.uol.com.br/nao-fazer-sexo-com-robos/




☕💣🤖 TABOO — A Cronologia do Afeto Artificial

Do robô Roxxxy aos companheiros digitais alimentados por inteligência artificial, esta experiência interativa reúne análises sobre robótica social, ética da IA, solidão digital, relacionamentos sintéticos e o futuro da intimidade humana.

☕💣🤖 PROJETO TABOO
Afeto Artificial, IA, Robôs Sexuais e o Futuro dos Relacionamentos Humanos
Uma investigação Bellacosa Mainframe sobre inteligência artificial, companhia digital, robótica social, solidão tecnológica, relacionamentos sintéticos e os limites entre software e humanidade.
🚀 ABRIR PROJETO
STATUS: ONLINE