Questão FC373192
Na programação de um software, deseja-se calcular a média aritmética entre os dois valores maiores em um universo de três números armazenados nas variáveis que suportam números rea
Algoritmos e Lógica de Programação
FCC · 2019
Na programação de um software, deseja-se calcular a média aritmética entre os dois valores maiores em um universo de três números armazenados nas variáveis que suportam números reais a, b e c. A média será armazenada na variável r, que também suporta números reais. Para isso, se propôs o seguinte trecho de algoritmo.
se (a<b E a<c)
então r = (b+c)/2
senão se (b<c)
então r = (a+c)/2
senão r = (a+b)/2
fim-se
fim_se
O trecho mostrado está
- correto para o problema proposto.
- incorreto, pois no lugar de senão se (b<c) deve ser colocado senão se (b<a E b<c).
- incorreto, pois deve ser usado se (a<b OU a<c) no lugar de se (a<b E a<c).
- incorreto, pois está faltando uma comparação para verificar se c é menor do que b e a.
- incorreto, pois não pode haver uma comparação se dentro da outra.
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
O trecho está correto porque identifica qual das três variáveis é a menor e calcula a média aritmética dos demais dois valores, que são os maiores.
Primeiro teste: SE (a<b E a<c) — isto garante que a é o menor; então exclui-se a e define-se \(r=(b+c)/2\).
Se a condição falha, então a não é o menor; portanto o menor está entre b e c. O próximo teste (SENÃO SE b<c) determina qual é o menor desses dois:
- Se b<c, b é o menor e \(r=(a+c)/2\).
- Caso contrário, c é o menor e \(r=(a+b)/2\).
Em todas as situações o algoritmo conserva os dois maiores e calcula corretamente \(r\). Ex.: a=3, b=2, c=5 → r=(3+5)/2=4.
Conteúdo do catálogo FC Concursos · Atualizado em