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. |
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. |
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.
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; FUNCTION Sec(x : Real) : Real; FUNCTION Csc(x : Real) : Real; |
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 |