Parte intera: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m correggo
m sistemazione fonti, smistamento lavoro sporco e fix vari
 
(34 versioni intermedie di 21 utenti non mostrate)
Riga 1:
{{F|analisi matematica|luglio 2017}}
{{Nota disambigua|il [[prenome|nome proprio di persona]]|[[Flora (nome)]] '''e''' [[Fiorenzo]]|Floor}}
[[File:Floor function.svg|thumb|right|La funzione parte intera]]
In [[matematica]], la funzione '''parte intera''', ènota laanche [[funzionecome (matematica)|funzione]] definita come segue: per un [[numero reale]] ''x'', la parte intera di ''x'', indicata con int(''x'') o floor(''x'') (dalla parola [[lingua inglese|inglese]] ''floor'' che significa "pavimento"), è la [[funzione (matematica)|funzione]] che associa ad ogni [[numero reale]] <math>x</math> il più grande [[numero intero|intero]] minore odo uguale a ''<math>x''. Per esempio int(2.9)=2, int(−2) = −2 e int(−2.3) = −3</math>. La funzione parte intera è anchesolitamente indicata con <math>\lfloor x \rfloor</math> o <math>[x] </math>.
 
La [[funzione mantissa]], definita come <math>x -\lfloor x\rfloor</math>, anche scritta come ''<math>x''&nbsp;</math> [[aritmetica modulare|mod]]&nbsp; 1, oppure <math>\{''x''\}</math>, è chiamatochiamata la '''parte frazionaria''' di ''<math>x''</math>. Ogni [[frazione (matematica)|frazione]] ''<math>x''</math> può essere scritta come un numero misto, cioè la somma di un intero e una [[frazione (matematica)|frazione propria]]. La funzione floor e la funzione parte frazionaria estendono questa decomposizione a tutti i numeri reali.
 
Qualche proprietà della funzione parte intera
 
== Proprietà ==
Qualche proprietà della funzione parte intera.
* Si ha
::<math> \lfloor x \rfloor=\max\, \{k\in\mathbb{Z} : k\le x\},</math>
::<math> \lfloor x \rfloor \le x < \lfloor x \rfloor + 1,</math>
:con l'uguaglianza nella parte sinistra che vale [[se e solo se]] ''<math>x''</math> è un intero.
* La funzione parte intera è [[idempotenza|idempotente]]:
: :<math>\lfloor\lfloor x\rfloor\rfloor=\lfloor x\rfloor.</math>.
* Per ogni intero ''<math>k''</math> e ogni numero reale ''<math>x''</math>,
::<math> \lfloor k + x \rfloor = k + \lfloor x\rfloor.</math>
* Per ogni <math>x</math> e <math>y</math> reali,
* Per ogni numero reale non intero ''x'' si ha:
::<math>\lfloor -x\pm y \rfloor =- \lfloor x \rfloor \pm \lfloor y \rfloor + \lfloor x \pm y -1, \lfloor x \rfloor \mp \lfloor y \rfloor \rfloor.</math>
* L'ordinarioPer [[arrotondamento]]ogni di un numero ''x'' all'intero più<math>k</math> vicinoe puòogni esserenumero espresso comereale <math>\lfloor x + 0.5 \rfloor</math>.,
: :<math>\lfloor kx \rfloor = k /\lfloor 2x \rfloor + \lceillfloor kkx / 2- k\rceillfloor =x k\rfloor \rfloor.</math>.
*La funzione parte intera non è [[funzione continua|continua]], ma è [[funzione semi-continua|semi-continua]]. Essendo a tratti una [[funzione costante]], la sua [[derivata]] è zero quando esiste, cioè per tutti i valori che non sono interi.
::
* Se ''x'' è un numero reale e ''n'' un intero, si ha ''n'' ≤ ''x'' se e solo se ''n'' ≤ floor(''x''). In linguaggio ricercato, la funzione parte intera fa parte di una [[connessione di Galois]]; è l'aggiunta superiore della funzione che immerge gli interi nei reali.
* Per ogni <math>x</math> e <math>y</math> reali,
::<math>\lfloor xy \rfloor = \lfloor x \rfloor \lfloor y \rfloor + \lfloor xy - \lfloor x \rfloor \lfloor y \rfloor \rfloor.</math>
::
* Per ogni numero reale non intero ''<math>x''</math> si ha:
::<math>\lceillfloor -x\rceilrfloor=-\lfloor x\rfloor=-1.</math>
* L'ordinario [[arrotondamento]] di un numero <math>x</math> all'intero più vicino può essere espresso come <math>\lfloor x + 0,5 \rfloor</math>.
* La funzione parte intera non è [[funzione continua|continua]], ma è [[funzione semi-continua|semi-continua]]. Essendo a tratti una [[funzione costante]] a tratti , la sua [[derivata]] è zero quando esiste, cioè per tutti i valori che non sono interi.
* Se ''<math>x''</math> è un numero reale e ''<math>n''</math> un intero, si ha ''<math>n''\le ≤ ''x''</math> se e solo se ''<math>n''\le \lfloor floor(''x'')\rfloor.</math> In linguaggio ricercato, la funzione parte intera fa parte di una [[connessione di Galois]]; è l'aggiunta superiore della funzione che immerge gli interi nei reali.
* Usando la funzione floor, si possono produrre diverse [[formule per calcolare i numeri primi]] che sono esplicite ma non utilizzabili nella pratica.
* Il [[teorema di Beatty]] afferma che ogni [[numero irrazionale]] partiziona i [[Numero naturale|numeri naturali]] in due sequenze tramite la funzione floor.
 
== La funzione ceiling (parteParte intera superiore) ==
[[ImmagineFile:Ceiling function.svg|thumb|right|La funzione ceilingceil()]]
Una funzione strettamente correlata è la '''parte intera superiore''', nota anche come funzione '''ceil''' (dalla parola [[lingua inglese|inglese]] ''ceiling'' che significa "soffitto", contrapposta a ''floor'', "pavimento"), definita nel modo seguente: per ogni numero reale <math>x</math>, ceil(<math>x</math>) è il più piccolo intero non minore di <math>x</math>. Per esempio, ceil(2,3) = 3, ceil(2) = 2 e ceil(−2,3) = -2. La funzione ceiling è anche indicata con <math>\lceil x \rceil</math>. È facile provare che
 
[[Immagine:Ceiling function.svg|thumb|right|La funzione ceiling]]
 
Una funzione strettamente correlata alla funzione floor è la funzione '''ceiling''' (dalla parola [[lingua inglese|inglese]] ''ceiling'' che significa "soffitto", contrapposta a ''floor'', "pavimento"), definita nel modo seguente:
per ogni numero reale ''x'',
ceiling(''x'') è il più piccolo intero non minore di ''x''. Per esempio, ceiling(2.3) = 3,
ceiling(2) = 2 e ceiling(−2.3) = −2. La funzione ceiling è anche indicata con <math>\lceil x \rceil</math>.
È facile provare che
:<math>\lceil x \rceil = - \lfloor - x \rfloor</math>
 
e che
 
:<math>x \leqle \lceil x \rceil < x + 1.</math>
Se poi ''x'' non è un intero relativo si ha
 
:<math>\lceil x\rceil-\lfloor x\rfloor=1</math>
Se poi ''x'' non è un intero relativo si ha
 
:<math>\lceil x\rceil-\lfloor x\rfloor=1.</math>
 
Per ogni intero ''k'', abbiamo anche che:
: <math>\lfloor k / 2 \rfloor + \lceil k / 2 \rceil = k</math>.
 
:<math>\sum_{i=1}^{n-1} \lfloor imk / n2 \rfloor =+ (m\lceil -k 1)/ (n2 -\rceil 1)= / 2k.</math>
Se ''m'' e ''n'' sono interi positivi [[interi coprimi|primi fra di loro]], allora
:<math>\sum_{i=1}^{n-1} \lfloor im / n \rfloor = (m - 1) (n - 1) / 2</math>
 
Se ''m'' e ''n'' sono interi positivi [[interi coprimi|primi fra di loro]], allora
== In programmazione ==
 
:<math>\sum_{i=1}^{n-1} \lfloor im / n \rfloor = (m - 1) (n - 1) / 2.</math>
[[Immagine:Int function.svg|thumb|right|L'operatore <code>(int)</code>]]
 
== In programmazione ==
[[ImmagineFile:Int function.svg|thumb|right|L'operatore <code>(int)</code>]]
 
=== In C ===
Praticamente tutti i [[linguaggio di programmazione|linguaggi di programmazione]] forniscono al programmatore la possibilità di [[conversione di tipo|convertire]] un valore di un certo [[tipo di dato]] in un valore di un altro tipo. Nello specifico, questo rende possibile convertire valori decimali (che vengono tipicamente rappresentati in [[virgola mobile]]) in numeri interi (di solito rappresentato come [[complemento a due]]).
 
Nel [[linguaggio di programmazione]] [[C (linguaggio)|C]], questo è reso possibile dall'[[operatore (informatica)|operatore]] di casting <code>(int)</code>. Questa operazione è un misto delle funzioni floor e ceiling: per ''x'' positivi o nulli, restituisce floor(''x''), e per ''x'' negativi restituisce ceilingceil(''x'').
 
La stessa sintassi funziona con numerosi altri linguaggi, soprattutto quelli derivati dal C, come [[Java (linguaggio di programmazione)|Java]] e [[Perl]], così come la funzione [[POSIX]] floor().
 
=== Problemi di arrotondamento ===
{{vedi anche|arrotondamento}}
L'uso dell'arrotondamento può generare effetti imprevisti e che vanno contro quello che l'intuito suggerirebbe. Per esempio, <code>(int)(0.,6/0.,2)</code> restituisce il valore 2 nella maggior parte delle implementazioni del C, anche se matematicamente è 0.,6/0.,2 = 3.
 
Questo problema è dovuto al fatto che i computer lavorano internamente con il [[sistema numerico binario]] e non è possibile rappresentare i numeri 0.,6 e 0.,2 con stringhe binarie di lunghezza finita. Più in generale: i computer non lavorano mai direttamente con un certo numero decimale, ma solo con una sua approssimazione. Nell'esempio, quindi, il risultato viene calcolato come 2.,999999999999999555910790149937, che l'operatore <code>(int)</code> converte tranquillamente al valore 2.
 
A causa di questi problemi, la maggior parte delle [[calcolatrice|calcolatrici]] moderne usa internamente il [[Binary-coded decimal|sistema numerico decimale codificato in binario]].
 
== Distribuzione uniforme modulo 1 ==
Se ''<math>x''</math> è un numero irrazionale, allora le parti frazionarie ''<math>nx'' mod\bmod 1</math>, dove ''<math>n''</math> varia fra gli interi positivi, sono distribuite uniformemente nell'[[intervallo (matematica)|intervallo aperto]] <math>(0,1)</math>. Questa affermazione può essere resa più precisamente in molti modi, uno dei quali afferma:
:<math>\int_0^1 f(t)\; dt = \lim_{N\to\infty} \frac{1}{N}\sum_{n=1}^N f(nx \;\operatorname{mod}\; 1)</math>
per ogni [[funzione continua]] a [[numero reale|valori reali]] <math>f:[0,1]\to\mathbb{R}</math> (vedi [[limite (matematica)|limite]], [[integrale]] e [[teorema dell'equidistribuzione]])
 
:<math>\int_0^1 f(t)\; dt = \lim_{N\to\infty} \frac{1}{N}\sum_{n=1}^N f(nx \;\operatorname{mod}\;bmod 1),</math>
Seguendo il principio generale dell'[[approssimazione diofantina]] scoperto da [[Hermann Weyl]], questa proprietà è equivalente a qualcosa che è molto più facile da controllare: ovvero che le somme
 
per ogni [[funzione continua]] a [[numero reale|valori reali]] <math>f:\colon [0,1]\to\mathbb{R}</math> (vedisi vedano [[limite (matematica)|limite]], [[integrale]] e [[teorema dell'equidistribuzione]]).
:<math>\sum\limits_{n=0}^N e^{2 \pi i k n x}</math>
 
Seguendo il principio generale dell'[[approssimazione diofantinadiofantea]] scoperto da [[Hermann Weyl]], questa proprietà è equivalente a qualcosa che è molto più facile da controllare: ovveroossia che le somme
per <math>k\in\mathbb{N}</math> sono [[O-grande|O(N)]]. Poiché sono [[progressione geometrica|progressioni geometriche]], questo può essere provato in maniera abbastanza diretta. La condizione che ''x'' sia irrazionale implica che
 
:<math>\sinsum\limits_{n=0}^N e^{2 \pi i k xn \ne 0.x},</math>
 
per <math>k\in\mathbb{N}</math> sono [[O-grande|O(N)]]. Poiché sono [[progressione geometrica|progressioni geometriche]], questo può essere provato in maniera abbastanza diretta. La condizione che ''<math>x''</math> sia irrazionale implica che
 
:<math>\sum\limits_{n=0}^N e^{2sin (\pi i k nx) x}\ne 0.</math>
 
== Troncamento ==
{{vedi anche|Troncamento (matematica)}}
Mentre la funzione parte intera genera solamente numeri interi, il [[troncamento (matematica)|troncamento]], cioè il "tagliare fuori le cifre", può essere effettuato a qualsiasi posizione specificata, non solo dopo la cifra delle unità.
 
== Notazione ==
Le funzioni parte intera superiore e inferiore sono normalmente indicate con parentesi quadre, chiuse e aperte, in cui le linee orizzontali superiori (per la funzione parte intera inferiore, floor) o inferiori (per la funzione parte intera superiore, ceiling) sono mancanti. Per esempio nel sistema di composizione editoriale [[LaTeX]] questi simboli possono essere realizzati con i comandi \lfloor, \rfloor, \lceil e \rceil.
 
== Altri progetti ==
{{interprogetto}}
 
{{Portale|matematica}}
 
[[Categoria:Funzioni matematiche]]