6-) Os bois de um frigorífico trazem presos ao seu pescoço um cartão contendo seu número de identificação e seu peso. Desenvolva um algoritmo que receba o número de identificação, o peso de cada boi e ao final imprima o número de identificação e o peso do boi mais gordo e do boi mais magro. O número de bois a ser digitado deverá ser informado pelo usuário no início do algoritmo (utilizar a estrutura for e armazenar os dados dos bois em vetores).

Passo 1

O enunciado pede um algoritmo que leia um inteiro N (número de bois), depois para cada boi leia seu número de identificação e seu peso, armazenando esses pares em vetores. Ao final, o algoritmo deve informar o boi mais gordo (identificação e peso) e o boi mais magro (identificação e peso). O conteúdo envolvido é: vetores, laço de repetição \texttt{for} e estruturas condicionais.

Passo 2

Declaramos os seguintes elementos antes da leitura dos dados:
– inteiro N (quantidade de bois)
– vetores de tamanho N:
• inteiro ID[1\ldots N] (identificações)
• real PESO[1\ldots N] (pesos)
– inteiro idMaior, idMenor
– real maiorPeso, menorPeso
– inteiro de controle de laço i

Passo 3

Fazemos a leitura de N e, em seguida, um laço de 1 até N para preencher os vetores e ao mesmo tempo atualizar os valores mínimo e máximo:
Para i \leftarrow 1 até N faça
• Leia ID[i]
• Leia PESO[i]
• Se i = 1 então
maiorPeso \leftarrow PESO[i]
menorPeso \leftarrow PESO[i]
idMaior \leftarrow ID[i]
idMenor \leftarrow ID[i]
Senão
– Se PESO[i] > maiorPeso então
\;\;maiorPeso \leftarrow PESO[i] \;\;idMaior \leftarrow ID[i]
FimSe
– Se PESO[i] < menorPeso então
\;\;menorPeso \leftarrow PESO[i] \;\;idMenor \leftarrow ID[i]
FimSe
FimSe
FimPara

Passo 4

Após o laço, idMaior e maiorPeso contêm os dados do boi mais gordo, e idMenor e menorPeso contêm os dados do boi mais magro. Basta imprimir esses valores.

Resposta

Algoritmo EncontrarBoiMaisGordoEMagro
Leia N
Declare ID[1..N], PESO[1..N]
Para i ← 1 até N faça
 Leia ID[i]
 Leia PESO[i]
 Se i \(=1\) então
 maiorPeso ← PESO[i]
 menorPeso ← PESO[i]
 idMaior ← ID[i]
 idMenor ← ID[i]
 Senão
 Se PESO[i] > maiorPeso então
 maiorPeso ← PESO[i]
 idMaior ← ID[i]
 FimSe
 Se PESO[i] < menorPeso então
 menorPeso ← PESO[i]
 idMenor ← ID[i]
 FimSe
 FimSe
FimPara
Imprima "Boi mais gordo: ID =", idMaior, "Peso =", maiorPeso
Imprima "Boi mais magro: ID =", idMenor, "Peso =", menorPeso

Exercícios relacionados