Capitulo 3 - Estrutura sequencial
[1]Copyright © 2026 Alyce Suza.
3.1 O Modelo IPO - Entrada, Processamento, Saída
Todo programa de computador, por mais complexo que seja, pode ser descrito pelo modelo IPO (Input-Processing-Output). As instruções são executadas em sequência, uma após a outra, de cima para baixo. Isso é a Estrutura Sequencial.
| Fase | Descrição |
|---|---|
| ENTRADA (Input) | O programa recebe dados externos: do teclado, de arquivo, da rede. |
| PROCESSAMENTO | O programa transforma os dados: calcula, compara, organiza. |
| SAÍDA (Output) | O programa exibe ou salva os resultados do processamento. |
3.2 Ordem de Execução - Por que ela Importa
Em uma estrutura sequencial, cada instrução é executada na ordem em que foi escrita. Não é possível usar uma variável antes de declará-la, nem exibir um resultado antes de calculá-lo.
Exemplo INCORRETO - vai gerar erro de execução:
programa
{
funcao inicio()
{
// ERRO: tentando usar 'resultado' antes de declara-lo
escreva(resultado)
inteiro a = 10, b = 5
inteiro resultado = a + b
}
}
Exemplo CORRETO — ordem lógica respeitada:
programa
{
funcao inicio()
{
// 1. DECLARE primeiro
inteiro a, b, resultado
// 2. ATRIBUA os valores
a = 10
b = 5
// 3. CALCULE
resultado = a + b
// 4. EXIBA o resultado
escreva("A soma de ", a, " + ", b, " e: ", resultado)
}
}
3.3 O Comando escreva - Saída Detalhada
O escreva() é o principal comando de saída. Exibe qualquer combinação de texto, variáveis e expressões no console.
| Uso | Resultado |
|---|---|
escreva("Texto") |
Exibe o texto literal entre aspas. |
escreva(variavel) |
Exibe o valor atual da variável (sem aspas). |
escreva("msg: ", var) |
Mistura texto e variável na mesma linha. |
escreva(a + b) |
Calcula e exibe o resultado da expressão. |
escreva("N1\nN2") |
\n = quebra de linha - pula para a próxima. |
escreva("A\tB") |
\t = tabulação - alinha em colunas. |
escreva(v1, ", ", v2) |
Múltiplos valores separados por vírgula. |
Exemplo completo de formatação:
programa
{
funcao inicio()
{
cadeia nome = "Carlos"
inteiro idade = 22
real altura = 1.78
// Saida formatada com \n e \t
escreva("=== FICHA PESSOAL ===\n")
escreva("Nome:\t", nome, "\n")
escreva("Idade:\t", idade, " anos\n")
escreva("Altura:\t", altura, " m\n")
escreva("====================\n")
}
}
Saída:
=== FICHA PESSOAL ===
Nome: Carlos
Idade: 22 anos
Altura: 1.78 m
====================
3.4 O Comando leia - Entrada Detalhada
O leia() pausa o programa e aguarda o usuário digitar. O valor digitado é armazenado na variável entre parênteses.
// Ler uma variável
leia(variavel)
// Ler múltiplas variáveis — usuário pressiona Enter entre cada
leia(a, b, c)
// Exemplo com prompt (aviso para o usuário)
escreva("Digite seu nome: ") // informa o que deve digitar
leia(nome) // depois captura o que foi digitado
leia()
- A variável DEVE ser declarada ANTES do
leia(). - O tipo do dado digitado deve ser compatível com o tipo da variável.
- Se declarou
inteiroe o usuário digitar um texto, pode causar erro. - Sempre use
escreva()ANTES doleia()para informar o que deve ser digitado.
3.5 Exemplos Completos de Programas Sequenciais
Programa 1 - Calculadora de IMC
programa
{
funcao inicio()
{
real peso, altura, imc
escreva("=== CALCULADORA DE IMC ===\n")
escreva("Peso em kg: ")
leia(peso)
escreva("Altura em metros (ex: 1.70): ")
leia(altura)
imc = peso / (altura * altura)
escreva("\nSeu IMC e: ", imc, "\n")
escreva("Referencia:\n")
escreva(" < 18.5 -> Abaixo do peso\n")
escreva(" 18.5-24.9 -> Peso normal\n")
escreva(" 25.0-29.9 -> Sobrepeso\n")
escreva(" >= 30.0 -> Obesidade\n")
}
}
Programa 2 - Conversor de Moedas
programa
{
funcao inicio()
{
real valorReais, cotacao, valorDolares
escreva("=== CONVERSOR REAL-DOLAR ===\n")
escreva("Valor em Reais: R$ ")
leia(valorReais)
escreva("Cotacao do dolar (ex: 5.20): R$ ")
leia(cotacao)
valorDolares = valorReais / cotacao
escreva("\nR$ ", valorReais, " = US$ ", valorDolares, "\n")
}
}
Programa 3 - Cálculo de Salário com Impostos
programa
{
funcao inicio()
{
real salarioBruto, inss, irrf, salarioLiquido
escreva("Salario bruto: R$ ")
leia(salarioBruto)
inss = salarioBruto * 0.11
irrf = salarioBruto * 0.075
salarioLiquido = salarioBruto - inss - irrf
escreva("\n=== HOLERITE ===\n")
escreva("Salario bruto: R$ ", salarioBruto, "\n")
escreva("INSS (11%): R$ ", inss, "\n")
escreva("IRRF (7.5%): R$ ", irrf, "\n")
escreva("Salario liquido: R$ ", salarioLiquido, "\n")
}
}
3.6 Exercícios do Capítulo 3
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.
Exiba: "O aluno [nome] tirou [nota]."
Dica: Use cadeia para nome e real para nota.
Leia o número de pessoas que vão dividir.
Calcule e exiba quanto cada pessoa paga.
Exiba também: valor total e valor por pessoa.
Dica: porcao = total / numeroPessoas
Calcule o salário bruto.
Aplique desconto de 10% e calcule o salário líquido.
Exiba todos os valores formatados.
Dica: salarioBruto = horas * valorHora | desconto = bruto * 0.10
Converta e exiba em: centímetros (× 100), milímetros (× 1000) e quilômetros (÷ 1000).
Dica: Declare todas as variáveis como real.
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. ↩︎