VisuAlg Web

Lógica de Programação e Algoritmos

Aprenda lógica de programação e algoritmos do zero: variáveis, operadores, decisões, laços, vetores e exercícios em Portugol para executar online.

Lógica de programação é organizar instruções para resolver um problema. Um algoritmo descreve essas instruções em uma sequência: recebe dados, realiza operações e apresenta um resultado. Você pode aprender essa base mesmo sem ter escrito código antes. Nesta trilha, os conceitos aparecem junto de exemplos em Portugol, na sintaxe do VisuAlg, que você pode modificar e executar no navegador.

Comece pelos fundamentos, avance um assunto por vez e pratique com valores diferentes. O índice de aulas continua disponível no menu; as seções abaixo ajudam a escolher por onde começar e a perceber como um conceito depende do anterior. Para entender a linguagem antes da primeira aula, veja o que é Portugol.

O que é lógica de programação?

Antes de escrever comandos, identifique a entrada, o processamento e a saída do problema. Para calcular a média de duas notas, a entrada são as notas, o processamento é somá-las e dividir por dois, e a saída é a média. Essa divisão ajuda a verificar se o programa faz o que o enunciado pede.

Escrever os passos em palavras também é útil. Só depois transforme cada etapa em código. Evite tentar resolver tudo de uma vez: primeiro mostre uma mensagem, depois leia um valor e, por fim, faça o cálculo. O importante é conseguir explicar a função de cada instrução.

Algoritmos e pseudocódigo

Um algoritmo precisa de passos claros e de uma forma de terminar. Uma receita é uma analogia útil, mas um programa exige decisões precisas: qual valor será lido, que operação será aplicada e quando uma repetição acaba. O pseudocódigo permite expressar essa sequência sem começar pela sintaxe de uma linguagem profissional.

No VisuAlg, o programa tem um nome, uma área opcional de variáveis e um bloco de comandos entre inicio e fimalgoritmo. Estude a estrutura básica de um algoritmo e execute o primeiro exemplo. Troque o texto mostrado na tela para confirmar que você entendeu a saída.

Variáveis: como guardar informações

Uma variável associa um nome a um valor que pode mudar durante a execução. Em vez de escrever a mesma nota em várias linhas, você guarda o valor em nota e usa esse nome nos cálculos. Nomes como quantidade e media tornam a intenção mais clara do que letras escolhidas ao acaso.

A atribuição <- guarda um resultado; o comando leia recebe um dado digitado pelo usuário. Na aula de variáveis e entrada de dados, pratique ler dois números e exibir os valores antes de fazer qualquer conta. Isso permite conferir a entrada separadamente.

Tipos de dados: números, textos e valores lógicos

O tipo define quais valores uma variável representa. Use inteiro para uma quantidade sem parte decimal e real para uma medida que pode ter casas decimais. No VisuAlg, caractere guarda textos, inclusive cadeias com várias letras; logico guarda verdadeiro ou falso.

Escolher o tipo de acordo com o problema evita confundir uma identificação textual com um número usado em contas. Um telefone, por exemplo, pode conter zeros iniciais e sinais. O guia de tipos de dados na programação e no Portugol compara as opções e aponta erros frequentes.

Operadores: calcular e comparar

Os operadores aritméticos permitem somar, subtrair, multiplicar e dividir. Use parênteses para mostrar a ordem desejada, como em (nota1 + nota2) / 2. Mudar os parênteses pode mudar o resultado: calcular não é apenas juntar números e símbolos.

Os operadores relacionais comparam valores e produzem uma resposta lógica. Já os operadores E, OU, NÃO e XOU combinam ou invertem condições. Pratique cada comparação isoladamente antes de montar uma regra com vários critérios.

Condicionais: escolher um caminho

Uma condicional executa comandos de acordo com o resultado de um teste. Para informar se uma nota atingiu um limite, use se, entao, senao e fimse. A condição deve produzir verdadeiro ou falso; cada caminho precisa ter um propósito no problema.

Na aula de decisões com SE, teste uma nota abaixo do limite, uma exatamente no limite e outra acima. Esses casos mostram a diferença entre > e >=. Para menus com opções definidas, avance para ESCOLHA e CASO.

Estruturas de repetição: fazer várias vezes

Laços evitam repetir manualmente as mesmas instruções. O para percorre um intervalo com contador; o enquanto testa uma condição antes de cada volta; o repita executa primeiro e testa a condição de parada no final. A escolha depende do que você sabe sobre a tarefa.

Compare essas estruturas no guia de PARA, ENQUANTO e REPITA. Comece com uma contagem pequena e observe quando o contador muda. Sempre verifique o término: esquecer de atualizar o valor testado pode criar uma repetição que nunca acaba.

Vetores e matrizes: organizar vários valores

Um vetor reúne valores do mesmo tipo sob um nome, acessados por índice. Isso facilita guardar várias notas sem criar uma variável para cada aluno. Um laço pode preencher ou percorrer as posições, respeitando os limites declarados.

Uma matriz organiza os valores em linhas e colunas. Experimente uma tabela pequena antes de aumentar suas dimensões. Para percorrer todas as posições, use um laço para as linhas e outro para as colunas; acompanhe os índices para entender qual célula está sendo acessada.

Exercícios e prática no editor

Use os 30 exercícios de lógica de programação em Portugol em ordem de dificuldade. Leia o enunciado, escreva uma tentativa e só depois consulte a solução. Uma execução bem-sucedida confirma aquele teste; não prova que todos os casos do problema foram atendidos.

Você pode executar e editar os exemplos nas aulas ou abrir o editor de Portugol online. Quando houver um erro, confira a linha indicada, os tipos e os valores usados. O Visual Gusto está disponível no editor para ajudar a compreender conceitos e erros; formule a dúvida com o resultado esperado e o resultado observado.

Depois de concluir um exemplo, altere uma condição ou uma entrada e tente prever a nova saída antes de executar. Retome a próxima aula quando conseguir explicar o raciocínio sem depender de copiar o código. Essa prática torna a base útil também ao estudar Python ou outra linguagem.

Conteudos Especiais

Fundamentos

Tipos de Dados

Operadores

Estruturas de Controle

Laços de Repetição

Estruturas de Dados

Modularização

Interatividade e Comandos

Manipulação Avançada

Ferramentas da IDE

Exemplos Completos