Lista de Exercícios - Semana 1
Antes de começar
- Os exercícios desta semana são de algoritmo: você ainda não vai escrever código.
- Use a notação do pseudocódigo vista no material (
ALGORITMO/FIM_ALGORITMO,DECLARE,LEIA,ESCREVA, atribuição com←,SE/ENTÃO/SENÃO). Palavras-chave em MAIÚSCULAS. - Os fluxogramas devem ser feitos usando a ferramenta draw.io.
- Entrega: reúna tudo em um único arquivo (PDF) e envie pelo Moodle.
Lembrete:
←significa “recebe” (atribuição), diferente do=da matemática.
1. Escolha uma tarefa do seu dia a dia (preparar um miojo, ir da sua casa até a faculdade, jogar uma partida de algo) e escreva o algoritmo dela em descrição narrativa, com pelo menos 6 passos numerados. Ao final, indique: existe algum passo que seja uma entrada (dado que chega) ou uma saída (resultado que sai)?
2. Escreva, em descrição narrativa, o algoritmo de um caixa eletrônico para um cliente sacar dinheiro. O algoritmo deve verificar se há saldo suficiente antes de liberar o valor.
Em qual passo da questão 2 existe uma decisão (um “se… então… senão”)? Aponte.
3. Leia o fluxograma abaixo e responda:

- a) Quais são os dados de entrada?
- b) O que o algoritmo calcula?
- c) O que aparece na tela se
A = 7eB = 8? - d) E se
A = 3eB = 4?
4. Desenhe o fluxograma de um algoritmo que leia dois números e mostre a soma deles. (Apenas sequência, sem decisão.)
5. Desenhe o fluxograma de um algoritmo que leia a idade de uma pessoa e escreva "MAIOR DE IDADE" se a idade for maior ou igual a 18; caso contrário, escreva "MENOR DE IDADE".
6. Desenhe o fluxograma de um algoritmo que leia um número e informe se ele é positivo ou negativo.
7. Escreva o pseudocódigo do algoritmo da questão 4 (ler dois números e mostrar a soma).
8. Escreva o pseudocódigo de um algoritmo que leia o raio de um círculo e calcule sua área. Use AREA ← 3.14 * RAIO * RAIO.
9. Escreva o pseudocódigo de um algoritmo que leia o preço de um produto e a quantidade comprada, calcule o valor total e, se o total for maior que 100, aplique 10% de desconto. Mostre o valor final a pagar.
10. (Teste de mesa) Dado o pseudocódigo abaixo, simule sua execução (teste de mesa) e diga a saída para cada caso:
ALGORITMO
DECLARE N1, N2, M NUMÉRICO
LEIA N1, N2
M ← (N1 + N2) / 2
ESCREVA "Média = ", M
SE M ≥ 7
ENTÃO ESCREVA "Aprovado"
SENÃO ESCREVA "Reprovado"
FIM_ALGORITMO
a) N1 = 6 e N2 = 9 → qual a saída completa?
b) N1 = 5 e N2 = 6 → qual a saída completa?
11. (Encontre os erros) O pseudocódigo abaixo deveria ler duas notas, mostrar a média e informar se o aluno foi aprovado (média ≥ 7) ou reprovado. Mas ele tem 3 erros. Encontre e corrija cada um, explicando em uma frase o que estava errado.
ALGORITMO
DECLARE N1, N2, M NUMÉRICO
ESCREVA "Digite as duas notas"
LEIA N1
M ← N1 + N2 / 2
SE M ≥ 7
ENTÃO ESCREVA "Aprovado"
SENÃO ESCREVA "Reprovado"
FIM_ALGORITMO
12. (Desafio, opcional) Faça um algoritmo que leia três números diferentes e informe qual é o maior deles. Você pode representá-lo em fluxograma ou em pseudocódigo (ou nos dois).
Dica: você vai precisar de mais de uma decisão. Pense com calma em como comparar os números dois a dois.
Gabarito
Resolução de referência para consulta e correção. As questões de descrição livre (1, 2, 12) admitem outras soluções corretas; o que importa é a lógica.
1.
Resposta livre. Exemplo de solução:
Algoritmo: Preparar miojo
Passo 1: Colocar água numa panela.
Passo 2: Levar a panela ao fogo até ferver.
Passo 3: Colocar o macarrão na água fervendo.
Passo 4: Esperar 3 minutos.
Passo 5: Desligar o fogo e escorrer a água.
Passo 6: Adicionar o tempero e misturar.
Entrada: os ingredientes (água, macarrão, tempero). Saída: o miojo pronto (passo 6, o resultado final).
2.
Algoritmo: Sacar dinheiro
Passo 1: Inserir o cartão.
Passo 2: Digitar a senha.
Passo 3: Escolher a opção "Saque" e informar o valor.
Passo 4: Verificar se o saldo é suficiente.
Passo 5: Se o saldo for suficiente, liberar o valor; caso contrário, exibir "Saldo insuficiente".
Passo 6: Devolver o cartão.
A decisão está no passo 5.
3.
a) Entrada: A e B.
b) Calcula S = A + B e verifica se S é maior que 10, mostrando "GRANDE" ou "PEQUENO".
c) A = 7, B = 8: S = 15, 15 > 10 é verdadeiro, mostra "GRANDE".
d) A = 3, B = 4: S = 7, 7 > 10 é falso, mostra "PEQUENO".
4.
( INÍCIO )
│
[ LEIA A, B ]
│
[ S ← A + B ]
│
[ ESCREVA S ]
│
( FIM )
5.
( INÍCIO )
│
[ LEIA IDADE ]
│
< IDADE ≥ 18 ? > ──SIM──► [ ESCREVA "MAIOR DE IDADE" ]
│ │
NÃO │
│ │
[ ESCREVA "MENOR DE IDADE" ] │
│ │
└───────────► ( FIM ) ◄───────┘
6.
( INÍCIO )
│
[ LEIA N ]
│
< N > 0 ? > ──SIM──► [ ESCREVA "POSITIVO" ]
│ │
NÃO │
│ │
[ ESCREVA "NEGATIVO" ] │
│ │
└────────────► ( FIM ) ◄─┘
O enunciado não cobra o caso N = 0; se algum aluno tratar esse caso à parte (nem positivo nem negativo), considere correto também. Bom ponto para comentar na síncrona.
7.
ALGORITMO
DECLARE A, B, S NUMÉRICO
ESCREVA "Digite dois números"
LEIA A, B
S ← A + B
ESCREVA "Soma = ", S
FIM_ALGORITMO
8.
ALGORITMO
DECLARE RAIO, AREA NUMÉRICO
ESCREVA "Digite o raio"
LEIA RAIO
AREA ← 3.14 * RAIO * RAIO
ESCREVA "Área = ", AREA
FIM_ALGORITMO
9.
ALGORITMO
DECLARE PRECO, QUANTIDADE, TOTAL NUMÉRICO
ESCREVA "Digite o preço do produto"
LEIA PRECO
ESCREVA "Digite a quantidade"
LEIA QUANTIDADE
TOTAL ← PRECO * QUANTIDADE
SE TOTAL > 100
ENTÃO TOTAL ← TOTAL - (TOTAL * 0.10)
ESCREVA "Valor a pagar = ", TOTAL
FIM_ALGORITMO
10.
a) N1 = 6, N2 = 9: M = (6 + 9) / 2 = 7.5. Saída: Média = 7.5 seguido de Aprovado (7.5 ≥ 7).
b) N1 = 5, N2 = 6: M = (5 + 6) / 2 = 5.5. Saída: Média = 5.5 seguido de Reprovado (5.5 < 7).
11.
Os três erros:
LEIA N1só lê a primeira nota; falta lerN2. Correção:LEIA N1, N2.M ← N1 + N2 / 2calcula errado por causa da precedência: a divisão acontece antes da soma, então o algoritmo fazN1 + (N2 / 2)em vez de(N1 + N2) / 2. Correção:M ← (N1 + N2) / 2.- A média nunca é mostrada; falta um
ESCREVAcom o valor deMantes doSE.
Versão corrigida:
ALGORITMO
DECLARE N1, N2, M NUMÉRICO
ESCREVA "Digite as duas notas"
LEIA N1, N2
M ← (N1 + N2) / 2
ESCREVA "Média = ", M
SE M ≥ 7
ENTÃO ESCREVA "Aprovado"
SENÃO ESCREVA "Reprovado"
FIM_ALGORITMO
12. (Desafio)
Uma solução por acumulador (guarda o maior encontrado até agora), mais simples que comparar par a par:
ALGORITMO
DECLARE A, B, C, MAIOR NUMÉRICO
ESCREVA "Digite três números"
LEIA A, B, C
MAIOR ← A
SE B > MAIOR
ENTÃO MAIOR ← B
SE C > MAIOR
ENTÃO MAIOR ← C
ESCREVA "O maior número é ", MAIOR
FIM_ALGORITMO
A dica do enunciado sugere comparar dois a dois com decisões aninhadas; ambas as abordagens são válidas, e vale mostrar as duas na correção coletiva para contrastar decisões sequenciais com decisões aninhadas.
Lista da Semana 1 - Base: Ascencio & Campos, Cap. 1 (1.1–1.4). Traga suas dúvidas para o encontro síncrono.