Programando com Covre · Módulo 06
CADERNO DE EXERCÍCIOS · MÓDULO 06 Programando com Covre - YouTube

CÁLCULOS COMBINADOS.

Agora os problemas começam a exigir mais de uma etapa de processamento. O foco continua sendo pensar em entrada → processamento → saída, sem estruturas de decisão.

01

Ideia da fase

Entrada

Identifique todos os dados necessários antes de começar o cálculo.

preço · quantidade · taxa

Etapas

Quebre o processamento em resultados menores e dê nomes claros para eles.

subtotal → desconto → total

Saída

Mostre os resultados no formato pedido, respeitando unidades e casas decimais.

R$ 49.50 · 12.00 km/l
Regra mental: se um cálculo parecer grande, pergunte qual resultado precisa existir primeiro. Resolva uma etapa por vez e use variáveis para guardar cada resultado intermediário.
JavaScript neste módulo: continuamos usando prompt() no navegador para entrada de dados, mantendo o mesmo padrão do Módulo 05.
02

Missões

Programando com Covre - YouTube
Missão 01
CONSTRUAVárias entradas

📚 Média de três notas

Leia três notas decimais, calcule a média aritmética e mostre o resultado com duas casas decimais.

Dica de raciocínio: Some as três notas antes de dividir por 3. Os parênteses deixam explícita a ordem do cálculo.
Resultado esperado — teste 1
Nota 1: 7.5
Nota 2: 8.0
Nota 3: 9.0
Média: 8.17
Resultado esperado — teste 2
Nota 1: 5.0
Nota 2: 6.5
Nota 3: 7.0
Média: 6.17
+15 XP
Programando com Covre - YouTube
Missão 02
CONSTRUAPorcentagem

🏷️ Preço com desconto

Leia o preço de um produto e o percentual de desconto. Calcule o valor do desconto e o preço final da compra.

Dica de raciocínio: Primeiro descubra quanto vale o percentual em reais. Depois subtraia esse valor do preço original.
Resultado esperado — teste 1
Preço: R$ 250.00
Desconto: 10
Valor do desconto: R$ 25.00
Preço final: R$ 225.00
Resultado esperado — teste 2
Preço: R$ 80.00
Desconto: 15
Valor do desconto: R$ 12.00
Preço final: R$ 68.00
+15 XP
Programando com Covre - YouTube
Missão 03
CONSTRUAPercentual + soma

💼 Reajuste de salário

Leia um salário e um percentual de aumento. Mostre o valor do aumento e o novo salário.

Resultado esperado
Salário: R$ 2200.00
Aumento: 8
Valor do aumento: R$ 176.00
Novo salário: R$ 2376.00
+15 XP
Programando com Covre - YouTube
Missão 04
CONSTRUARazão

⛽ Consumo de combustível

Leia a distância percorrida em quilômetros e a quantidade de litros utilizados. Calcule o consumo médio do veículo em km/l.

Resultado esperado — teste 1
Distância: 480
Litros utilizados: 40
Consumo médio: 12.00 km/l
Resultado esperado — teste 2
Distância: 315
Litros utilizados: 30
Consumo médio: 10.50 km/l
+15 XP
Programando com Covre - YouTube
Missão 05
CONSTRUACálculo em etapas

📦 Pedido com taxa de entrega

Leia o preço unitário de um produto, a quantidade comprada e a taxa de entrega. Mostre o subtotal e o total do pedido.

Resultado esperado
Preço unitário: R$ 18.50
Quantidade: 3
Taxa de entrega: R$ 7.00
Subtotal: R$ 55.50
Total: R$ 62.50
+20 XP
Programando com Covre - YouTube
Missão 06
CONSTRUADivisão inteira + resto

⏱️ Convertendo tempo

Leia uma quantidade inteira de segundos e converta para horas, minutos e segundos. Use divisão inteira e resto da divisão.

Resultado esperado — teste 1
Total de segundos: 3672
1 hora(s), 1 minuto(s) e 12 segundo(s)
Resultado esperado — teste 2
Total de segundos: 7325
2 hora(s), 2 minuto(s) e 5 segundo(s)
+20 XP
Programando com Covre - YouTube
Missão 07
CONSTRUAQuociente + resto

📦 Caixas completas e itens restantes

Leia a quantidade total de produtos e quantos produtos cabem em cada caixa. Mostre quantas caixas podem ser preenchidas completamente e quantos produtos sobram.

Resultado esperado
Total de produtos: 53
Produtos por caixa: 8
Caixas completas: 6
Produtos restantes: 5
+20 XP
Programando com Covre - YouTube
Missão 08
CONSTRUAExpressão combinada

⭕ Área de um círculo

Leia o raio de um círculo. Calcule a área usando a fórmula área = π × raio². Considere π = 3.14159.

Resultado esperado — teste 1
Raio: 5
Área: 78.54
Resultado esperado — teste 2
Raio: 2.5
Área: 19.63
+20 XP
Programando com Covre - YouTube
Missão 09
CONSTRUAIntegração

🍽️ Conta do restaurante

Leia o valor da conta, o percentual de serviço e a quantidade de pessoas. Calcule o valor do serviço, o total da conta e quanto cada pessoa deverá pagar.

Resultado esperado
Conta: R$ 180.00
Serviço: 10
Pessoas: 4
Valor do serviço: R$ 18.00
Total: R$ 198.00
Por pessoa: R$ 49.50
+25 XP
Programando com Covre - YouTube
Desafio
DESAFIODesafio final

🚗 Custo de uma viagem

Leia a distância da viagem, o consumo médio do veículo em km/l, o preço do litro de combustível e o valor dos pedágios. Calcule quantos litros serão necessários, o custo com combustível e o custo total da viagem.

Dica de raciocínio: Divida o problema em três resultados: litros necessários → custo do combustível → custo total.
Resultado esperado
Distância: 420
Consumo médio: 12
Preço do litro: R$ 6.20
Pedágios: R$ 35.00
Litros necessários: 35.00
Combustível: R$ 217.00
Custo total: R$ 252.00
+30 XP
Programando com Covre - YouTube
Missão 11
CORRIJAErro lógico

🧠 A conta roda, mas o resultado está errado

O programa deve calcular o valor do serviço, somá-lo à conta e depois dividir o total igualmente entre as pessoas. O código executa, mas o valor Por pessoa não corresponde ao resultado esperado. Teste, localize o problema e corrija apenas o necessário.

⌨ Código para copiar, testar e trabalhar

Abra apenas a linguagem que você está praticando.

Python — abrir código inicial
conta = float(input("Conta: R$ "))
percentual = float(input("Serviço: "))
pessoas = int(input("Pessoas: "))

valor_servico = conta * percentual / 100
por_pessoa = conta + valor_servico / pessoas

print(f"Valor do serviço: R$ {valor_servico:.2f}")
print(f"Por pessoa: R$ {por_pessoa:.2f}")
Java — abrir código inicial
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);

        System.out.print("Conta: R$ ");
        double conta = entrada.nextDouble();
        System.out.print("Serviço: ");
        double percentual = entrada.nextDouble();
        System.out.print("Pessoas: ");
        int pessoas = entrada.nextInt();

        double valorServico = conta * percentual / 100;
        double porPessoa = conta + valorServico / pessoas;

        System.out.printf("Valor do serviço: R$ %.2f%n", valorServico);
        System.out.printf("Por pessoa: R$ %.2f", porPessoa);
    }
}
Pascal — abrir código inicial
program Main;
var
    conta, percentual, valorServico, porPessoa: real;
    pessoas: integer;
begin
    write('Conta: R$ ');
    readln(conta);
    write('Serviço: ');
    readln(percentual);
    write('Pessoas: ');
    readln(pessoas);

    valorServico := conta * percentual / 100;
    porPessoa := conta + valorServico / pessoas;

    writeln('Valor do serviço: R$ ', valorServico:0:2);
    writeln('Por pessoa: R$ ', porPessoa:0:2);
end.
JavaScript — abrir código inicial
let conta = Number(prompt("Conta: R$ "));
let percentual = Number(prompt("Serviço: "));
let pessoas = Number(prompt("Pessoas: "));

let valorServico = conta * percentual / 100;
let porPessoa = conta + valorServico / pessoas;

console.log("Valor do serviço: R$ " + valorServico.toFixed(2));
console.log("Por pessoa: R$ " + porPessoa.toFixed(2));
Resultado esperado — teste 1
Conta: R$ 180.00
Serviço: 10
Pessoas: 4
Valor do serviço: R$ 18.00
Por pessoa: R$ 49.50
Resultado esperado — teste 2
Conta: R$ 120.00
Serviço: 10
Pessoas: 3
Valor do serviço: R$ 12.00
Por pessoa: R$ 44.00
+25 XP
Programando com Covre - YouTube
Missão 12
CORRIJATipos e significado

🔎 Os dados parecem certos, mas não são usados como números

O programa deve receber preço unitário, quantidade e frete, calcular o subtotal e depois o total. Há um problema relacionado à forma como os dados foram armazenados ou usados. Cada linguagem manifesta esse problema de um jeito. Teste e corrija o código.

⌨ Código para copiar, testar e trabalhar

Abra apenas a linguagem que você está praticando.

Python — abrir código inicial
preco = input("Preço unitário: R$ ")
quantidade = int(input("Quantidade: "))
frete = input("Frete: R$ ")

subtotal = preco * quantidade
total = subtotal + frete

print(f"Total: R$ {total:.2f}")
Java — abrir código inicial
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);

        System.out.print("Preço unitário: R$ ");
        String preco = entrada.nextLine();
        System.out.print("Quantidade: ");
        int quantidade = entrada.nextInt();
        System.out.print("Frete: R$ ");
        double frete = entrada.nextDouble();

        double subtotal = preco * quantidade;
        double total = subtotal + frete;

        System.out.printf("Total: R$ %.2f", total);
    }
}
Pascal — abrir código inicial
program Main;
var
    preco: string;
    quantidade: integer;
    frete, subtotal, total: real;
begin
    write('Preço unitário: R$ ');
    readln(preco);
    write('Quantidade: ');
    readln(quantidade);
    write('Frete: R$ ');
    readln(frete);

    subtotal := preco * quantidade;
    total := subtotal + frete;

    writeln('Total: R$ ', total:0:2);
end.
JavaScript — abrir código inicial
let preco = prompt("Preço unitário: R$ ");
let quantidade = Number(prompt("Quantidade: "));
let frete = prompt("Frete: R$ ");

let subtotal = preco * quantidade;
let total = subtotal + frete;

console.log("Total: R$ " + total.toFixed(2));
Resultado esperado — teste 1
Preço unitário: R$ 18.50
Quantidade: 3
Frete: R$ 7.00
Total: R$ 62.50
Resultado esperado — teste 2
Preço unitário: R$ 42.25
Quantidade: 2
Frete: R$ 10.50
Total: R$ 95.00
+25 XP
Programando com Covre - YouTube
Missão 13
EVOLUA O CÓDIGONovo requisito

⛽ Do consumo ao custo da viagem

O programa já calcula o consumo médio em km/l a partir da distância percorrida e dos litros usados. Evolua-o para também receber o preço do litro de combustível e mostrar quanto foi gasto com combustível nesse percurso.

⌨ Código para copiar, testar e trabalhar

Abra apenas a linguagem que você está praticando.

Python — abrir código inicial
distancia = float(input("Distância: "))
litros = float(input("Litros utilizados: "))

consumo = distancia / litros

print(f"Consumo médio: {consumo:.2f} km/l")
Java — abrir código inicial
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);

        System.out.print("Distância: ");
        double distancia = entrada.nextDouble();
        System.out.print("Litros utilizados: ");
        double litros = entrada.nextDouble();

        double consumo = distancia / litros;

        System.out.printf("Consumo médio: %.2f km/l", consumo);
    }
}
Pascal — abrir código inicial
program Main;
var
    distancia, litros, consumo: real;
begin
    write('Distância: ');
    readln(distancia);
    write('Litros utilizados: ');
    readln(litros);

    consumo := distancia / litros;

    writeln('Consumo médio: ', consumo:0:2, ' km/l');
end.
JavaScript — abrir código inicial
let distancia = Number(prompt("Distância: "));
let litros = Number(prompt("Litros utilizados: "));

let consumo = distancia / litros;

console.log("Consumo médio: " + consumo.toFixed(2) + " km/l");
Resultado esperado — teste 1
Distância: 480
Litros utilizados: 40
Preço do litro: R$ 6.20
Consumo médio: 12.00 km/l
Custo do combustível: R$ 248.00
Resultado esperado — teste 2
Distância: 315
Litros utilizados: 30
Preço do litro: R$ 5.95
Consumo médio: 10.50 km/l
Custo do combustível: R$ 178.50
+25 XP
Programando com Covre - YouTube
Missão 14
EVOLUA O CÓDIGOMudança de requisito

🚘 Divida o custo da viagem entre as pessoas

O programa já calcula litros necessários, custo do combustível e custo total da viagem com pedágios. Um novo requisito chegou: agora ele também deve receber a quantidade de pessoas e mostrar quanto cada pessoa deverá pagar.

⌨ Código para copiar, testar e trabalhar

Abra apenas a linguagem que você está praticando.

Python — abrir código inicial
distancia = float(input("Distância: "))
consumo = float(input("Consumo médio: "))
preco_litro = float(input("Preço do litro: R$ "))
pedagios = float(input("Pedágios: R$ "))

litros = distancia / consumo
combustivel = litros * preco_litro
total = combustivel + pedagios

print(f"Litros necessários: {litros:.2f}")
print(f"Combustível: R$ {combustivel:.2f}")
print(f"Custo total: R$ {total:.2f}")
Java — abrir código inicial
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);

        System.out.print("Distância: ");
        double distancia = entrada.nextDouble();
        System.out.print("Consumo médio: ");
        double consumo = entrada.nextDouble();
        System.out.print("Preço do litro: R$ ");
        double precoLitro = entrada.nextDouble();
        System.out.print("Pedágios: R$ ");
        double pedagios = entrada.nextDouble();

        double litros = distancia / consumo;
        double combustivel = litros * precoLitro;
        double total = combustivel + pedagios;

        System.out.printf("Litros necessários: %.2f%n", litros);
        System.out.printf("Combustível: R$ %.2f%n", combustivel);
        System.out.printf("Custo total: R$ %.2f", total);
    }
}
Pascal — abrir código inicial
program Main;
var
    distancia, consumo, precoLitro, pedagios: real;
    litros, combustivel, total: real;
begin
    write('Distância: ');
    readln(distancia);
    write('Consumo médio: ');
    readln(consumo);
    write('Preço do litro: R$ ');
    readln(precoLitro);
    write('Pedágios: R$ ');
    readln(pedagios);

    litros := distancia / consumo;
    combustivel := litros * precoLitro;
    total := combustivel + pedagios;

    writeln('Litros necessários: ', litros:0:2);
    writeln('Combustível: R$ ', combustivel:0:2);
    writeln('Custo total: R$ ', total:0:2);
end.
JavaScript — abrir código inicial
let distancia = Number(prompt("Distância: "));
let consumo = Number(prompt("Consumo médio: "));
let precoLitro = Number(prompt("Preço do litro: R$ "));
let pedagios = Number(prompt("Pedágios: R$ "));

let litros = distancia / consumo;
let combustivel = litros * precoLitro;
let total = combustivel + pedagios;

console.log("Litros necessários: " + litros.toFixed(2));
console.log("Combustível: R$ " + combustivel.toFixed(2));
console.log("Custo total: R$ " + total.toFixed(2));
Resultado esperado — teste 1
Distância: 420
Consumo médio: 12
Preço do litro: R$ 6.20
Pedágios: R$ 35.00
Pessoas: 4
Litros necessários: 35.00
Combustível: R$ 217.00
Custo total: R$ 252.00
Por pessoa: R$ 63.00
Resultado esperado — teste 2
Distância: 300
Consumo médio: 10
Preço do litro: R$ 6.00
Pedágios: R$ 20.00
Pessoas: 5
Litros necessários: 30.00
Combustível: R$ 180.00
Custo total: R$ 200.00
Por pessoa: R$ 40.00
+30 XP
03

Checkpoint

☐ Consigo identificar entrada, processamento e saída em um problema maior.
☐ Consigo dividir um cálculo em etapas menores.
☐ Sei guardar e reutilizar resultados intermediários.
☐ Consigo calcular porcentagens a partir de valores digitados.
☐ Consigo manter valores monetários com duas casas decimais na saída.
☐ Consigo usar divisão inteira e resto em problemas práticos.
☐ Consigo escolher a ordem correta dos cálculos.
☐ Consigo montar um programa completo sem precisar de estruturas de decisão.
☐ Consigo identificar um erro lógico quando o programa executa, mas produz um resultado incorreto.
☐ Consigo perceber quando um valor foi armazenado ou tratado com um tipo inadequado.
☐ Consigo entender um código existente antes de alterá-lo.
☐ Consigo implementar um novo requisito sem apagar o que já funciona.
04

Comandos aprendidos

Esta seção continua acumulativa. O Módulo 06 não introduz uma estrutura nova: ele combina com mais profundidade o que já foi aprendido.

M1–M4

Saída, variáveis e cálculos

Saída

imprimir
Python: print()
Java: println / printf
Pascal: writeln
JavaScript: console.log

Guardar

variáveis
preco
quantidade
subtotal
total
Use nomes que mostrem o papel de cada valor no problema.

Calcular

+ - * / %
subtotal = preco * quantidade
total = subtotal + taxa
Parênteses podem deixar a ordem do cálculo mais clara.

Tipos

texto · inteiro · decimal · booleano · caractere
Use o tipo adequado ao valor que o problema representa.
M5

Entrada de dados

Python

input()
idade = int(input("Idade: "))
preco = float(input("Preço: R$ "))

Java

Scanner
int idade = entrada.nextInt();
double preco = entrada.nextDouble();

Pascal

readln()
readln(idade);
readln(preco);

JavaScript

prompt()
let idade = Number(prompt("Idade: "));
let preco = Number(prompt("Preço: R$ "));
M6

Cálculos combinados

Resultados intermediários

uma etapa por variável
valorDesconto = preco * percentual / 100
precoFinal = preco - valorDesconto

Porcentagem

valor × percentual ÷ 100
servico = conta * percentual / 100

Divisão inteira + resto

grupos completos + sobra
caixas = total // capacidade
resto = total % capacidade
A sintaxe da divisão inteira muda entre linguagens; consulte os gabaritos das missões 06 e 07.

Formatação

duas casas decimais
R$ 49.50
12.00 km/l
Nos resultados monetários, mantenha duas casas decimais.
Estratégia: entrada → primeiro cálculo → resultado intermediário → próximo cálculo → saída.