terça-feira, 5 de maio de 2015

Ordenando números usando variável auxiliar


Alguns alunos de cursos de programação recebem exercícios e tem que se virar para entender a lógica, desenvolver o algoritmo, e, é exigido dos alunos em iniciação certa maturidade e condição de solução de problemas que eles, certamente não tem. Um dos exercícios que muito me fez quebrar a cabeça para entender foi este em que era assim solicitado.

Crie um algoritmo em C++ que, solicite três números ao usuário. Depois de digitado, o algoritmo terá que ordenar estes números do menor para o maior.
 

Para quem está iniciando esta atividade de programar, não saber resolver questões assim, desestimula no prosseguimento do curso. E, há professores que fazem questão de dificultar mais ainda, que é para, segundo eles, peneirar os mais valentes na arte da programação. Eu chamo isto de outros adjetivos. Pois bem! Adiante! Eis abaixo a solução do algoritmo.




Depois de muito matutar e fazer um monstrengo de código, fiz o código acima. É um exercício para fazer com que você aprenda a manipular variáveis de um lugar para outro; é um exercício que tem como proposta ajudar o aluno a entender como é fácil, pegar um valor que está ali, levar pra lá, trazer para acolá.

O primeiro IF que é if(a>b) é muito simples de entender. Se o número na variável "a" for maior do que a variável que está em "b", acontece o seguinte evento:
  1. Variável auxiliar pega o valor que está em a;
  2. Variável "a", que foi para a variável auxiliar (aux) recebe o valor que está em b;
  3. Variável "b", recebe o número maior que estava em "a" e que foi transferida temporariamente para a variável auxiliar.
O processo acima se repete nas outras duas ações.

Nenhum comentário:

Postar um comentário