**Características**

* Operadores matemáticos estándar : Admite suma, resta, multiplicación, división, potenciación y módulo.
* Funciones matemáticas : Incluye funciones como **sin**, **cos**, **sqrt**, **ln**, etc.
* Operaciones lógicas: Incluye operaciones como no lógico, igual, distinto, o lógico, etc.
***
**Definiciones**

* Los caracteres de espacio se ignoran.
* Las constantes pueden ser números enteros, decimales o en notación científica (p. ej. ***1e3*** para ***1000***). No se requiere un cero inicial (p. ej. ***.5*** para ***0.5***)
* Los valores de entrada se representan mediante las expresiones x, y, z, t.
* El valor de salida se representa mediante la expresión w.
* 	**x** : Entrada 1
* 	**y** : Entrada 2
* 	**z** : Entrada 3
* 	**t** : Entrada 4
* 	**w** : Valor de salida
***
**Operadores**

* ***+*** : Suma
* ***-*** : Resta/Negación
* ******* : Multiplicación
* ***/*** : División
* ***^*** : Potenciación
* ***%*** : Módulo
***
**Operadores lógicos**

* **!** : No lógico
* **==** : Igual
* **!=** : Distinto
* **<=** : Menor o igual
* **>=** : Mayor o igual
* **&&** : Y lógico
* **||** : O lógico
* **&** : Y a nivel de bits
* **|** : O a nivel de bits
***
**Funciones**

* **abs** 		: Valor absoluto.
* **acos** 		: Función arcocoseno.
* **asin** 		: Función arcoseno.
* **atan** 		: Función arcotangente. 
* **atan2** 	: Función arcotangente de dos argumentos. 
* **ceil** 		: Redondea hacia arriba al entero más cercano.
* **cos** 		: Función coseno.
* **cosh** 		: Función coseno hiperbólico. 
* **exp** 		: Función exponencial. 
* **floor** 	: Redondea hacia abajo al entero más cercano.
* **ln** 		: Logaritmo natural. 
* **log** 		: Logaritmo en base 10.
* **log10** 	: Logaritmo en base 10.
* **pow** 		: Función exponencial. Toma dos argumentos: la base y el exponente.
* **sin** 		: Función seno. 
* **sinh** 		: Función seno hiperbólico.
* **sqrt** 		: Función raíz cuadrada. 
* **tan** 		: Función tangente. 
* **tanh** 		: Función tangente hiperbólica.
* **fac** 		: Función factorial.
* **ncr** 		: Función de combinaciones. Toma dos argumentos y devuelve el número de combinaciones. 
* **npr** 		: Función de permutaciones. Toma dos argumentos y devuelve el número de permutaciones.
* **rand** 		: Función generadora de números aleatorios. Toma dos argumentos y devuelve el número aleatorio. Ejemplo: rand(min,max)
* **round** 	: Función de redondeo. Toma un argumento y devuelve el número redondeado.
* **xor** 		: Función de operación 'xor' a nivel de bits. Toma dos argumentos. Ejemplo: xor(x,y)
***
**Constantes**

* ***pi***	: Pi
* ***e***	: Número de Euler
***
**Ejemplos**

* **5 + 5** da como resultado `10`
* **(5 * 5)** da como resultado `25`
* **sqrt(25)** da como resultado `5`
* **fac 5** da como resultado `120`
* **ncr(6,2)** da como resultado `15`
* **npr(6,2)** da como resultado `30`
* **(x==y)*z** da como resultado `25` (x=5,y=5,z=25)
* **(((x&&y)*z)%t)** da como resultado `1` (x=2,y=3,z=25,t=3)
* **(x^.25)** da como resultado `3.49` (x=150)
* **fac t** da como resultado `120` (t=5)
* **atan(x)** da como resultado `1.47` (x=10)
* **ncr(x,2)** da como resultado `21` (x=7)
* **exp(x)** da como resultado `54.56` (x=4)
* **rand(10,30)** da como resultado un número entre 10 y 30.
* **round(x)** da como resultado `21` (x=21.4)