Comparaison de nombres avec codage pour 10 ans

Mar 26 2023
Aujourd'hui, par curiosité, j'ai ramassé un livre de mathématiques de 6e standard. Le premier sujet/problème du livre consistait à comparer des nombres.

Aujourd'hui, par curiosité, j'ai ramassé un livre de mathématiques de 6e standard. Le premier sujet/problème du livre consistait à comparer des nombres. Par exemple : identifier max et min dans une série de nombres etc. Étrangement, cela est également demandé pour les entretiens de codage des ingénieurs logiciels juniors. (Trouvez max/min à partir d'un tableau, comparez les nombres sans utiliser les opérateurs disponibles)

Immédiatement, j'ai pensé, ce sujet peut-il être enseigné d'une manière qu'un élève de 6e standard puisse comprendre et également coder. Voici donc ci-dessous une tentative d'explication simple que les enfants de 10 ans peuvent comprendre.

La première chose à comprendre est la façon dont le nombre (nombre décimal positif réel) est formé. Un nombre est formé avec 2 composants principaux placés et chiffres . Maintenant, l'accent est mis sur le placement et le chiffre (rappelez-vous l'ordre).

Pour former un nombre, nous devons commencer par le nombre de places. Lorsque nous nous déplaçons de droite à gauche, l'endroit porte 10 fois plus de poids.

Dans l'exemple ci-dessous, vous pouvez voir que nous avons 1 place, 2 places, 3 places pour former le numéro. Nous avons d'abord 1 place et à cette place nous mettons un chiffre (disons 1). Le poids des places est 1 et le chiffre est 1, donc la sortie finale que nous obtenons est 1. Ensuite, nous avons 2 places et encore une fois nous mettons le chiffre 1. Pour la première place, le poids est 1 mais pour la seconde, il est 10 fois le poids précédent donc final nous obtenir 11. De même, nous obtenons 111 pour le troisième.

Vous pouvez maintenant voir l'importance de placer , car le nombre se déplace vers la gauche, sa magnitude augmente de l'ordre de 10.

Par conséquent, la première règle de comparaison des nombres est que plus le nombre de places est élevé, plus le nombre est élevé . Dans l'exemple ci-dessus, le dernier numéro a 3 places, c'est donc le plus grand de tous.

Et si le nombre de places était égal ? Vient ensuite le principe suivant, c'est-à-dire le chiffre. Plus le chiffre est grand, plus le nombre est grand.

Mais quel chiffre comparer en premier ? Puisque nous savons que les chiffres les plus à gauche portent le plus de poids, commencez donc par le chiffre le plus à gauche des deux nombres. Le chiffre le plus grand est le plus grand nombre, mais s'ils sont égaux, déplacez-vous d'un endroit à droite pour les deux nombres et répétez.

Voici une autre représentation visuelle de ceci :

Voici l'algorithme complet :

  1. Comparez le nombre de places dans un chiffre. S'ils ne sont pas égaux, le nombre avec les places les plus élevées est plus grand. par exemple 111 est plus grand que 11
  2. Si le nombre de places est égal, testez le chiffre le plus à gauche des deux nombres. S'il n'est pas égal, le nombre avec le chiffre le plus élevé est plus grand. par exemple 210 est plus grand que 150.
  3. Si le chiffre le plus à gauche est égal, nous déplaçons le pointeur vers la droite, en traitant le deuxième chiffre des deux nombres comme le chiffre le plus à gauche et répétons 2. Par exemple, 150 est supérieur à 140.
  4. Répétez 2 et 3 jusqu'à ce que nous trouvions les réponses, si nous manquons de chiffres pour comparer, les deux nombres sont égaux.

function findBiggerNumber(num1, num2) {
  if(num1.length != num2.length){
     return num1.length > num2.length ? num1 : num2; 
  }
  i = 0;
  while(num1[i] == num2[i]){
   i++;
  }
 if(i== num1.length){
   return -1;
 }
 return num1[i] > num2[i] ? num1 : num2;
}