Saltar la navegación

10. Funciones predefinidas

Como hemos visto en el apartado anterior, podemos definir funciones en descartes, pero además de las funciones que podamos definir, las escenas ya traen por defecto una serie de funciones predefinidas, es decir, que podemos utilizar y llamar directamente cuando las necesitemos sin necesidad de haber creado previamente tal función. También había funciones en el apartado donde se tratada sobre los "operadores reservados".

Funciones de una variable (x) 

sqr sqr(x)=x*x
sqrt
sqrt(x)=raíz cuadrada de x
raíz raíz(x)=raíz cuadrada de x
exp exp(x)=exponencial natural de x=e^x
log log(x)=logaritmo natural de x
log10 log10(x)=logaritmo base 10 de x
abs abs(x)=valor absoluto de x
ent ent(x)=mayor entero n tal que n<x
ceil
ceil(x)=mayor entero inmediatamente superior a x
floor floor(x)=mayor entero inmediatamente inferior a x
round(x)
round(x)=redondea x al entero más cercano
toFixed(x,n)
toFixed(x,n)=Devuelve x, con el número de decimales indicados en n
sgn sgn(x)=signo de x (1 si x>0,-1 si x<0,0 si x=0)
ind ind(b)=indicadora de b (1 si b=true, 0 si b=false)
sin sin(x)=seno de x
sen sen(x)=seno de x
cos cos(x)=coseno de x
tan tan(x)=tangente de x
cot cot(x)=cotangente de x
sec sec(x)=secante de x
csc csc(x)=cosecante de x
sinh sinh(x)=seno hiperbólico de x=(exp(x)-exp(-x))/2
senh senh(x)=seno hiperbólico de x=(exp(x)-exp(-x))/2
cosh cosh(x)=coseno hiperbólico de x=(exp(x)+exp(-x))/2
tanh tanh(x)=tangente hiperbólica de x=sinh(x)/cosh(x)
coth coth(x)=cotangente hiperbólica de x=cosh(x)/sinh(x)
sech sech(x)=secante hiperbólica de x=1/cosh(x)
csch csch(x)=cosecante hiperbólica de x=1/senh(x)
asin asin(x)=ángulo cuyo seno es x
asen asen(x)=ángulo cuyo seno es x
acos acos(x)=ángulo cuyo coseno es x
atan atan(x)=ángulo cuyo coseno es x
Infinity
En ocasiones, se puede hacer una división donde el divisor eventualmente vale cero. Usualmente, este tipo de errores se reporta si la variable involucrada ha de ser impresa en el editor. En lugar de mostrarse un valor, se imprime el texto Infinity.
NaN
Este error, que también se muestra en el editor sustituyendo el valor de una variable cuando ésta se intenta imprimir, responde a alguna operación no válida.
Por ejemplo, una raíz cuadrada con argumento negativo. O cuando se trata de operar variables con cadenas de texto mediante los operadores distintos a + (que sirve para concatenar).

Funciones de dos variables (x,y)   

min min(x,y)=mínimo de x e y
max max(x,y)=máximo de x e y

Una función muy utilizada en los juegos es la función rnd, cuya acción consiste en elegir un número aleatorio con distribución uniforme en el intervalo [0,1]. Esta función nos permite obtener números aleatorios de manera sencilla y con la definición adecuada en el intervalo deseado. En los juegos didácticos suele ser muy necesaria la utilización de números aleatorios

Ejemplo 1: función raíz cuadrada de 625, que sería sqrt(625)

Ejemplo 2: vamos a construir una función para obtener un número entero aleatorio entre 0 y 99. La función sería ent(rnd*100). La función rnd*100, nos dará un número aleatorio comprendido entre 0 y 99 (ya que rnd nos da un valor aleatorio en el intervalo entre 0 y 1 y al multiplicarlo por 100 se obtiene un número comprendido entre 0 y 99) y ent quita los decimales al número. Visualizaremos la función utilizando un texto sin formato y con 0 decimales.

Ejemplo 3: Vamos a representar la ecuación y=cos(x). En la siguiente práctica se tratará sobre la utilización de ecuaciones.

Ejemplo 4: Función máximo max(a,b). Definimos dos controles numéricos tipo pulsador en la zona norte, llamados a y b, después escribimos un texto en el que ponemos "El máximo entre a y b es: [max(a,b)]".

Ejemplo 5: Definimos un control numérico tipo pulsador en la zona norte, llamado a y una variable llamada entero definida como ent(a). Ponemos un texto que nos dé el valor de la variable entero, y veremos que nos da el valor entero de a.

Actividad

Utilizar funciones predefinidas en una escena.