HP Prime, la nueva calculadora de HPHola! Hace como nueve meses que no paso por el foro!!! Ya les voy a contar por que
El motivo de este post es contarles un poco sobre algo alejado de lo retro, pero que tiene que ver con la linea de calculadoras de HP.
No hace mucho (menos de dos años) compre la
HP50G. Habia conocido las calculadoras HP mediante la
HP48GX, un modelo de hace unos 15 o 20 años.
La 50G me pareció genial, era programable (en un lenguaje bastante arcano, pero programable al fin), graficaba, tenia 2300 funciones, soporte USB, IR y tarjeta SD, en fin....terrible maquina.
Pero hace poco, a mediados de octubre, HP lanzó el modelo "
Prime", con patalla QVGA color y tactil, programable en BASIC, con entrada y salida tipo "libro de texto" (las formulas se ven como en papel), miles de cosas incorporadas, procesador de 400Mhz, bateria que dura semanas, USB, y lo mejor de todo, con CAS.
"CAS" es el acronimo de
Sistema Algebraico Computacional, lo que en criollo viene a decir que si escribis "solve(x^2+4x+4=0)" [ENTER] la maquina devuelve una lista con los dos valores de x (en este caso es uno solo, pero eso es otra historia) que hacen verdadera esa igualdad. Obviamente, funciona con ecuaciones mucho mas complejas, incluso diferenciales. Por supuesto, deriva, integra y hace todo de forma algebraica (por ejemplo, "int(cos(x)/sin(x))" da como resultado -1/2*cos^2(x)+c
La cuestion es que salio en EEUU en octubre, y aca
ya se ve en Mercado Libre, pero a un precio terrible (3000 pesos). Y yo necesitaba comprarle a mi hijo, que se va a estudiar Ingenieria en Computacion, una calcu. Idealmente, una 50G, ya que hay miles de aplicaciones de ingenieria para esa maquina.
Estaba en eso cuando un conocido me dice "
vos sabes...me trajeron de EEUU una calculadora pero me queda re grande. ¿No la queres comprar?" Y era la HP Prime, a precio de EEUU. Asi que un par de semanas después del lanzamiento tenia en casa esta maravilla:
Hay un par de usuarios que han reportado decenas de bugs. En realidad, la maquina tiene un par de cositas raras en el CAS, pero el 95% de esos reportes, se ha discutido en foros hasta el cansancio, son simplemente errores que surgen por no haber leido el manual, o por no saber matemática. Por ejemplo, hay funciones que en mayusculas hacen una cosa, en minusculas otra. Es raro, pero no es un bug, en el manual se explica lo que hace en cada caso. Y dado que el firmware es actualizable (ya hubo una actualizacion), esas cosas se van a ir arreglando.
Por lo pronto, es una herramienda que recomiendo. La progamacion es....estupenda. Se pueden programar fractales, juegos, graficas en 3D, es muy muy potente. Obviamente, el SO est{a en varios idiomas, entre ellos en español. Y se incluye un IDE para programarla desde la PC, con un emulador de la calculadora que es un placer de usar:
Dejo algun video más para que vean. Y una foto junto a sus hermanitas
Este es un programa desarrollado por un usuario, Han. En BASIC, sin compilar. Fijense la velocidad
Algunas "desigualdades", graficadas con la aplicación incluida de fábrica:
Todo lo que uno va resolviendo o ingresando en la calcu queda en la pantalla, va haciendo un scroll hacia arriba que se puede "bajar" arrastrando los dedos en la pantalla, y haciendo un tap en algun resultado o ecuación, se lo pone de nuevo en la linea de edicion para utilizarlo.
Es una belleza de maquina. A lo mejor demasaido para un estudiante secundario, pero es un placer ver como resuelve cualquier cosa y -sobre todo- el tema de poder programar en ella.
Saludos!
// Graph 3D v2.1 (14-DEC-2013)// by Han Duongg3D_setdefault();g3D_getfunc();g3D_getsettings();g3D_getwin();g3D_getangles();g3D_rotmatrix();g3D_compute();g3D_project();g3D_draw();g3D_setgrid();xmin3D,xmax3D;ymin3D,ymax3D;zmin3D,zmax3D;grid3D,zoom3D;rotx,roty,rotz,Rx,Ry,Rz,Rot;xc,yc,zc;Zvals,Points2D,Point,zColor,zClip;redraw3D=1,recompute3D=1,reproj3D=1,init3D=0;fxy;export Graph_3D()beginend;//----------------------------// START FUNCTION//----------------------------view "Edit Function",START()begin if init3D==0 then g3D_setdefault(); end; startview(0,1);end;//----------------------------// RESET FUNCTION//----------------------------View "Reset Plot Settings",RESET()begin g3D_setdefault();end;//----------------------------// Symb FUNCTION//----------------------------Symb()begin startview(0,1);end;//----------------------------// SymbSetup FUNCTION//----------------------------SymbSetup()begin msgbox("Use X and Y as the input variables.")end;//----------------------------// PlotSetup FUNCTION//----------------------------PlotSetup()begin if init3D==0 then g3D_setdefault(); end; g3D_getsettings();end;//----------------------------// Plot FUNCTION//----------------------------Plot()begin if init3D==0 then g3D_setdefault(); end; g3D_draw();end;//----------------------------// Numb FUNCTION//----------------------------Num()begin if init3D==0 then g3D_setdefault(); end; g3D_compute(); editmat(Zvals);end;//----------------------------// NumSetup FUNCTION//----------------------------NumSetup()begin if init3D==0 then g3D_setdefault(); end; g3D_setgrid(); end;//----------------------------// g3D_setdefault//----------------------------g3D_setdefault()begin xmin3D:=-10; xmax3D:=10; ymin3D:=-10; ymax3D:=10; zmin3D:=-10; zmax3D:=10; zoom3D:=10; grid3D:=14; rotx:=0; roty:=-15; rotz:=10; xc:=0; yc:=0; zc:=0; redraw3D:=1; recompute3D:=1; reproj3D:=1; g3D_getfunc(); init3D:=1; g3D_rotmatrix();end;//----------------------------// g3D_getfunc//----------------------------g3D_getfunc()begin local i, ftot=0, fnew, fsel; if init3D==0 then fxy:=""; end; for i from 0 to 9 do if ISCHECK(i) then fsel:=i; ftot:=ftot+1; end; end; if ftot==0 then msgbox("Please enter/select a function!"); startview(0,1); kill; end; if ftot>1 then msgbox("Please select only one function!"); startview(0,1); kill; end; fnew:=expr("STRING(V"+fsel+")"); if fnew<>fxy then fxy:=fnew; recompute3D:=1; reproj3D:=1; end; return(recompute3D);end;//----------------------------// g3d_getsettings//----------------------------view "Plot Settings (all)",g3D_getsettings()begin