# Sharp EL-5120

El Sharp EL-5120 es una calculadora científica programable. Tiene cerca de 1 KB RAM disponible para el usuario, y 4 modos operacionales básicos:
* Real mode (Modo real): Es el modo operacional básico para ejecutar directamente cálculos algebraicos y estadísticos estándar, así como evaluar funciones definidas por el usuario e integrarlas numéricamente.
* NBase (Operaciones con bases): Se puede cambiar entre las bases binaria, octal , decimal y hexadecimal. La mayoría de las funciones del modo real no trabajan en este modo, pero los operadores booleanos están disponibles para cada base numérica. El cálculo hexadecimal se realiza en 32 bits (8 dígitos hexadecimales) y hay soporte para operaciones con signos. Sin embargo, la base binaria se limita a 16 bits.
* Solver (Solucionador de ecuaciones): un solucionador interactivo de expresiones que puede, en teoría, solucionar numéricamente cualquier ecuación contra cualquier variable, usando el método de Newton. Sin embargo puede fallar en solucionar ciertas clases de ecuaciones dependiendo del formato de la expresión y de los valores iniciales de las variables, así que es a menudo necesario reescribir la expresión o experimentar con los valores iniciales.
* Program mode (Modo de programación): En este modo el usuario puede entrar y ejecutar cortos programas escritos en un lenguaje muy parecido a una versión reducida de FORTRAN o BASIC. Puede hacerse que los programas operen en el modo Real o el modo NBase, pero no en una mezcla de ambos.

## Funciones principales

* Pantalla alfanumérica LCD de 3 líneas.
* Teclado alfanumérico con teclas SHIFT y ALPHA.
* Todas las funciones trigonométricas estándar (SIN, COS, TAN) así como sus versiones inversas e hiperbólicas.
* Todas las funciones estándar de elevación de potencias, logaritmos, etc.
* Algunas funciones como las de operaciones estadísticas y funciones de lógica booleana son accesadas por medio de submenus, y por lo tanto no están impresas en ninguna tecla.
* 28 variables de usuario globales (A a Z más ANS y #), almacenadas en memoria CMOS.
* Hasta 9 variables locales, con nombres definidos por el usuario, para cada modo de operación y ecuación, el solver, o el archivo de programa. A diferencia de las 28 variables globales, usar estas variables locales consume el RAM de usuario.
* 1 y 2 variables estadísticas, tiene solamente un análisis de regresión lineal simple.
* Capacidad para guardar, cargar y eliminar archivos del pequeño RAM de usuario. Cada modo puede almacenar sus propios "archivos", conteniendo, por ejemplo, el último cálculo o expresión, una ecuación del solver o un programa más cualquier variable local eventual y el último valor ANS.
* Evaluador de expresiones (en modo real).
* Integración numérica usando la regla de Simpson.
* Solucionador de ecuaciones numéricas contra una variable específica usando el método de Newton.
* Para solucionar problemas más complejosLos, los programas y las ecuaciones del solver pueden "intercambiar datos" entre ellos por medio del uso apropiado de variables globales.
* Contraste ajustable de la pantalla.
* Usa una batería del litio CD2025 de 3V.

## Desventajas

* Carencia de soporte incorporado para números complejos (solamente puede ser emulado vía un programa o ecuaciones).
* Los programas y los archivos de ecuaciones pueden consumir rápidamente la memoria RAM, especialmente si contienen variables locales.
* Las funciones de Integración/solver pueden ser lentas o erráticas.
* Solamente una clase de regresión estadística (lineal).
* La carencia de cualesquier fórmula o de constantes físicas incorporadas. éstas tienen que ser definidas y guardadas por el usuario como expresiones o variables locales, a un consumo notable de RAM.
* La carencia de funciones incorporadas como sistema lineal de ecuaciones o un solucionador para ecuaciones de segundo grado, forzando la implementación a través de programas.
* El lenguaje de programación usado consume el RAM demasiado rápidamente debido a una mala implementación, careciendo de una apropiada sentencia FOR y forzándolo así a usar declaraciones largas y costosas de sentencias LABEL, GOTO y GOSUB.

## Programas de muestra

Observe que la notación real pudo ser diferente, pues algunos caracteres especiales EL-5120 no se pueden mecanografiar directamente en un PC, por ejemplo, el operador de raíz cuadrada y de fracción: