beginner50 minLição 3 de 8

Pseudocódigo e Linguagem Natural

Aprenda a escrever algoritmos sem código usando convenções de pseudocódigo, descrições em linguagem natural e exemplos claros.

Pseudocódigo e Linguagem Natural

Antes de escrever algoritmos em qualquer linguagem de programação, nós os expressamos em um formato legível por humanos. Pseudocódigo e descrições em linguagem natural nos permitem focar na lógica de um algoritmo sem nos preocuparmos com as regras de sintaxe de linguagens de programação específicas.

O que é Pseudocódigo?

Pseudocódigo é uma descrição em linguagem simples dos passos de um algoritmo. Ele usa as convenções estruturais das linguagens de programação, mas é destinado à leitura humana e não à leitura de máquinas.

Por que Usar Pseudocódigo?

BenefícioExplicação
Independente de linguagemQualquer pessoa pode ler, independentemente da experiência em programação
Foco na lógicaConcentre-se no que o algoritmo faz, não em como escrevê-lo em código
Fácil de modificarMudanças são mais simples do que reescrever código real
Ferramenta de comunicaçãoAjuda equipes a discutir algoritmos antes da implementação
Auxílio de planejamentoForça você a pensar no algoritmo antes de codificar
100%
💡Tip

Pense no pseudocódigo como a planta de um prédio. Arquitetos não começam assentando tijolos -- eles primeiro criam planos detalhados. O pseudocódigo é a planta do seu algoritmo.

Convenções de Pseudocódigo

Embora não exista um único padrão para pseudocódigo, seguir convenções consistentes torna seus algoritmos mais fáceis de ler e entender.

Estrutura Básica

ALGORITMO: NomeDoAlgoritmo ENTRADA: Descrição das entradas SAÍDA: Descrição das saídas PASSO 1: Primeira instrução PASSO 2: Segunda instrução ... PASSO N: Instrução final FIM ALGORITMO

Variáveis e Atribuição

Use nomes de variáveis claros e descritivos. A operação de atribuição armazena um valor em uma variável.

DEFINIR total COMO 0 DEFINIR nome COMO "Maria" DEFINIR contador COMO contador + 1 DEFINIR resultado COMO preco multiplicado por quantidade

Palavras-chave Comuns

Palavra-chavePropósitoExemplo
DEFINIRAtribuir um valor a uma variávelDEFINIR x COMO 5
LERObter entrada do usuárioLER idade
IMPRIMIRExibir saídaIMPRIMIR total
SE...ENTÃO...SENÃOExecução condicionalSE x > 0 ENTÃO IMPRIMIR "positivo"
PARA...FAÇARepetir um número conhecido de vezesPARA i DE 1 ATÉ 10 FAÇA
ENQUANTO...FAÇARepetir enquanto a condição for verdadeiraENQUANTO x > 0 FAÇA
REPITA...ATÉRepetir até a condição ser verdadeiraREPITA ... ATÉ x = 0

Escrevendo Algoritmos em Linguagem Natural

Descrições em linguagem natural usam linguagem cotidiana para explicar os passos do algoritmo. Esta é a forma mais acessível de descrição de algoritmos.

Exemplo: Fazer um Sanduíche

ALGORITMO: Fazer um Sanduíche de Manteiga de Amendoim com Geleia ENTRADA: Fatias de pão, manteiga de amendoim, geleia, faca, prato SAÍDA: Um sanduíche completo PASSO 1: Colocar duas fatias de pão no prato PASSO 2: Usando a faca, passar manteiga de amendoim em uma fatia PASSO 3: Usando a faca (limpa), passar geleia na outra fatia PASSO 4: Pressionar as duas fatias juntas com os recheios voltados para dentro PASSO 5: SE a pessoa quiser cortado ENTÃO Cortar o sanduíche diagonalmente ao meio FIM SE PASSO 6: Servir o sanduíche FIM ALGORITMO

Exemplo: Encontrar a Caixa Mais Pesada

ALGORITMO: Encontrar a Caixa Mais Pesada ENTRADA: Uma sala com N caixas, cada uma com um rótulo de peso SAÍDA: A posição da caixa mais pesada PASSO 1: Começar na primeira caixa PASSO 2: Lembrar seu peso como o máximo atual PASSO 3: Lembrar sua posição como a melhor posição atual PASSO 4: Mover para a próxima caixa PASSO 5: Comparar seu peso com o máximo atual PASSO 6: SE esta caixa for mais pesada ENTÃO Atualizar o máximo atual para o peso desta caixa Atualizar a melhor posição para a posição desta caixa FIM SE PASSO 7: SE houver mais caixas ENTÃO Ir para o PASSO 4 FIM SE PASSO 8: Retornar a melhor posição FIM ALGORITMO
100%

Exemplos de Pseudocódigo com Estruturas de Controle

Execução Sequencial

Os passos executam um após o outro em ordem:

ALGORITMO: Calcular Área do Retângulo ENTRADA: Comprimento e largura de um retângulo SAÍDA: A área do retângulo PASSO 1: LER comprimento PASSO 2: LER largura PASSO 3: DEFINIR area COMO comprimento multiplicado por largura PASSO 4: IMPRIMIR area FIM ALGORITMO

Execução Condicional

Diferentes caminhos com base em condições:

ALGORITMO: Classificação de Nota ENTRADA: Nota numérica de um aluno (0-100) SAÍDA: A nota conceitual PASSO 1: LER pontuacao PASSO 2: SE pontuacao for maior ou igual a 90 ENTÃO DEFINIR nota COMO "A" SENÃO SE pontuacao for maior ou igual a 80 ENTÃO DEFINIR nota COMO "B" SENÃO SE pontuacao for maior ou igual a 70 ENTÃO DEFINIR nota COMO "C" SENÃO SE pontuacao for maior ou igual a 60 ENTÃO DEFINIR nota COMO "D" SENÃO DEFINIR nota COMO "F" FIM SE PASSO 3: IMPRIMIR nota FIM ALGORITMO
ℹ️Note

Observe como as condições são verificadas em ordem. Uma vez que uma condição é atendida, as condições restantes são ignoradas. Isso é chamado de "avaliação de curto-circuito."

Execução em Loop

Repetindo ações várias vezes:

ALGORITMO: Soma dos Números de 1 a N ENTRADA: Um número inteiro positivo N SAÍDA: A soma de todos os inteiros de 1 a N PASSO 1: LER N PASSO 2: DEFINIR total COMO 0 PASSO 3: PARA cada número i DE 1 ATÉ N FAÇA DEFINIR total COMO total + i FIM PARA PASSO 4: IMPRIMIR total FIM ALGORITMO

Comparando Abordagens: Linguagem Natural vs. Pseudocódigo Estruturado

AspectoLinguagem NaturalPseudocódigo Estruturado
LegibilidadeMuito alta para leitores não técnicosAlta para qualquer pessoa com lógica básica
PrecisãoPode ser ambíguoMais preciso e estruturado
Tradução para códigoRequer interpretaçãoMais fácil de traduzir
Melhor paraExplicar conceitos para iniciantesPlanejar implementação real
Exemplo"Continue até encontrar"ENQUANTO não encontrado FAÇA

Comparação Lado a Lado: Encontrar um Número

Versão em Linguagem Natural:

ALGORITMO: Adivinhe Meu Número (Linguagem Natural) Estou pensando em um número entre 1 e 100. Você precisa encontrá-lo. Comece chutando o número do meio. Se meu número for maior, chute o meio da metade superior. Se meu número for menor, chute o meio da metade inferior. Continue fazendo isso, reduzindo o intervalo a cada vez, até acertar.

Versão em Pseudocódigo Estruturado:

ALGORITMO: Busca Binária (Pseudocódigo Estruturado) ENTRADA: Uma lista ordenada de números de 1 a 100, um número alvo SAÍDA: A posição do número alvo PASSO 1: DEFINIR baixo COMO 1 PASSO 2: DEFINIR alto COMO 100 PASSO 3: ENQUANTO baixo for menor ou igual a alto FAÇA DEFINIR palpite COMO (baixo + alto) dividido por 2, arredondado para baixo SE palpite for igual ao alvo ENTÃO IMPRIMIR "Encontrado na posição " + palpite PARAR SENÃO SE palpite for menor que o alvo ENTÃO DEFINIR baixo COMO palpite + 1 SENÃO DEFINIR alto COMO palpite - 1 FIM SE FIM ENQUANTO PASSO 4: IMPRIMIR "Número não encontrado" FIM ALGORITMO
💡Tip

A versão estruturada é muito mais precisa. Cada variável é definida, cada condição é explícita e a condição de terminação é clara.

Exemplo do Mundo Real: Sistema de Devolução de Livros da Biblioteca

Vamos projetar um algoritmo para o processo de devolução de livros de uma biblioteca:

ALGORITMO: Processar Devolução de Livro ENTRADA: Livro devolvido com código de barras, data atual SAÍDA: Status atualizado do livro, multas calculadas PASSO 1: ESCANEAR o código de barras do livro PASSO 2: CONSULTAR o registro do livro no sistema PASSO 3: LER a data de vencimento do registro do livro PASSO 4: DEFINIR hoje COMO a data atual PASSO 5: SE hoje for após a data de vencimento ENTÃO DEFINIR dias_atraso COMO hoje menos data de vencimento DEFINIR multa COMO dias_atraso multiplicado por 0,50 IMPRIMIR "Livro está " + dias_atraso + " dias atrasado" IMPRIMIR "Multa: R$ " + multa SENÃO IMPRIMIR "Livro devolvido no prazo" DEFINIR multa COMO 0 FIM SE PASSO 6: ATUALIZAR status do livro para "disponível" PASSO 7: REMOVER quaisquer reservas existentes no livro PASSO 8: SE houver uma reserva neste livro ENTÃO NOTIFICAR a próxima pessoa na fila de reserva ATUALIZAR status do livro para "reservado" FIM SE PASSO 9: REGISTRAR a transação de devolução FIM ALGORITMO
100%

Exercícios Práticos

Exercício 1: Traduzir para Pseudocódigo

Escreva pseudocódigo para a seguinte tarefa:

Tarefa: Um professor quer calcular a nota média de uma turma. Ele tem uma lista de notas de prova. Se a média for 70 ou acima, imprima "Turma aprovada." Caso contrário, imprima "Turma precisa melhorar."

Exercício 2: Identifique o Problema

Este pseudocódigo tem problemas. Encontre e corrija-os:

ALGORITMO: Contagem Regressiva PASSO 1: DEFINIR x COMO 10 PASSO 2: ENQUANTO x não for 0 FAÇA IMPRIMIR x FIM ENQUANTO PASSO 3: IMPRIMIR "Decolar!"

Exercício 3: Escreva o Seu

Escreva pseudocódigo (usando convenções estruturadas) para:

Tarefa: Você está organizando livros em uma estante. Você tem uma lista de títulos de livros e suas alturas. Coloque os livros na estante do mais baixo para o mais alto.

Inclua:

  • Entrada e saída claras
  • Pelo menos um loop
  • Pelo menos uma condicional

Exercício 4: Descrição em Linguagem Natural

Converta o seguinte pseudocódigo em uma descrição em linguagem natural que uma pessoa não técnica possa entender:

ALGORITMO: Verificação de Temperatura ENTRADA: Leitura de temperatura atual PASSO 1: SE temperatura for abaixo de 0 ENTÃO IMPRIMIR "Congelando" SENÃO SE temperatura for abaixo de 15 ENTÃO IMPRIMIR "Frio" SENÃO SE temperatura for abaixo de 25 ENTÃO IMPRIMIR "Agradável" SENÃO IMPRIMIR "Quente" FIM SE FIM ALGORITMO

Exercício 5: Desafio de Design de Algoritmo

Projete um algoritmo em pseudocódigo para um cenário do mundo real:

Cenário: Um estacionamento tem 50 vagas. Carros entram e saem ao longo do dia. Projete um algoritmo que:

  • Rastreie quantas vagas estão disponíveis
  • Quando um carro chega, atribui uma vaga se disponível
  • Quando um carro sai, libera aquela vaga
  • Informa o número de vagas disponíveis quando solicitado

Resumo

Nesta lição, você aprendeu:

  • O que é pseudocódigo: Uma forma legível por humanos de descrever algoritmos
  • Por que importa: Ajuda a planejar, comunicar e refinar algoritmos antes de codificar
  • Convenções: Palavras-chave e estruturas padrão para clareza
  • Linguagem natural: Descrevendo algoritmos em linguagem cotidiana
  • Estruturas de controle: Padrões de execução sequencial, condicional e em loop
  • Aplicação no mundo real: Como o pseudocódigo modela processos de negócios reais
Success

O pseudocódigo é sua ponte entre pensar sobre um problema e implementar uma solução. Domine-o, e você escreverá algoritmos melhores em qualquer linguagem de programação.

Termos-Chave

TermoDefinição
PseudocódigoUma descrição em linguagem simples dos passos do algoritmo usando estrutura semelhante à programação
Linguagem NaturalLinguagem humana cotidiana usada para descrever processos
VariávelUm local de armazenamento nomeado para um valor
AtribuiçãoO ato de armazenar um valor em uma variável
CondicionalUma estrutura que executa código diferente com base em uma condição
LoopUma estrutura que repete um conjunto de instruções
Avaliação de Curto-CircuitoParar as verificações de condição uma vez que uma correspondência é encontrada
Progresso38%