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:

  1. ENTENDER o problema: quais são as entradas? Qual é a saída esperada? Que cálculos ou decisões são necessários?
  2. ESCREVER o narrativo: descrever a solução em português claro e preciso.
  3. 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:

Algoritmo narrativo:

  1. Pedir ao usuário a largura e armazenar.
  2. Pedir ao usuário o comprimento e armazenar.
  3. Calcular: area = largura × comprimento.
  4. 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

Instrução sobre os Exercícios Tente resolver ANTES de consultar o gabarito.

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.


Exercício 2.1 - Perímetro do quadrado Escreva um programa que leia o lado de um quadrado e calcule o perímetro.

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.


Exercício 2.2 - Conversão de temperatura Leia uma temperatura em Celsius e converta para Fahrenheit.

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!).


Exercício 2.3 - Salário com desconto INSS Leia o salário bruto de um funcionário.

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


Exercício 2.4 - Cálculo de viagem Leia a velocidade média de um carro (km/h) e a distância a percorrer (km).

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.


  1. 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. ↩︎