16 mayo 2007

Calculadoras

¿Porqué la calculadora de Windows o cualquier otra (cómo xcalc) son una ventana con 30 botones y un cuadro de texto? No entiendo porqué tienen que tratar de copiar a las calculadoras de mano. Me siento incómodo "escribiendo" operaciones haciendo clicks en los botones.

Intenta escribir esta operación en una calculadora normal y verás lo que cuesta:
(1/2 + 1/4 + 1/8 + 1/16)/3
En cambio en algunos programas es tan simple como escribir eso con el teclado y pulsar intro.

xcalc y similares han conseguir "emular" las calculadoras de mano de hace 10 años por lo menos. Porque desde finales de los 90, bastantes calculadoras científicas ya permiten introducir operaciones complejas y evaluarlas al pulsar la tecla EXE.

Para hacer operaciones yo utilizo python. Quizá porque leí el capítulo 3.1 del tutorial: Using Python as a Calculator. Es muy cómodo escribir las operaciones en la consola de python y creo que después de verme utilizarlo, varias personas han comenzado a usarlo también para estos propósitos. Python además no tiene desbordamientos en los números enteros y puede trabajar con número grandes de cualquier número de cifras.

Pero aparte de python, podemos utilizar otros programas más orientados al cálculo.

SpeedCrunch (viene con KDE) es una mejora respecto a xcalc porque además de los típicos botones te permite escribir operaciones complejas, como la de arriba y te muestra el resultado. Lo malo de SpeedCrunch es que es un programa de KDE y si usas el PIE seguramente no lo encontrarás y además creo que no tiene soporte para números grandes y si los números desbordan al tipo entero los convierte a coma flotante.

bc es un programa de consola que creo que está instalado en prácticamente todos los Unix que permite hacer operaciones. Es una alternativa a python, permite realizar operaciones con número gigantes sin convertirlos a coma flotante. Si necesitas utilizar funciones como el seno y coseno, has de utilizar el parámetro -l para que bc cargue la librería math.

% bc -l
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
s(10)
-.54402111088936981340


Por último, alguien sabe usar Octave? Creo que es una especie de clon de Matlab.