Autor
URL do Artigo
DOI
Resumo
INTRODUÇÃO
Este artigo objetiva explorar os principais desafios no processo de ensino e aprendizagem de lógica de programação e algoritmos. Tratar sobre os impactos vividos por estudantes e também professores no que diz respeito ao desenvolvimento de habilidades e competências em propor algoritmos, organizando e implementando de maneira lógica e conquistando o mais importante, que é o aprendizado, o conhecimento e a capacidade de dominar as técnicas e estruturas de fluxo de dados que precisam ser implementadas em algoritmos computacionais.
Aprender lógica de programação, é necessário para que o estudante possa avançar nos estudos de computação, programação, desenvolvimento de software e correlatos. No entanto, este processo pode não ser fácil e para boa parte dos estudantes dos cursos de formação profissional, se apresenta com um grande desafio.
Além disso, justamente pelo fato de ser ensinado nas disciplinas iniciais, pode levar parte dos alunos, a optar pela desistência do curso.
Para [Martins e Correia 2003] um dos fatores de reprovação e, inclusive, evasão por parte dos alunos, nos anos iniciais dos cursos que envolvem o ensino de programação e computação, pode ser a dificuldade encontrada por estes alunos nos componentes curriculares que trabalham lógica de programação.
Evitar iniciar os trabalhos de aprendizagem utilizando-se de uma linguagem de programação real que, por si só, já carrega toda uma necessidade em se desenvolver familiaridade com sintaxe e todo conjunto de regras, bem como situar os estudantes em um ambiente onde ele domine as palavras, utilizando seu próprio idioma, pode ser um caminho a ser trilhado inicialmente.
Além disso, algumas ferramentas gratuitas, disponíveis no mercado visam apoiar neste processo de ensino e aprendizagem, objetivando dinamismo e diminuição do impacto sentido por alunos e professores. Ajudar na motivação e interação dos alunos, proporcionando um processo mais ameno.
O ENSINO DE LÓGICA DE PROGRAMAÇÃO
Essencial para aprender programação de computadores, o estudo da lógica de programação, tem início no entendimento de conceitos básicos como o de algoritmos, variáveis, tipos primitivos de dados e estruturas de controle de fluxo de dados, como desvios condicionais, laços de repetições e outros.
Lógica de programação é a base para desenvolver algoritmos eficientes, permitindo a criação de soluções computacionais. Trata-se da maneira como se estrutura o raciocínio, desde o entendimento do problema, proposição de soluções, até sua implementação. Criar códigos visando resolver problemas, utilizando sequência de comandos, ordenados de forma lógica. Desenvolver habilidade em estruturar o pensamento, para propor solução computacional para as situações-problema é essencial na formação do programador, independentemente da linguagem de programação com que ele for trabalhar no futuro.
Essa habilidade de sistematizar, representar e analisar a atividade de resolução de problemas é chamada de raciocínio, ou pensamento, computacional. (Ribeiro; Foss; Cavalheiro, 2020, p. 17).
Esse processo de aprendizagem exige muitas vezes uma mudança cultural, por parte do aluno que, em muitos casos não fora antes efetivamente estimulado a exercitar o raciocínio lógico.
Passa também, por questões estratégicas, como procurar destrinchar um problema, dividindo em problemas menores, para facilitar o entendimento e posteriormente propor uma possível solução.
Valores como autonomia, criatividade e o interesse na resolução de situações-problema, são muito importantes e a falta deles, pode ser fator definidor entre a continuidade dos estudos ou a desistência, por parte do aluno.
Instigar o desejo em entender de fato os problemas e desafios, é talvez o primeiro importante passo para os professores, os alunos precisam confiar que é possível aprender e desejar isso, para então se entregarem ao processo.
Não menos importante neste processo é a postura, a questão emocional, paciência, foco, persistência na busca pela resolução dos problemas e etc.
O imediatismo com que as respostas são encontradas atualmente, com o acesso à internet na palma da mão ou na tela do computador, colabora negativamente com o foco e a persistência, habituou-se a receber respostas rapidamente e sem a mínima necessidade de esforço.
Utilizar linguagem natural, na escrita de possíveis soluções, rascunhar em papel, escrever a lápis, anotar as ideias antes de iniciar a estruturação do algoritmo, são ações que podem facilitar o caminho do aprendizado.
O uso do português estruturado, pseudocódigo ou ainda portugol, nomes pelos quais é conhecida a técnica que, consiste em utilizar palavras da Língua Portuguesa para a escrita de algoritmos, onde foram definidas palavras para os principais comandos presentes nas linguagens de programação, tende a ser mais confortável para quem está iniciando os estudos nesta área, uma vez que a própria familiaridade com as palavras da língua materna, já ameniza em parte os impactos de se escrever utilizando linguagem de programação. Segundo Carvalho (2007, p. 7),
O Português Estruturado na verdade é uma simplificação extrema da língua portuguesa, limitada a pouquíssimas palavras e estruturas que têm significado pré-definido, pois deve-se seguir um padrão. Emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação, para descrever os algoritmos.
Naturalmente, chegará o momento em que o estudante precisará aprender uma linguagem de programação e por consequência habituar-se com seu conjunto de regras e sintaxe próprias, não em uma, mas em todas as linguagens de programação que pretender aprender e depois atuar profissionalmente, mas durante este processo inicial, de aprendizado na construção de algoritmos, o uso do português estruturado, pode facilitar a compreensão da lógica utilizada para propor soluções computacionais para situações problemas, como afirma Carvalho (2007).
Segundo Berg (1998), escrever algoritmos em português estruturado é simples, no entanto, tal simplicidade não contrapõe ser possível representar quase todas as estruturas presentes nas linguagens de programação, controles de fluxos de dados, desvios condicionais, laços de repetição e outras, característica que corrobora a utilização desta técnica, no processo de ensino e aprendizagem, em cursos profissionalizantes, técnicos, graduações e outros.
Outro aspecto importante é o que apresenta os comandos genéricos, ou seja, a ideia de funcionamento de determinado comando ou função, que pode representar uma adaptação a qualquer linguagem de programação, com grande semelhança.
Os algoritmos podem ser escritos em editores de textos comuns, não é necessário usar nenhuma plataforma ou software específico, o aluno pode utilizar até o próprio caderno ou outro meio para escrita, é muito acessível. Apesar disso, existem ferramentas computacionais para uso do português estruturado.
SOFTWARE VISUALG
Dentre as opções de softwares aplicativos gratuitos para escrita de algoritmos em português estruturado, destaca-se o VisuAlg.
VisuAlg é um software aplicativo que foi desenvolvido inicialmente pelo professor Cláudio Morgado de Souza, para uso no ensino e aprendizagem de algoritmos e que, possibilita ao seu usuário criar algoritmos em português estruturado. Nele além de criar, escrever, ler e editar, é possível também executar o algoritmo criado, como se fosse um programa computacional. A ferramenta apresenta um console onde é possível o estudante visualizar o resultado da execução.
Este cenário permite ao estudante interagir, verificar se o resultado da execução está alinhado com o que se desejava ao criar o algoritmo, se os cálculos ocorrerão de forma correta, comparar os resultados com o que se esperava ao escrever o algoritmo, a experiência se torna dinâmica.
Em “VisuAlg – Ferramenta de Apoio ao Ensino de Programação. ” Souza (2009) afirma que o uso deste software aplicativo, como ferramenta para apoio no ensino aprendizagem de algoritmos e lógica de programação, favorece o entendimento e melhora o interesse do estudante, principalmente pela interação e execução dos algoritmos criados. Escrever no papel, pode se tornar uma atividade solitária ou talvez muito abstrata, uma vez que o estudante vai precisar que alguém avalie a construção do pseudocódigo ou terá que aprender a realizar o teste de mesa, atividade que consiste em simular o comportamento do algoritmo passo a passo, escrevendo as transições dos dados, seus comportamentos, cálculos e todas as resultantes das expressões, das estruturas de controle de fluxo de dados, todo o processamento proposto no algoritmo até a finalização, com as saídas possíveis.
Já escrevendo no VisuAlg, após finalizar a criação e escrita do código, do algoritmo, o estudante tem a oportunidade de executar e verificar o resultado. Caso o resultado não corresponda ao desejado, o aluno terá que buscar novas informações para incorporá-las ao programa e repetir a operação (Valente, 1998).
Para os autores Almeida (2013) e Costa (2010), este software é muito utilizado por professores, pois apresenta vantagens no ensino de algoritmos e programação de computadores. O programa foi desenvolvido por Cláudio Morgado de Souza, professor da Universidade Severino Sombra – RJ, do Centro de Ensino Superior de Valênça – RJ.
O autor Almeida (2013, p. 2) faz uma analogia interessante entre o VisuAlg e as “[…] rodinhas de apoio que uma criança usa ao aprender a andar de bicicleta, e que são retiradas quando deixam de ser necessárias”. Essa ideia é reiterada por Souza (2009), que entende ser facilitado o processo de aprendizado e entendimento por parte dos estudantes, da estrutura padrão de um algoritmo computacional, utilizando palavras do idioma nativo e deixando a necessidade de adaptação para o conjunto de regras e comandos, das linguagens de programação, para um momento futuro, permitindo assim que o estudante foque na lógica, sem se preocupar com uma sintaxe completa.
CONSIDERAÇÕES FINAIS
Percebe-se que aprender lógica de programação é um desafio importante na vida do estudante de desenvolvimento de sistemas e igualmente para alunos de qualquer outro curso profissionalizante, seja técnico em segundo grau ou em nível superior, como também outros cursos e graduações correlatas que, tenham em seu plano de curso, componente curricular de lógica ou algoritmos.
Tanto pelo fato de apresentar características peculiares como a necessidade de raciocínio lógico, abstração e estruturação, como por outros fatores como por exemplo, falta de hábito de estudar e estruturar o pensamento ou da cultura da pesquisa ou ainda lacunas de aprendizagem em áreas do ensino fundamental e que serão importantes para estruturar os códigos, algoritmos computacionais.
Ações que proporcionem minimizar esses impactos ou ao menos fracioná-los, podem fazer a diferença no processo de ensino e aprendizagem. Iniciar os estudos nesta disciplina utilizando o Português Estruturado, pode ser um caminho para isso, considerando que adia o contato com as linguagens de programação e por este motivo, permite aos estudantes concentrar seus esforços iniciais em aprender a interpretar os problemas, sistematizar o pensamento, propor soluções e, implementá-las.
Diante destes desafios que não são poucos, mas que já foram minorados com a opção de utilizar o Português Estruturado, é possível ainda ampliar os benefícios, adotando o uso de uma ferramenta digital para a criação, edição, leitura, execução e testes dos algoritmos desenvolvidos.
O VisuAlg se apresenta como uma alternativa, gratuita, visual, interativa e, aderente ao desenvolvimento dos pseudocódigos, aceita o uso dos comandos tais como são propostos pela literatura técnica, para o Português Estruturado.
Por fim, entende-se que a característica dinâmica do uso deste software aplicativo pode se configurar como o apoio que o estudante precisa, sem é claro, diminuir a necessidade de foco e esforço nos estudos, mas acrescentando certa luz neste caminho. Então, após adquirir habilidades na tarefa de desenvolver algoritmos computacionais, implementando lógica de programação, escrevendo em Português Estruturado e utilizando o software aplicativo, VisuAlg, o estudante pode lançar-se com mais segurança ao aprendizado de linguagens de programação, propriamente, momento em que vai se deparar com as dificuldades de entendimento e adequação ao uso de uma sintaxe complexa, de acordo com a linguagem e padrão de desenvolvimento que estiver estudando.
REFERÊNCIAS BIBLIOGRÁFICAS
ALMEIDA, Rafael Soares de. Aprendendo Algoritmo com VisuAlg. Rio de Janeiro: Editora Ciência Moderna Ltda., 2013.
BERG, Alexandre Cruz; FIGUEIRÓ, Joice Pavex. Lógica de Programação. 2ª ed. Canoas, Rio Grande do Sul: Ulbra, 1998.
CARVALHO, Flávia Pereira de. Apostila de Lógica de Programação – ALGORITMOS. FIT – Faculdade de Informática de Taquara, Curso de Sistemas de Informação, 2007. Disponível em: . Acesso em: 15 agosto 2025.
COSTA, R. H. P.; FARIA, E. S. J.; YAMANAKA, K. Programação em Duplas no Aprendizado de Programação de Computadores em um Curso de Engenharia de Produção: Um Estudo Empírico. REIC. Revista Eletrônica de Iniciação Científica (on-line), v. X, p. 4, 2010.
MARTINS, S. W. e CORREIA, L. H. A. (2003) “O Logo como ferramenta auxiliar no desenvolvimento do raciocínio lógico – um estudo de caso”. Internacional Conference on Engineering and Computer Education – ICECE2003, Santos, SP. http://www.dcc.ufla.br/~lcorreia/bibtex/icece2003.pdf. Acesso em julho de 2025.
MATTAR, João. Games em Educação. Pearson. São Paulo v.1, p.14-16, 2010.
RIBEIRO, Leila; FOSS, Luciane; CAVALHEIRO, Simone André da Costa. Entendendo o Pensamento Computacional. In: RAABE, André; ZORZO, Avelino; BLIKSTEIN, Paulo (org.). Computação na educação básica: fundamentos e experiências. Porto Alegre: Penso, 2020.
SOUZA, Cláudio Morgado de. VisuAlg – Ferramenta de Apoio ao Ensino de Programação. Universidade Severino Sombra, CECETEN. Revista TECCEN, volume 2, número 2, setembro, ISSN 1984-0993, 2009.
PRENSKY, Marc. Digital natives, digital immigrants. On the Horizon, v.9, n.5. MCB University Press. 2005. Disponível em: < http://marcprensky.com/writing/Prensky%20 %20Digital%20Natives,%20Digital%20Immigrants%20-%20Part1.pdf>.
VALENTE, J.A. (1998). Análise dos diferentes tipos de softwares usados na educação. Em: III Encontro Nacional do PROINFO – MEC, Pirenópolis (GO).
Área do Conhecimento