varr: real; r := 5,0; O valor 5,0 é um número representado como uma fração decimal (tem um inteiro e uma parte fracionária). Na ciência da computação, esses números são chamados de reais
Número real é um número que possui uma parte inteira e uma parte fracionária. As partes inteiras e fracionárias são separadas umas das outras por um ponto, não por uma vírgula como na matemática.
Mesmo que a parte fracionária do número seja zero, como na variável \(r\) no exemplo, o tradutor ainda criará uma variável real na memória. O ponto é, por assim dizer, um sinal para o tradutor de que é necessário criar uma variável real. 

Números muito grandes e muito pequenos  são escritos usando "ponto flutuante" (no chamado formato científico).  
No formato científico, um número é representado como mantissa(parte significativa do número) e expoente. Quando notados, a mantissa e o expoente são separados um do outro pela letra e (denotando 10 até certo ponto). 
Por exemplo, você pode armazenar o valor da carga de um elétron ( \(1.60217662 \times 10^{-19}\) C) em um variável, escrevendo da seguinte forma var E1: real El := 1.60217662e-19 #para uma ordem positiva, o sinal + pode ser omitido Quase todos os números reais não podem ser armazenados na memória do computador com precisão perfeita, pois um número limitado de bits é alocado para seu armazenamento. Portanto, ao calcular com números reais, os erros associados à imprecisão da representação se acumulam. Além disso, quanto menos espaço alocado, maior será esse erro. Para diminuir o erro em Pascal, é utilizado o tipo double, que armazena um número real na memória com maior precisão (ocupa 8 bytes de memória, enquanto o real - 6 bytes)

Entre

Você pode inserir várias variáveis ​​reais do fluxo de entrada e escrevê-las em variáveis ​​da maneira padrão: var x, y: reais; ler(x, y); O primeiro número vai para a variável \(x\), o segundo vai para a variável \(y\)

Saída

Ao exibir números reais, o formato científico é selecionado por padrão.
Você pode personalizar a saída conforme necessário de acordo com a condição do problema. Após o número, dois pontos indicam o número total de posições que serão alocadas para o número e, a seguir, outros dois pontos - o número de posições alocadas para a parte fracionária. Se após os primeiros dois pontos houver um número menor que a soma do número de caracteres na parte inteira do número, o espaço alocado para o ponto que separa as partes fracionária e inteira (1 caractere é alocado para isso) e o número de caracteres alocados para a parte fracionária e, em seguida, simplesmente um número com o número de caracteres alocado para a parte fracionária. Caso contrário, espaços adicionais são escritos antes do número. Portanto, se você não sabe quantos caracteres a parte inteira irá ocupar, você pode simplesmente escrever 0 após os primeiros dois pontos, e então o número inteiro será exibido sem espaços antes dele.
Exemplo: real x := 1,0/6; writeln(x:12:9); // definido para exibir 9 casas decimais e um total de 12 casas decimais por número, levando em consideração o ponto de separação A tela exibirá _0.166666672

Ao trabalhar com números reais, você pode usar o já conhecido módulo math, que contém um grande número de funções integradas. 
Ao resolver problemas, muitas vezes é necessário arredondar números reais para os valores inteiros mais próximos. Existem três funções para isso.

LEMBRE-SE
função Trunc(x) - corta a parte fracionária \(x\) e retorna um valor inteiro.
2 Floor(x) -  retorna o maior inteiro menor ou igual a \(x\) (arredondado para baixo)
Função 3 Ceil(x) -  retorna o menor inteiro maior ou igual a \(x\) (arredondado para cima)

Aqui estão as funções mais úteis. Alguns deles são construídos em Pascal, enquanto o restante está contido no módulo math.
Função Descrição
Arredondamento
round(x)
incorporado
Arredonda um número para o inteiro mais próximo. Se a parte fracionária do número for 0,5, o número será arredondado para o número inteiro mais próximo. 
trunc(x)
incorporado
Descarta a parte fracionária
andar(x)
em matemática
Arredonda um número para baixo ("piso"), portanto piso(1.5) == 1piso(-1.5) ==  ; -2
ceil(x)
em matemática
Arredonda um número para cima ("ceiling"), enquanto ceil(1.5) == 2ceil(-1.5) ==  ; -1
abs(x)
incorporado
Módulo (valor absoluto).
Raízes, logaritmos
sqrt(x)
incorporado
Raiz quadrada. Uso: y := sqrt(x)
potência(x, y)
em matemática
Eleva x à potência de y. \(x^y\)
log2(x)
em matemática
Log base 2.
lnxp1(x) em matemática O logaritmo natural de (x + 1).
Trigonometria
sin(x)
incorporado
Seno de um ângulo especificado em radianos
cos(x)
incorporado
Cosseno de um ângulo especificado em radianos
tan(x)
em matemática
A tangente de um ângulo especificado em radianos
arsin(x)
em matemática
Arcsine, retorna o valor em radianos
arccos(x)
em matemática
Arco cosseno, retorna o valor em radianos
arctan(x)
incorporado
Arcotangente, retorna valor em radianos
arctan2(y, x) Ângulo polar (em radianos) do ponto (x, y).