Descreva um algoritmo que produza os valores máximo, mediano, mínimo e a média de um conjunto de três números inteiros. ( O valor mediano de um conjunto de números inteiros é o elemento central da lista quando esses inteiros estão em ordem crescente de tamanho. A média de um conjunto de números inteiros é a soma dos inteiros dividida pelo número de inteiros no conjunto.)
Passo 1
Temos três números inteiros de entrada, digamos
,
e
. Queremos produzir:
– o valor mínimo,
– o valor máximo,
– o valor mediano (o do “meio”, na ordenação crescente),
– a média aritmética dos três valores.
Para isso usaremos comparações simples e algumas operações aritméticas.
– o valor mínimo,
– o valor máximo,
– o valor mediano (o do “meio”, na ordenação crescente),
– a média aritmética dos três valores.
Para isso usaremos comparações simples e algumas operações aritméticas.
Passo 2
Calcular o menor valor
entre
,
e
por comparação:
Se \(a \le b\) e \(a \le c\) então
\(\text{minVal} \leftarrow a\) Senão se \(b \le a\) e \(b \le c\) então
\(\text{minVal} \leftarrow b\) Senão
\(\text{minVal} \leftarrow c\) Fim se
Passo 3
Calcular o maior valor
entre
,
e
de modo análogo:
Se \(a \ge b\) e \(a \ge c\) então
\(\text{maxVal} \leftarrow a\) Senão se \(b \ge a\) e \(b \ge c\) então
\(\text{maxVal} \leftarrow b\) Senão
\(\text{maxVal} \leftarrow c\) Fim se
Passo 4
Obter o valor mediano
. Como sabemos a soma total e já temos o mínimo e o máximo, basta:
Passo 5
Calcular a média aritmética
dos três números:
Resposta
Algoritmo completo em pseudocódigo:
Leia os três inteiros \(a\), \(b\), \(c\) Se \(a \le b\) e \(a \le c\) então
\(\text{minVal} \leftarrow a\) Senão se \(b \le a\) e \(b \le c\) então
\(\text{minVal} \leftarrow b\) Senão
\(\text{minVal} \leftarrow c\) Fim se
Se \(a \ge b\) e \(a \ge c\) então
\(\text{maxVal} \leftarrow a\) Senão se \(b \ge a\) e \(b \ge c\) então
\(\text{maxVal} \leftarrow b\) Senão
\(\text{maxVal} \leftarrow c\) Fim se \(\text{midVal} \leftarrow a + b + c - \text{minVal} - \text{maxVal} \text{avg} \leftarrow \dfrac{a + b + c}{3}\) Imprima \(\text{maxVal}\), \(\text{midVal}\), \(\text{minVal}\) e \(\text{avg}\) ```