Il logo di batmath
www.batmath.it

Le funzioni floor e ceil in Geogebra

Geogebra implementa, come del resto anche Cabri e altri software di matematica dinamica, anche le funzioni floor, ceil e alcune funzioni collegate: la cosa è perfettamente naturale se si pensa che si tratta di funzione di uso comune nei linguaggi di programmazione e che Geogebra è strettamente basato su Java. Trattandosi di funzioni poco note, riteniamo utile proporre questo piccolo tutorial, principalmente finalizzato all'uso con Geogebra.

Definizioni

Dato un numero reale \(x\), si chiama \(\mathrm{floor}(x)\), o anche \(\lfloor x\rfloor\), il più grande intero minore od uguale a \(x\); in formule: \[\mathrm{floor}(x)=\lfloor x\rfloor\stackrel{\mathit{def}}{=}\max\{n\in\mathbb{Z} | n\leq x\}.\]

Dato un numero reale \(x\), si chiama \(\mathrm{ceil}(x)\), o anche \(\lceil x\rceil\), o ancora \(\mathrm{ceiling}(x)\), il più piccolo intero maggior o uguale a \(x\); in formule: \[\mathrm{ceil}(x)=\mathrm{ceiling}(x)=\lceil x\rceil\stackrel{def}{=}\min\{n\in\mathbb{Z} | n\geq x\}.\]

Esempi:

I grafici di queste funzioni, ottenuti con Geogebra e con l'aggiunta "manuale" di alcuni punti per renderli più chiari, sono riportati di seguito.

grafico della funzione floor grafico della funzione ceil
Grafico della funzione floor Grafico della funzione ceil

Nello standard ISO la funzione floor è chiamata anche ent: \(\mathrm{ent}(x)=\mathrm{floor}(x)\). La stessa funzione floor è anche chiamata, soprattutto nei testi italiani, funzione parte intera, e molto spesso indicata con l'uso delle parentesi quadre: \([x]\). Occorre prestare molta attenzione, in quanto sono possibili confusioni. Pe r esempio si deve tenere presente che, nei linguaggi di programmazione, viene spesso considerata una funzione, denominata int e definita da \[\mathrm{int}(x)=\left\{\begin{array}{ll}\lfloor x\rfloor&x\geq 0\\\lceil x\rceil&x<0 \end{array},\] che serve a "prelevare" la parte che precede la virgola in un numero decimale.

Tramite la funzione floor si definisce la funzione round, che arrotonda all'intero più vicino, nel modo usuale: \[\mathrm{round}(x)=\mathrm{floor}(x+0.5).\]

Per una semplice applicazione in Geogebra di queste funzioni consideriamo il problema di trasformare un angolo espresso in gradi e frazioni di grado (sistema sessadecimale) in gradi, primi e secondi. La cosa può rivestire anche un interesse pratico, in quanto Geogebra (e molti software simili) usa proprio il sistema sessadecimale di default per misurare gli angoli.

Supponiamo di avere un angolo \(\alpha\) compreso tra 0° e 90°, la cui misura sia data da \(\alpha=65.23752°\). Si può scrivere: \(\alpha=65°+0.23752°\). Il valore 65° è stato ottenuto prendendo \(\mathrm{floor}(65.23752)\), mentre la frazione 0.23752 è stata ottenuta facendo \(65.23752-\mathrm{floor}(65.23752)\).  Si tratta dunque di calcolare a quanti secondi corrisponde la frazione 0.23752°. Risulta ovviamente che si deve avere \[0.23752°\;:\;1°=s''\;:\;3600'',\mbox{ cioè }s''=855.072.\] Con \(\mathrm{floor}(855.072)\) ottengo il numero di secondi richiesto, mentre con \(\mathrm{floor}(855.072)-855.072\) ottengo la frazione di secondi, che posso mantenere tal quale. Non resta che trasformare gli 855 secondi in primi  e secondi, cosa che si può fare con le funzioni, predefinite in Geogebra, Div (quoziente intero della divisione tra due interi), e Mod (resto intero della divisione tra due interi):

L'animazione con Geogebra che proponiamo prevede di misurare un angolo, variabile, compreso tra 0° e 90°, con il sistema sessadecimale intrinseco di Geogebra, e di trasformarlo nel modo detto in una misura in gradi, primi e secondi. Volendo far comparire nella finestra del programma anche i calcoli intermedi in opportune caselle di testo, ci saranno alcune difficoltà "tecniche" legate alla necessità di separare le parti puramente testuali da qeulle contenenti le variabili via via introdotte. Inoltre per consentire a Geogebra di trattare le misure degli angoli come numeri ordinari, dopo aver misurato l'angolo \(\alpha\) in gradi sessadecimali, abbiamo definito una variabile ausiliaria, \(g_0\), definita come \(g_0=\alpha/°\), da leggere "\(g_0\) è la misura in gradi dell'angolo \(\alpha\)".

Editando le varie caselle di testo si può leggere il sorgente. Abbiamo anche approfittato per implementare una tecnica che consenta di scrivere caselle di testo, comprendenti formule matematiche e testo, su più righe. L'idea è quella di usare l'ambiente tabular di LaTeX:

\begin{tabular}{l}
riga1\\
riga2
\end{tabular}

Se si vuole mettere del testo normale in una formula LaTeX basta usare il comando \mbox{}. Puoi vedere il risultato finale nella pagina Misura degli angoli in gradi sessagesimali.

pagina pubblicata il 04/02/2008 - ultimo aggiornamento il 04/02/2008