Exercícios Resolvidos de Manipulando Funções

Ver Teoria

Enunciado

Faça um programa que recebe 3 valores inteiros do usuário e os passe como parâmetros para uma função o r d e n a r que irá imprimir na tela esses números em ordem crescente.

Faça o protótipo da função o r d e n a r .

Passo 1

Eai, tudo tranquilo?

Vamos iniciar esse código incluindo a função biblioteca i o s t r e a m , pois teremos que imprimir os valores na tela. Além disso, vamos inicializar a função m a i n .

Devemos fazer o protótipo da função o r d e n a r como explicitado no enunciado. Como o objetivo dessa função é imprimir os valores, não há necessidade dela retornar algo, portanto, vamos declará-la como v o i d . Já as 3 variáveis que irão receber os números do usuários são declaradas como inteiros. E como são argumentos da função o r d e n a r , elas são declaradas ali dentro dos parênteses mesmo.

Passo 2

Agora, vamos escrever o algoritmo da função para colarmos os números a , b e c em ordem crescente.

Vamos analisar o caso de a ser o menor, então abrimos um i f , com a condição de que a < b E a < c :

i f   ( a <   = b   & &   a <   = c )

O operador lógico & & significa E. Dentro dessa condição, teríamos duas possibilidades: ou b seria o maior ou c seria o maior. Então abrimos outro i f . Assim, poderíamos escrever o começo da função o r d e n a r dessa forma:

Mas também precisamos considerar o caso de b ser o menor número. Então escrevemos esses mesmos condicionais pro caso em que b < a E b < c . Se for o caso, o programa não vai entrar no primeiro i f , e vai entrar nesse. Daí vamos analisar quem é o segundo maior, a ou c .

Por fim, se a não é o menor e b não é o menor, o programa não vai entrar nesses i f s . Então ele vai entrar no e l s e , que vai considerar o caso em que c é o menor.

Juntando toda essa parte de ordenação pros 3 casos, fica bem assim:

Passo 3

Por fim, basta recebermos os dados do usuário e passarmos ele para a função:

Resposta