Confronto dei numeri con la codifica per bambini di 10 anni

Mar 26 2023
Oggi per curiosità ho preso un sesto libro di matematica standard. Il primo argomento/problema del libro è stato il confronto dei numeri.

Oggi per curiosità ho preso un sesto libro di matematica standard. Il primo argomento/problema del libro è stato il confronto dei numeri. Ad esempio: identificare il massimo e il minimo in una serie di numeri ecc. Stranamente questo viene richiesto anche per i colloqui di codifica per ingegneri del software junior. (Trova max/min da un array, confronta i numeri senza utilizzare gli operatori disponibili)

Immediatamente ho pensato, questo argomento può essere insegnato in un modo che uno studente del sesto livello possa capire e anche programmare. Quindi di seguito c'è un tentativo di semplice spiegazione che un bambino di 10 anni può capire.

La prima cosa da capire è come si forma il numero (numero decimale positivo reale). Un numero è formato con 2 componenti principali posizionando e cifre . Ora l'accento è posto sul posizionamento e sulla cifra (ricorda l'ordine).

Per formare un numero dobbiamo iniziare con il numero di posti. Mentre ci spostiamo da destra a sinistra, il luogo trasporta un peso 10 volte maggiore.

Nell'esempio seguente puoi vedere che abbiamo 1 posto, 2 posti, 3 posti per formare il numero. Per prima cosa abbiamo 1 posto e in quel posto mettiamo una cifra (diciamo 1). Il peso delle posizioni è 1 e la cifra è 1, quindi l'output finale che otteniamo è 1. Successivamente abbiamo 2 posizioni e di nuovo inseriamo la cifra 1. Per la prima posizione il peso è 1 ma per la seconda è 10 volte il peso precedente, quindi ottieni 11. Allo stesso modo otteniamo 111 per il terzo.

Ora puoi vedere l'importanza di posizionare , poiché il numero si sposta a sinistra la sua grandezza aumenta dell'ordine di 10.

Quindi la prima regola per confrontare i numeri è che maggiore è il numero di posizioni maggiore è il numero . Nell'esempio sopra, l'ultimo numero ha 3 posizioni quindi è il più grande di tutti.

E se il numero di posti è uguale? Poi arriva il principio successivo, cioè la cifra. Più grande è la cifra più grande è il numero.

Ma quale cifra confrontare per prima? Poiché sappiamo che le cifre più a sinistra portano il maggior peso, quindi inizia dalla cifra più a sinistra di entrambi i numeri. La cifra più grande è il numero più grande, tuttavia, se sono uguali, spostati di una posizione a destra per entrambi i numeri e ripeti.

Ecco un'altra rappresentazione visiva di questo:

Ecco l'intero algoritmo:

  1. Confronta il numero di posti in una cifra. Se non sono uguali, il numero con i posti più alti è più grande. ad esempio 111 è più grande di 11
  2. Se il numero di posizioni è uguale, prova la cifra più a sinistra di entrambi i numeri. Se non è uguale, il numero con la cifra più alta è più grande. ad esempio 210 è maggiore di 150.
  3. Se la cifra più a sinistra è uguale, spostiamo il puntatore a destra, trattando la seconda cifra in entrambi i numeri come la cifra più a sinistra e ripetiamo 2. Ad esempio, 150 è maggiore di 140.
  4. Ripeti 2 e 3 finché non troviamo le risposte, se esauriamo le cifre da confrontare, allora entrambi i numeri sono uguali.

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;
}