Funciones estándar de Turbo Pascal
Truncamiento y redondeo
Exponenciales y logaritmicas
Aritméticas
Trigonométricas
Números aleatorios

Truncamiento y redondeo

La función Round (número) redondea un número real al entero más cercano y devuelve el resultado como un número real.

La función Trunc (número) elimina la parte decimal del número real y devuelve el resultado como tipo entero. Ejemplo:

PROGRAM Redondeo;
VAR
Entero : Integer;
ValorReal1, ValorReal2 : Real;

BEGIN
ValorReal1 := 123.435;
ValorReal2 := Round(ValorReal1);
Entero := Trunc (ValorReal1);
WriteLn('El resultado de la función Round sobre el valor');
WriteLn(ValorReal1, ' es: ','ValorReal2, ' (Número real)');
WriteLn('El resultado de la función Trunc sobre el valor');
WriteLn(ValorReal1, ' es: ', Entero, ' (Número entero)');
END.

Funciones exponenciales y logarítmicas

La función Sqr devuelve el cuadrado del valor utilizado como parámetro.

Sqrt regresa la raíz cuadrada del valor dado como parámetro, el resultado siempre es real aunque se utilice un número de tipo entero como argumento. Ejemplo:

PROGRAM Exponentes;
VAR
Dato, Cuadrado : Integer;
Raiz : Real;
BEGIN
Dato := 45;
Cuadrado := Sqr(Dato);
Raiz := Sqrt(Dato);
WriteLn(' El cuadrado de ',Dato, ' es: ',Cuadrado);
WriteLn('La raíz cuadrada de ',Dato,' es: ',Raiz);
END.

Las funciones Exp y Ln tratan con logaritmos naturales o neperianos. Exp devuelve la funcion exponencial e^x y Ln devuelve el logaritmo natural de x. El resultado en ambos siempre es del tipo real.

Es posible crear una función con base en estas dos para calcular el resultado de un número x elevado a una potencia n, la cual nos quedaría así:

FUNCTION Potencia(x,n:Real):Real;
BEGIN
Potencia := Exp(n *Ln(x))
END;

El uso de esta función en un programa podría ser:

PROGRAM Potenciacion;
FUNCTION Potencia(x, n : Real) : Real;
BEGIN
Potencia := Exp(n * Ln(x))
END;
BEGIN
WriteLn('El resultado de 5 elevado a 3 es: ',Potencia(5,3));
END.

Funciones aritméticas

Abs regresa el valor absluto del identificador que se le pase como parámetro. El valor que devuelve será del mismo tipo que el argumento. Abs(-24) {Regresa el valor 24} La función Int devuelve la parte entera de un valor real, como tipo real.

La función Frac regresa la parte decimal de un valor real, también como valor real.

Funciones trigonométricas

Las funciones trigonometricas definidas en Turbo Pascal son: Sin(valor), Cos(valor) y Arctan(valor), todas las demas pueden definirse desde estas:

Tan(x) Sin(x) / Cos(x)
Cot(x) Cos(x) / Sin(x)
Sec(x) 1 / Cos(x)
Csc(x) 1 / Sin(x)

Las funciones para utilizarlas son:

FUNCTION Tan(x : Real) : Real;
BEGIN
Tan := Sin(x) / Cos(x)
END;

FUNCTION Cot(x : Real) : Real;
BEGIN
Cot := Cos(x) / Sin(x)
END;

FUNCTION Sec(x : Real) : Real;
BEGIN
Sec := 1 / Cos(x)
END;

FUNCTION Csc(x : Real) : Real;
BEGIN
Csc := 1 / Sin(x)
END;

Generación de números aleatorios

Para generar números aleatorios Turbo Pascal cuenta con la función Random y el procedimiento Randomize.

La función Random genera un número aleatorio de tipo real comprendido entre 0 y 1, en cambio la función Random (x) genera un entero aleatorio entre 0 y x.

Sin embargo el uso de la función Random es en ocasiones insuficiente por si sola para la generación de valores aleatorios ya que los números son realmente pseudoaleatorios, y cada vez que se ejecute el programa se obtendrían los mismos valores. Para evitar esto debemos utilizar en todo programa que utilice valores aleatorios el procedimiento Randomize, que inicializa el generador de números aleatorios, en otras palabras, asegura que los números que obtendrá serán diferentes cada vez que se ejecute el programa.

Es recomendable usar este procedimiento antes de cada función random del programa.

Ejemplo de un programa generador de números aleatorios:

PROGRAM Nums_Aleatorios;
VAR
x : Integer;

BEGIN
Randomize
WriteLn('Lista de números aleatorios');
For x := 1 to 20 do
WriteLn(Random);
END.