Numero decimale periodico

Da Wikipedia, l'enciclopedia libera.

In matematica, un numero decimale periodico è un numero razionale che espresso in notazione decimale ha una stringa (finita) di cifre dopo la virgola che, da un certo punto in poi, si ripete all'infinito. Questa stringa ripetuta è detta periodo del numero. Molti numeri periodici hanno una stringa (finita) di cifre che non si ripete, prima che inizi il periodo, tale stringa non ripetuta è detta antiperiodo.

Dato che la rappresentazione decimale del numero è infinita esistono, principalmente, due convenzioni per scrivere il numero in forma compatta. Si pone una linea continua sopra le cifre del periodo oppure si racchiudono le cifre che si ripetono tra parentesi tonde. Ad esempio 23,48771=23,4(8771)=23,487718771877187718771…

Ogni numero decimale periodico, essendo una particolare rappresentazione di un numero razionale, può essere rappresentato mediante una frazione. Vale anche il viceversa, cioè che ogni numero razionale è periodico e quindi ogni frazione può essere espressa mediante un numero decimale periodico. Questo è immediato osservando che ogni numero con parte decimale finita in realtà è periodico di periodo 0. Ad esempio scrivendo 2,5=2,50=2,50000…

Descrizione e classificazione[modifica | modifica wikitesto]

I numeri decimali periodici si dividono in:

  • semplici se subito dopo la virgola è presente il periodo (per esempio: 8,5);
  • misti se dopo la virgola è presente l'antiperiodo (per esempio: 8,435).

Il numero periodico misto presenta tre elementi:

  • la parte intera, composta dalle cifre poste prima della virgola;
  • l'antiperiodo, la parte, composta da una o più cifre poste tra la virgola e il periodo.
  • il periodo, che è composto da una o più cifre che si ripetono all'infinito dopo la virgola;

Un esempio di numero periodico misto è:

in cui 8 è la parte intera, 5 il periodo e 43 l'antiperiodo.

Il periodo può essere composto da più cifre, per esempio: 8,435353535353… che si rappresenta con 8,435.

Frazione generatrice di un numero decimale periodico[modifica | modifica wikitesto]

Ogni numero periodico ha la propria frazione generatrice. Per calcolarla occorre:

  1. scrivere il numero senza virgola:
  2. sottrarre dal numero tutto ciò che precede il periodo:
  3. Dividere il risultato trovato per un numero formato da tanti 9 quante sono le cifre del periodo seguiti da tanti 0 per ogni eventuale cifra dell'antiperiodo:

Lo stesso procedimento per il numero periodico 8,435 è:

E per il numero periodico 8,435 è:

In maniera analoga si può usare questo procedimento per trasformare i numeri decimali limitati:

Dimostrazione[modifica | modifica wikitesto]

Tale metodo può essere dimostrato attraverso l'uso della serie geometrica: prendiamo un numero periodico semplice

dove gli sono cifre che vanno da 0 a 9 (almeno una deve essere diversa da 0) e è la lunghezza del periodo. Scegliamo di partire proprio con questo tipo di numero decimale perché poi sarà facile estendere l'idea al caso generale. Una riscrittura equivalente per è la seguente:

Otteniamo, in questo modo, una somma di serie geometriche:

rendendo così possibile scrivere l'espressione frazionaria di come

e il numero risulta essere un numero intero di cifre, equivalente alla scrittura di senza la virgola decimale.

Il caso più generale è rappresentato dal numero

che può essere riscritto nel seguente modo:

Ricordando che , giungiamo a:

Quindi per ricostruire la frazione che genera il corrispondente numero periodico si riscrive quest'ultimo come numero intero e gli si sottrae il numero intero formato dalle cifre che si trovano prima della parte periodica. Il risultato di questa operazione va poi diviso per un numero intero composto da un numero di nove pari alla lunghezza del periodo e un numero di zeri pari al numero di cifre decimali che precedono l'inizio della parte periodica.

Casi particolari[modifica | modifica wikitesto]

Se si prova a convertire un numero decimale periodico semplice il cui periodo è 9 in frazione generatrice , dividendo il numeratore per il denominatore della frazione generatrice ottenuta si avrebbe come risultato un numero intero anziché il numero decimale periodico semplice di partenza. Ad esempio trasformando il numero periodico semplice 400,9 nella sua frazione generatrice si otterrebbe (4009-400)/9 = 3609/9 il cui risultato sarebbe 401 anziché 400,9. Questo perché in matematica, la notazione decimale periodica 0,999… denota il numero reale 1. In altre parole, le notazioni "0,999…" e "1" rappresentano lo stesso numero reale (per convincersene basta partire dall'uguaglianza 0,3=1/3: moltiplicando per 3 si ottiene 0,9=1).

Dimostrazione alternativa[modifica | modifica wikitesto]

Una dimostrazione alternativa alla precedente, leggermente più informale, ma ugualmente valida, è la seguente.

Sia

un generico numero decimale periodico. Moltiplicando per si toglie l'antiperiodo

Moltiplicando per si porta "un periodo" prima della virgola, lasciando invariata la parte dopo la virgola

Sottraendo membro a membro le ultime due uguaglianze si ha

dove le cifre dopo la virgola del numero al membro di destra sono ora tutte uguali a 0. Da questo segue che

Ora ricordando che , si ha la tesi.

Algoritmo[modifica | modifica wikitesto]

Il seguente programma in Python applica il metodo descritto a un numero in formato stringa (intero, decimale, o decimale con periodo tra parentesi nello stesso formato restituito dal programma nella sezione seguente) restituendo in una stringa la frazione equivalente non semplificata.

#restituisce la frazione generatrice (non semplicficata) nel caso di interi, decimali senza periodo e decimali con periodo indicato tra parentesi tonde
def frazione_generatrice(numer):
    #se il numero e' intero o senza periodo aggiungo il necessario    
    pos1 = numer.find('.')
    if pos1 == -1:
        numer += ".(0)"
        pos1 = numer.find(".")
    pos2 = numer.find('(')
    pos3 = numer.find(')')    
    if pos2 == -1 and pos3 == -1:
        numer += "(0)"
        pos2 = numer.find('(')
        pos3 = numer.find(')')    
    #controllo che le parentesi e il punto siano nell'ordine giusto
    if pos2 > pos1  and pos3 > pos2:
        #estraggo parte precedente il periodo
        prec = numer[0:pos1] + numer[pos1+1: pos2]     
        #conto cifre del periodo
        cifre = pos3 - pos2 -1        
        #elimino tutti i segni
        senzasegni = numer[0:pos1] + numer[pos1+1: pos2] + numer[pos2+1: pos3]
        #calcolo il numeratore    
        num = int(senzasegni)-int(prec)        
        den = ""
        #metto nel denominatore tanti nove quante sono le cifre del periodo
        for i in range(0, cifre):
            den += "9"
        #accodo al denominatore tanti zeri quante sono le cifre dell'antiperiodo
        for i in range(0, pos2-pos1-1):
            den += "0"
        #restituisco la frazione generatrice come stringa
        return str(num) + "/" + den

    else:
        return "formato non valido"

Numero decimale periodico da una frazione[modifica | modifica wikitesto]

Esempio di divisione decimale per trovare un numero periodico (43/42)

Per calcolare un numero periodico a partire da una frazione occorre eseguire una divisione decimale tra numeratore e denominatore, che si dovrà interrompere solo quando si otterrà come resto un valore già individuato in una delle divisioni precedenti: a questo punto infatti, calcolando le successive cifre decimali, non si farà altro che ripetere le stesse divisioni eseguite in precedenza fino ad ottenere di nuovo lo stesso resto, e questa sequenza di calcoli si ripeterà all'infinito. Si può quindi terminare la divisione decimale ed individuare le cifre del periodo e dell'antiperiodo in base alla posizione dei resti coincidenti.

Questo algoritmo può essere eseguito da un programma per dividere perfettamente (evitando quindi qualunque errore di approssimazione) due numeri qualsiasi in breve tempo. Un esempio della sua applicazione in Python:

 
def espansione_periodica(num,den):
    s = ''
    if num<0:
        s += '-'
        num = -num
    # aggiungiamo la rappresentazione della parte intera
    s += str(num // den)
    num = num % den
    # mettiamo la virgola se necessario:           
    if num>0:
        s += '.'
    # memorizziamo la sequenza di resti per individuare il periodo
    resti = [0]
    while num not in resti:
        resti.insert(1,num)
        num *= 10
        # aggiungiamo una cifra decimale
        s += str(num // den)
        num %= den
    periodo = resti.index(num)
    if periodo > 0:
        s = s[:-periodo]+'(%s)' % s[-periodo:]
    return s

Il caso del numero periodico 0,(9)[modifica | modifica wikitesto]

Exquisite-kfind.png Lo stesso argomento in dettaglio: 0,999....
Il numero periodico 0,9999… ha lo stesso significato dell'unità

Per calcolare il numero periodico semplice rappresentabile con occorre, come tutti i numeri periodici:

  1. scrivere il periodo
  2. scrivere la cifra 9 come dividendo, in quanto il periodo è formato da una sola cifra
  3. si ottiene che è uguale a .

Una dimostrazione che l'allineamento decimale rappresenta la stessa quantità indicata dal numero è la seguente:

Numeri periodici in altre basi[modifica | modifica wikitesto]

Numeri periodici compaiono anche se, al posto della base 10, consideriamo un'altra base di numerazione per rappresentare i numeri. In generale, in base a, i numeri che diventano periodici sono precisamente quelli che, se rappresentati mediante una frazione i cui termini siano coprimi, hanno un denominatore che contiene fattori primi che non dividono a.

Numeri periodici in base 2[modifica | modifica wikitesto]

In base 2 i numeri periodici non possono avere periodo di lunghezza 1. Infatti tale periodo potrebbe essere composto solo di cifre 0, e non ha senso parlare di zero periodico; oppure di cifre 1: in questo caso si replica il caso del 9 periodico nei numeri decimali, con il risultato che (in base 2) il numero 0,(1) = 1.

Voci correlate[modifica | modifica wikitesto]

Matematica Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica