Ficha 04 · Padrões de construção
- Reconhecer padrões algorítmicos
- Aplicar contador, acumulador, máximo, mínimo, sentinela
- Combinar padrões num mesmo algoritmo
- Garantir validação de dados de entrada
Parte I · Reconhecimento
Exercício 1 · Identificar o padrão dominante
Para cada problema, identifique o(s) padrão(ões) principais (Contador, Acumulador-soma, Acumulador-produto, Máximo, Mínimo, Sentinela, Validação):
a) Somar todas as notas de uma turma. ___
b) Pedir uma idade e repetir até o valor estar entre 0 e 120. ___
c) Calcular o factorial de N. ___
d) Contar quantos alunos têm positiva. ___
e) Encontrar o aluno mais alto. ___
f) Ler temperaturas até o utilizador inserir −1000 e calcular a média. ___
Parte II · Aplicação directa
Exercício 2 · Acumulador-produto · factorial
Escreva um algoritmo que leia um inteiro positivo n e calcule o seu factorial (n! = 1 × 2 × 3 × … × n).
Exercício 3 · Máximo simples
Escreva um algoritmo que leia 5 números reais e indique o maior.
Exercício 4 · Mínimo e máximo simultâneos
Adapte o exercício anterior para ler n números (em vez de 5 fixos) e determinar simultaneamente o máximo e o mínimo numa só passagem.
Parte III · Sentinela e validação
Exercício 5 · Média com sentinela
Escreva um algoritmo que leia notas (valores reais) até aparecer −1 e calcule a média das notas lidas (sem contar o −1). Trate o caso de não ter sido lida nenhuma nota.
Exercício 6 · Validação de entrada
Escreva um algoritmo que peça uma nota entre 0 e 20 e que insista até o utilizador inserir um valor válido. Mostre uma mensagem de erro a cada tentativa inválida.
Parte IV · Combinação de padrões
Exercício 7 · Estatísticas numa só passagem
Escreva um algoritmo que leia n notas (com n lido no início) e calcule:
- a soma;
- a média;
- o máximo;
- o mínimo;
- o número de notas positivas (≥ 10).
Todos os cálculos devem ser feitos numa só passagem pelos dados.
Exercício 8 · Loja simples
Numa loja, o caixa lê continuamente o preço de cada artigo. Quando o cliente termina, o operador insere o preço 0 para indicar fim de compras.
Escreva um algoritmo que:
- Leia preços até aparecer
0; - Calcule o total a pagar;
- Mostre o número de artigos, o preço médio e o artigo mais caro.
Aplicar 10 % de desconto se o total exceder 100 €.