Capitulo 2 - Do narrativo ao pseudocódigo
[1]Copyright © 2026 Alyce Suza.
2.1 Pseudocódigo: a Ponte entre Ideias e Código
Pseudocódigo é uma notação intermediária entre o algoritmo narrativo e o código de uma linguagem de programação real. Ele usa palavras do português combinadas com estruturas formais de código (como se, enquanto, para), mas ainda pode ser lido e compreendido sem conhecimento técnico específico.
O Portugol é, essencialmente, um pseudocódigo EXECUTÁVEL - você escreve de forma quase humana, e o computador de fato executa. Isso o torna ideal para o aprendizado.
| Nível | Característica | Exemplo |
|---|---|---|
| Narrativo | Linguagem natural, nenhuma regra formal. | "Se a nota for maior que 6, o aluno passou." |
| Pseudocódigo | Estruturas formais, palavras do idioma. | se (nota >= 6) { escreva("Aprovado") } |
| Código real | Sintaxe rígida de uma linguagem específica. | if (nota >= 6) { System.out.println("Aprovado"); } |
2.2 As Três Fases da Conversão
Converter um problema em código exige três passos bem definidos:
- ENTENDER o problema: quais são as entradas? Qual é a saída esperada? Que cálculos ou decisões são necessários?
- ESCREVER o narrativo: descrever a solução em português claro e preciso.
- CONVERTER para Portugol: transformar cada passo do narrativo no comando correspondente.
2.3 Exemplos de Conversão Detalhada
Problema A - Calcular a área de um retângulo
Análise do problema:
- ENTRADA: largura e comprimento (dois números reais)
- PROCESSAMENTO:
area = largura × comprimento - SAÍDA: exibir o valor da área
Algoritmo narrativo:
- Pedir ao usuário a largura e armazenar.
- Pedir ao usuário o comprimento e armazenar.
- Calcular:
area = largura × comprimento. - Exibir "A área é: [valor]".
Código Portugol correspondente:
programa
{
funcao inicio()
{
// Declarar onde vamos guardar os dados
real largura, comprimento, area
// Passo 1 e 2: pedir os valores
escreva("Largura: ")
leia(largura)
escreva("Comprimento: ")
leia(comprimento)
// Passo 3: calcular
area = largura * comprimento
// Passo 4: exibir resultado
escreva("A area e: ", area, " metros quadrados")
}
}
Problema B - Converter horas para minutos e segundos
Análise: ENTRADA = horas (inteiro). SAÍDA = minutos totais e segundos totais.
Fórmulas: minutos = horas * 60 | segundos = horas * 3600
programa
{
funcao inicio()
{
inteiro horas, minutos, segundos
escreva("Quantas horas? ")
leia(horas)
minutos = horas * 60
segundos = horas * 3600
escreva(horas, " horas equivalem a:\n")
escreva(" ", minutos, " minutos\n")
escreva(" ", segundos, " segundos\n")
}
}
Saída para horas = 2: "2 horas equivalem a: 120 minutos / 7200 segundos"
Problema C - Calcular preço com e sem desconto
Análise: ENTRADA = preço original e percentual de desconto. SAÍDA = valor do desconto e preço final.
programa
{
funcao inicio()
{
real precoOriginal, percentualDesconto, valorDesconto, precoFinal
escreva("Preco original: R$ ")
leia(precoOriginal)
escreva("Percentual de desconto (ex: 15 para 15%): ")
leia(percentualDesconto)
// Converter percentual para decimal: 15% = 15/100 = 0.15
valorDesconto = precoOriginal * (percentualDesconto / 100)
precoFinal = precoOriginal - valorDesconto
escreva("\n=== RESUMO ===\n")
escreva("Preco original: R$ ", precoOriginal, "\n")
escreva("Desconto (", percentualDesconto, "%): R$ ", valorDesconto, "\n")
escreva("Preco com desconto: R$ ", precoFinal, "\n")
}
}
Saída para preço = 200 e desconto = 20%: Original R$200 | Desconto R$40 | Final R$160
2.4 O Console e a Formatação da Saída
A formatação da saída é tão importante quanto o cálculo. Um programa que exibe os dados de forma organizada é muito mais útil. Veja as ferramentas disponíveis:
// Quebra de linha: \n
escreva("Linha 1\n")
escreva("Linha 2\n")
// Tabulação: \t (cria alinhamento de coluna)
escreva("Nome:\t", nome, "\n")
escreva("Idade:\t", idade, "\n")
// Múltiplos valores numa linha — separados por vírgula
escreva("Voce tem ", idade, " anos e pesa ", peso, " kg.\n")
// Operações diretamente no escreva
escreva("Dobro de ", x, " e ", x * 2)
2.5 Exercícios do Capítulo 2
O gabarito está reunido ao final do livro, na seção GABARITO.
Anote suas tentativas - comparar seu raciocínio com a solução é fundamental para aprender.
Fórmula: perimetro = 4 × lado
Exiba o resultado no formato: "O perímetro do quadrado de lado X é P."
Dica: Use tipo real para aceitar valores decimais como 3.5.
Fórmula: F = (C × 9.0 / 5.0) + 32
Exiba: "X graus Celsius equivalem a Y graus Fahrenheit."
Teste com: 0°C = 32°F | 100°C = 212°F | 37°C = 98.6°F
Dica: Use 9.0 e não 9 para evitar divisão inteira: 9/5 = 1 (ERRADO!).
Calcule o desconto de 15% referente ao INSS.
Exiba o salário bruto, o valor do desconto e o salário líquido formatados.
Dica: desconto = salarioBruto * 0.15 | liquido = bruto - desconto
Calcule o tempo estimado de viagem em horas.
Fórmula: tempo = distancia / velocidade
Dica: Resultado em horas decimais: 1.5 = 1 hora e 30 minutos.
Copyright © 2026 Alyce Suza. Todos os direitos reservados nos termos da Lei 9.610/98. O conteúdo publicado no site https://wiki.suzacybersecurity.com/ é protegido pelas diretrizes brasileiras de propriedade intelectual e a sua autoria é reconhecida desde o momento da criação técnica. O compartilhamento, a reprodução e a distribuição deste material são permitidos e incentivados apenas para finalidades educacionais, acadêmicas ou de consulta técnica, sendo estritamente vedado qualquer tipo de uso comercial. Para que a replicação seja validada e legal, você deve obrigatoriamente atribuir os devidos créditos a Alyce Suza e fornecer um link direto e acessível para a publicação original. A utilização deste material para obter lucro, monetização, venda de materiais ou qualquer vantagem financeira constitui violação de direitos autorais e está sujeita às sanções legais cabíveis, assim como alterações que modifiquem o sentido original das explicações sobre segurança da informação. Para eventuais dúvidas sobre permissões de uso, parcerias ou para reportar replicações indevidas, envie um e-mail para alycesuza@gmail.com. ↩︎