A Essência da Programação – Parte III (Final)
Dessa forma proposta – veja a partes I e II deste artigo – acredito que o aprendizado do aluno em lógica de programação logrará mais êxito. Ele aprenderá a pensar através das bases da lógica computacional, desenvolverá o seu raciocino lógico visando construção de algoritmos e, depois daí, a ida para qualquer linguagem de programação, até mesmo o portugol, facilita bastante. Afinal, qualquer estrutura (condicional, repetição, etc.) de qualquer linguagem de programação pode ser representada logicamente através desta nova forma. Vejam, por exemplo, um exemplo de representação da estrutura do..while/repeat..until/repita..até :
| loop: | <comando1> |
| <comando2> | |
| … | |
| op(<condição>)? F: desvio loop |
Já um while/enquanto pode ser representado assim:
| loop: | op(<condição>)? F: desvio continua |
| <comando1> | |
| <comando2> | |
| … | |
| desvio loop | |
| continua: | |
| <comando10> | |
| <comando11> | |
| … |
O aluno começando pela essência do funcionamento interno do computador, da lógica de programação aplicada a lógica computacional, ele chegará, e acho que da melhor forma, à essência da programação – só não chegará se raciocínio lógico não for o seu dom ou ele não puder desenvolver esse dom, conforme explanei no artigo Ciência da Computação: Ciência ou Arte?.
Aprendendo a lógica computacional, elaborando, através dela, algoritmos para resolução de problemas, ele desenvolverá o seu raciocínio lógico para, em seguida, estar apto a aprender qualquer linguagem de programação.
Resumindo, para o aluno iniciar seu aprendizado em programação, primeiro deve-se desenvolver o seu raciocínio lógico, através do uso da lógica computacional pura – baseado no funcionamento lógico interno do computador – e construção de algoritmos com ela. Quano o mesmo estiver seguro, pode ser apresentado a qualquer linguagem de programação, que certamente ele terá maior facilidade de aprender, já que a base lógica ele já adquiriu.
Vejo como erro a tentativa de ensinar lógica de programação unicamente através de uma linguagem existente (inclusive portugol). Não duvido que funcione, mas limita o pensamento lógico do iniciante ao pensamento lógico das estruturas da linguagem, além de não ser uma coisa natural. O salto do “zero” até aprender uma linguagem de programação é muito grande. Etapas intermediárias, como desenvolvimento da lógica de programação pura – sem vínculos a nenhuma linguagem – ajudaria muito neste caminho de aprendizagem.
Este artigo é dividido em 3 partes. Esta é a terceira e última parte. Espero que tenham gostado do tema e da leitura. Estou aberto a quaisquer críticas, comentários e sugestões à respeito. Todos serão bem vindos.
Para ler desde o início (primeira parte), clique aqui.
Para ler a segunda parte, clique aqui.



Werther, gostei da continuidade de raciocínio neste artigo e a citação de caminhos intermediários entre o nada e a linguagem de programação. Realmente é um grande salto e o estudo e aplicação de lógica de programação pode ser um passo intermediário. Mas poderia ficar um tempo muito comprido para se atingir a programação, o que inviabilizaria esse método. O contato inicial com a linguagem de programação pode queimar etapas.