Aqui se explica como separar la parte entera y la parte decimal de un real, por ejemplo si tuvieramos una variable con el valor 10.25 y quisieramos obtener solo el 10 y el 0.25 por separado.
Para esto usamos las funciones Frac(x:Real):real e Int(x:real):real hay que tomar en cuenta que los valores que se devuelven son reales, por lo tanto la funcion Frac es diferente de la funcion Trunc que simplemente trunca un decimal y devuelve la parte entera, como un entero propiamente dicho.
program separa_decimales;
var
     x:real;
begin
    clrscr;
    x:=10.25;
    writeln(frac(x):0:2);
    writeln(Int(x):0:2);
end.
La salida como se devuelven reales, hay que especificar el numero de decimales que se desean mostrar, para que no muestre una salida muy larga. Entonces la salida seria para Frac = 10.0 y para Int= .25.
Se puede auto asignar el valor de frac o Int a la misma variable, pero obviamente el valor cambiaria.
    x := Int(x);Eso seria util para truncar un valor real, es decir obtener su parte entera, sin que se afecte el tipo de la variable.