Ficha 06 · Avaliação integrada · teste-tipo
- Mobilizar os conceitos do pensamento computacional
- Construir algoritmos completos a partir de enunciados
- Aplicar pseudocódigo e fluxograma
- Identificar e corrigir erros
- Justificar escolhas de design algorítmico
Instruções gerais. Esta ficha de avaliação tem 5 grupos, num total de 200 pontos. Responda às questões pela ordem que preferir, mas identifique sempre a numeração. O tempo recomendado é de 90 minutos. Pode usar a folha em branco em anexo para rascunhos.
Grupo I · Conceitos (40 pontos)
Exercício 1 · Verdadeiro ou Falso (10 pts)
Indique a veracidade (V/F) e justifique cada afirmação em uma frase curta:
1.1 Um algoritmo deve sempre produzir o mesmo resultado para a mesma entrada. ___ (2 pts)
1.2 O pseudocódigo é uma linguagem de programação. ___ (2 pts)
1.3 O símbolo do losango no fluxograma representa um cálculo. ___ (2 pts)
1.4 Inicializar um acumulador-produto a zero é correcto. ___ (2 pts)
1.5 A divisão 7 MOD 3 dá 2. ___ (2 pts)
Exercício 2 · Correspondência (15 pts)
Faça corresponder cada padrão à inicialização típica:
| Padrão | Inicialização | |
|---|---|---|
| A. Contador | 1. Valor especial fora do domínio | |
| B. Acumulador-soma | 2. Primeiro elemento da sequência | |
| C. Acumulador-produto | 3. ← 0 |
|
| D. Máximo / Mínimo | 4. ← 0 |
|
| E. Sentinela | 5. ← 1 |
A — , B — , C — , D — , E — ___
Exercício 3 · Definir conceitos (15 pts)
Defina, em uma ou duas frases, cada um dos seguintes conceitos:
a) Algoritmo
b) Estrutura repetitiva pré-teste
c) Ciclo infinito
Grupo II · Avaliar expressões (20 pontos)
Exercício 4 · (20 pts)
Considere a = 8, b = 3, c = "Aulify". Indique o resultado de cada expressão:
| # | Expressão | Resultado |
|---|---|---|
| 4.1 | a + b * 2 |
|
| 4.2 | a DIV b |
|
| 4.3 | a MOD b |
|
| 4.4 | a / b (real) |
|
| 4.5 | (a + b) > 10 E (a * b) > 20 |
|
| 4.6 | NÃO (a < b) |
|
| 4.7 | b ^ 3 |
|
| 4.8 | (a = 8) OU (c = "Outro") |
Grupo III · Trace e depuração (40 pontos)
Exercício 5 · Trace table (20 pts)
Considere o algoritmo:
LER n
total ← 0
i ← 0
ENQUANTO i < n FAÇA
i ← i + 1
SE i MOD 2 = 0 ENTÃO
total ← total + i
FIM SE
FIM ENQUANTO
ESCREVER total
Para n = 6, complete a tabela:
| Iteração | i (após incremento) |
i MOD 2 = 0 |
total |
|---|---|---|---|
| 1 | 1 | F | 0 |
| 2 | 2 | V | |
| 3 | 3 | ||
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | 6 |
Saída: ____
O que faz este algoritmo? ________
Exercício 6 · Encontrar o erro (20 pts)
O algoritmo seguinte é suposto contar quantas notas de uma turma são positivas (≥ 10). Identifique dois erros e proponha a versão corrigida.
LER n
positivas ← 1
PARA i DE 1 ATÉ n FAÇA
LER nota
SE nota > 10 ENTÃO
positivas ← positivas + 1
FIM SE
FIM PARA
ESCREVER positivas
Grupo IV · Construir algoritmos (60 pontos)
Exercício 7 · Algoritmo com selecção (20 pts)
Escreva um algoritmo em pseudocódigo que leia o preço de uma compra e a categoria do cliente ("Premium" ou "Regular") e calcule o valor final a pagar, aplicando:
- Premium: 15 % de desconto.
- Regular: 5 % de desconto se a compra for superior a 50 €, 0 % caso contrário.
Exercício 8 · Algoritmo com ciclo e padrão (20 pts)
Escreva um algoritmo que leia n temperaturas (reais) e calcule e mostre:
- a média;
- a temperatura máxima registada;
- o número de dias frios (temperatura < 10 °C).
Exercício 9 · Algoritmo com sentinela (20 pts)
Numa portagem, regista-se o valor pago por cada veículo. Quando termina o turno, o operador insere −1 como sentinela.
Escreva um algoritmo que:
- Leia os valores até aparecer
−1; - Indique o número de veículos;
- Indique a receita total;
- Indique a receita média por veículo (trate o caso de zero veículos).
Grupo V · Representação (40 pontos)
Exercício 10 · Conversão (20 pts)
Considere o pseudocódigo:
INICIO
LER x
SE x > 0 ENTÃO
ESCREVER "Positivo"
SENÃO SE x < 0 ENTÃO
ESCREVER "Negativo"
SENÃO
ESCREVER "Zero"
FIM SE
FIM
Desenhe o fluxograma equivalente no espaço abaixo.
Exercício 11 · Justificar escolha de representação (10 pts)
Numa equipa de desenvolvimento, vai produzir documentação técnica de um algoritmo com 80 instruções. Justifique, em 3-4 linhas, se usaria fluxograma ou pseudocódigo e porquê.
Exercício 12 · Conversão para programação real (10 pts)
Indique como traduziria as seguintes instruções de pseudocódigo para Python:
| Pseudocódigo | Python |
|---|---|
LER nome |
|
ESCREVER "Olá, ", nome |
|
idade ← 17 |
|
SE idade >= 18 ENTÃO |
|
PARA i DE 1 ATÉ 10 FAÇA |
FIM DA FICHA · BOM TRABALHO