varr: reale;
r := 5,0;

Il valore 5.0 è un numero rappresentato come frazione decimale (ha un numero intero e una parte frazionaria). In informatica, tali numeri sono chiamati reali
Numero reale è un numero che ha una parte intera e una parte frazionaria. Le parti intere e frazionarie sono separate l'una dall'altra da un punto, non da una virgola come in matematica.
Anche se la parte frazionaria del numero è zero, come nella variabile \(r\) nell'esempio, il traduttore creerà comunque una variabile reale in memoria. Il punto è, per così dire, un segnale per il traduttore che è necessario creare una variabile reale. 

Numeri molto grandi e molto piccoli  sono scritti usando "virgola mobile" (nel cosiddetto formato scientifico).  
In formato scientifico, un numero è rappresentato come mantissa (parte significativa del numero) e esponente. Quando annotati, la mantissa e l'esponente sono separati l'uno dall'altro dalla lettera e (che denota 10 in una certa misura). 
Ad esempio, puoi memorizzare il valore della carica di un elettrone ( \(1.60217662 \times 10^{-19}\) C) in un variabile, scrivendo nella seguente forma
var E1: reale
El := 1.60217662e-19 #per un ordine positivo, il segno + può essere omesso
Quasi tutti i numeri reali non possono essere memorizzati nella memoria del computer con perfetta precisione, poiché per la loro memorizzazione viene allocato un numero limitato di bit. Pertanto, quando si calcola con numeri reali, si accumulano errori associati all'imprecisione della rappresentazione. Inoltre, minore è lo spazio allocato, maggiore sarà questo errore. Per ridurre l'errore in Pascal viene utilizzato il tipo double che memorizza con maggiore precisione un numero reale in memoria (occupa 8 byte in memoria, mentre il reale - 6 byte)

Invio

Puoi inserire diverse variabili reali dal flusso di input e scriverle in variabili nel modo standard:
var x, y: reale;
leggi(x,y);
Il primo numero va nella variabile \(x\), il secondo va nella variabile \(y\)

Uscita

Quando si visualizzano numeri reali, il formato scientifico è selezionato per impostazione predefinita.
È possibile personalizzare l'output secondo necessità in base alla condizione del problema. Dopo il numero, i due punti indicano il numero totale di posizioni che verranno assegnate al numero, quindi altri due punti indicano il numero di posizioni assegnate alla parte frazionaria. Se dopo i primi due punti c'è un numero che è minore della somma del numero di caratteri nella parte intera del numero, lo spazio assegnato per il punto che separa le parti frazionarie e intere (per questo è assegnato 1 carattere) e il numero di caratteri assegnato per la parte frazionaria, quindi semplicemente un numero con dato il numero di caratteri assegnato alla parte frazionaria. In caso contrario, vengono scritti spazi aggiuntivi prima del numero. Pertanto, se non sai quanti caratteri ti porterà la parte intera, puoi semplicemente scrivere 0 dopo i primi due punti, e quindi il numero intero verrà visualizzato senza spazi prima di esso.
Esempio:
reale x := 1.0/6;
writeln(x:12:9); // imposta per visualizzare 9 cifre decimali e un totale di 12 cifre decimali per numero, tenendo conto del punto di separazione
Lo schermo visualizzerà
_0.166666672

Quando lavori con numeri reali, puoi utilizzare il già familiare modulo math, che contiene un gran numero di funzioni integrate. 
Quando si risolvono problemi, è spesso necessario arrotondare i numeri reali ai valori interi più vicini. Ci sono tre funzioni per questo.

RICORDA
Funzione Tronca(x) - taglia la parte frazionaria \(x\) e restituisce un valore intero.
2 Floor(x) -  restituisce il numero intero più grande minore o uguale a \(x\) (arrotondamento per difetto)
3 Funzione Ceil(x) -  restituisce il numero intero più piccolo maggiore o uguale a \(x\) (arrotonda per eccesso)

Ecco le funzioni più utili. Alcuni di essi sono integrati in Pascal, mentre gli altri sono contenuti nel modulo math.
Funzione Descrizione
Arrotondamento
arrotonda(x)
integrato
Arrotonda un numero all'intero più vicino. Se la parte frazionaria del numero è 0,5, il numero viene arrotondato al numero intero più vicino. 
trunc(x)
integrato
Scarta la parte frazionaria
piano(x)
in matematica
Arrotonda un numero per difetto ("floor"), quindi floor(1.5) == 1floor(-1.5) ==  ; -2
ceil(x)
in matematica
Arrotonda un numero per eccesso ("tetto"), mentre ceil(1.5) == 2ceil(-1.5) ==  ; -1
abs(x)
integrato
Modulo (valore assoluto).
Radici, logaritmi
sqrt(x)
integrato
Radice quadrata. Utilizzo: y := sqrt(x)
potenza(x, y)
in matematica
Eleva x alla y. \(x^y\)
log2(x)
in matematica
Log base 2.
lnxp1(x)
in matematica
Il logaritmo naturale di (x + 1).
Trigonometria
sin(x)
integrato
Seno di un angolo specificato in radianti
cos(x)
integrato
Coseno di un angolo specificato in radianti
tan(x)
in matematica
La tangente di un angolo specificato in radianti
arcsin(x)
in matematica
Arcoseno, restituisce il valore in radianti
arcos(x)
in matematica
Arco coseno, restituisce il valore in radianti
arctan(x)
integrato
Arctangent, restituisce il valore in radianti
arctan2(y, x) Angolo polare (in radianti) del punto (x, y).