FC ConcursosFC Concursos

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á

  1. correto para o problema proposto.
  2. incorreto, pois no lugar de senão se (b<c) deve ser colocado senão se (b<a E b<c).
  3. incorreto, pois deve ser usado se (a<b OU a<c) no lugar de se (a<b E a<c).
  4. incorreto, pois está faltando uma comparação para verificar se c é menor do que b e a.
  5. 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

Continue aprendendo