HP Prime - Operando tipos diferentes

En la calculadora HP Prime es posible operar distintos tipos de datos como reales, enteros, matrices, etc. y obtener resultados convertidos al tipo predominante; siendo incluso posible operar cada elemento de una lista con una única operación.


Operaciones con tipos diferentes
Conversión implícita

Las operaciones según los tipos de datos esta relacionado al Sistema de tipos de la calculadora, el cual se caracteriza por ser de tipado dinámico y débil, lo que significa que es posible operar diferentes tipos de datos y obtener resultados en vez de errores. La calculadora realizará conversiones internas necesarias para hallar un valor diferente al error, lo que se conoce como conversión implícita de datos.


Tabla de operaciones

La siguiente tabla se construye en base a los operadores básicos de la calculadora, precisamente en los operadores aritméticos.


Muy similar a los operadores aritméticos mostrados, también es posible usar operadores relacionales, quienes son más simple y se pueden intuir en base a la tabla anterior. Recordando nuevamente que en la calculadora no existe un tipo de dato para verdadero y falso, siendo falso = 0, y verdadero = Real distinto de 0.


Reales, enteros, complejos y matrices

Actualmente al interactuar reales con enteros, predomina siempre el real.



Los complejos tienen una justificada restricción con el uso del operador MOD.



Los operadores .+, .-, .*, ./ y .^ existen esencialmente para operar matrices, los cuales operan a cada elemento en vez de asumir el dato matriz como un conjunto. Es obvio recordar que las matrices como tales solo pueden potenciarse con números enteros o reales sin decimales.






Función (dato)

El dato tipo función solo tiene un control único que consiste en verificar la existencia de una variable y la sintaxis de tipos si es que la operación involucra solo a datos, en el caso de usarse variables no se aplica la verificación de tipos. El comando CAS( ) permite crear datos tipo función sin necesidad que estos existan debido a la naturaleza CAS.



Hasta la actualidad los datos tipo Función no verifican la consistencia de tipos cuando existen variables involucradas, debido a que las variables no son las que definen el tipo sino su contenido, así que permiten crear expresiones con tipos que obviamente darían error, esto se presenciaría al momento de la evaluación EVAL( ).



Por esta razón se necesita un atento control de estas expresiones, siempre usándolas para realizar procedimientos adecuados, en programación esto es útil ya que puede no saberse el tipo de dato a insertar.


Listas

Las listas tienen la capacidad de operar sobre cada uno de sus elementos, característica que las vuelve realmente potentes, ya que en muchos casos no será necesario recorrerlas con comandos de programación como pasa en otros lenguajes o dispositivos.



Las operaciones entre listas solo pueden darse si ambas poseen la misma dimensión, a menos que se usen comandos especiales como EXECON y similares.



Otra convención para listas bajo la naturaleza descrita, es su aplicación con comandos integrados; permitiendo enviar listas como parámetros para que los datos sean evaluados en grupos, por lo tanto se obtiene un grupo de resultados en formato de lista.



En algunos programas simples es posible que también observemos el mismo comportamiento, siempre y cuando, internamente se halla operado el dato de tal forma que sea compatible con la manipulación de listas.


Cadenas

El único operador permitido en cadenas es la adición +, que se interpreta como operador de concatenación. Al concatenar una cadena con otro elemento, siempre prevalecerá el tipo de la cadena ya sea que esta anteceda o proceda al otro dato, excepto de los datos tipo lista que prioriza la operación sobre sus elementos.



El formato del dato convertido en cadena toma en cuenta la configuración actual de la calculadora, es exactamente equivalente a aplicar el comando STRING(Dato).


Secuencia de conversión

Cuando se operan distintos tipos de objetos en una misma línea, se sigue una secuencia de conversión, el cual se rige por lo general al orden de redacción de izquierda a derecha, todo dependiendo al orden real que ha fabricado la pila de resolución de la calculadora, pero finalmente obteniendo el tipo de dato esperado.




Consejos y datos finales

Las operaciones de tipos diferentes deben usarse adecuadamente, en la mayoría de casos solo será útil usarlo en la creación de cadenas o para operar grupos de datos como listas, no debe intentarse sobreexplotar esta característica si la situación no lo requiere.

Si se desea dar un formato distinto a los datos al convertirlos en cadenas, puedes usar el comando STRING( ) antes de la conversión y ajustar sus parámetros de acuerdo a lo indicado en la ayuda del comando, usualmente el caso queda resuelto con STRING(Dato,1).

Los operadores .+, .-, .*, ./ y .^ pueden aplicarse en datos que no necesariamente sean una colección de datos como lo es una matriz o una lista, obteniendo el mismo resultado que sus operadores hermanos.

Comentarios

Lo más visto