Print

Blog in Spanish


Published on by

¿Si buscamos Pi por el exterior?

inscribed-circle-recurrance-1El reto de esta semana será hacer el mismo problema de la semana anterior - pero esta vez por el exterior del círculo. No es tan fácil como inicialmente se piensa; y a mí me parece claramente más sencilla la otra aproximación. Primero plantearemos las ecuaciones después de ver el dibujo adjunto. De ahí, tenéis que sacar la fórmula iterativa, y programarla en la calculadora HP de vuestra elección.

(2a)    file:///media/disk/home/slawrence/website/physics_insights/physics/formulas/eqe_temp_image_qIaqRm.png

(2b)    file:///media/disk/home/slawrence/website/physics_insights/physics/formulas/eqe_temp_image_Fb0pVr.png

¡Hala! ¡A probar!

 

 

 

 

Read entire post
Published on by

...y otra solución para la HP Prime

Me he dado cuenta que mi práctica de programación está totalmente oxidada para cualquier cosa que no sea RPN. Me cuesta un montón hacer un programa que no sea en RPN o en el BASIC original de HP. La HP Prime tiene una multitud de tipos de bucle, y me he perdido buscando el bucle que mejor se adaptara al problema que nos ocupa: cómo calcular Pi mediante el teorema de Pitágoras. Tampoco fui capaz de encontrar los medios de para r y rearrancar el programa, sin hacer chapuzas como utilizar un form de entrada y no utilizar lo entrado. Pero bueno: el programa hace lo que se quería hacer, mostrando los valores que se van consiguiendo en cada iteración.

El programa toma como entrada el diámetro, y da la circunferencia para ese radio. Lógicamente, la mejor manera de probarlo es poniendo un diámetro de 1 - con lo cual el resultado ha de ser Pi:

IMG_1430EXPORT Pitagoras(D)

BEGIN

LOCAL LADO, POLY, C, R;

R:=D/2;

LADO:=R*sqrt(2);

POLY:=4;

C:=LADO*POLY;

FOR I FROM 2 TO 25 DO

PRINT(C);

WAIT(2);

POLY:=POLY*2;

LADO:=sqrt((LADO/2)^2+(R-sqrt(R2-(LADO/2)2))^2);

C:=LADO*POLY;

END;

PRINT(C);

END;

Read entire post
Published on by

Pi mediante teorema de Pitágoras

He leído recientemente la novela “El asesinato de Pitágoras, de Marcos Chico. Es un thriller situado en el tiempo de Pitágoras, en la que se trata de algunos de los temas matemáticos de la época.

Entonces los griegos todavía no conocían Pi. Sabía knock la relación entre el diámetro y la circunferencia era algo superior a tres, pero separaban ahí. No sabían como calcularlo, aparte de medirlo, y menos se imaginaban que era un número irracional. Los pitagóricos creían que toda magnitud conocida se podía expresar como razón entre dos número enteros.

En la historia, hay un rico siracusano que ofrece una fortuna en oro a quién sea capaz de decirle la relación entre le diámetro y el radio con cuatro decimales. El villano de la novela gana con un método basado, para más INRI de los pitagoreanos, en el famoso teorema. En principio, ese era el único método de que podían disponer en aquella época para calcular Pi - el resto de los métodos actuales eran irrealizables.

IMG_1430La descripción de la novela no me fue suficiente. Siendo una persona visual, tuve que dibujarlo y verlo. Entonces me dispuse a calcularlo con un programa de la HP Prime, para poder más tarde enseñarlo a mi hijo. Lo comencé con este gráfico, y lo comprobé con una hoja de cálculo. Con 26 iteraciones, es igual a 15 decimales de Pi de Excel.

¿Seréis capaces de hacer un programa para la Prime que lo resuelva por este método? Si no estáis a gusto con la Prime, se permite cualquier otra calculadora HP, ya sea en RPN o RPL.

Este viernes, la solución. ¡Tenéis tres días!

Read entire post
Published on by

Atajos en la HP Prime

Algunos atajos para la HP Prime

El “user keyboard” en la HP Prime nos permite grans flexibilidad en la configuración de nuestra calculadora. Los que habíamos usado la HP50g y la HP41c estábamos acostumbrados a esta posibilidad. No recuerdo ahora si la HP42s permitía también la configuración del teclado entero, o por el contrario sólo las teclas de función. Esto último, aunque útil, es algo totalmente diferente y que muchas HP han tenido.

A no ser que seas un estudiante con muchos campos nuevos que cubrir, cambiando cada día según las lecciones, habrá algunas funciones que utilices con mucha frecuencia y que posiblemente quieras automatizar. Yo tengo mi HP41CL completamente configurada a mi gusto - por algo es la calculadora a la que vuelvo siempre que quiero hacer algo rápido. Mientras otras me son útiles, esta es la que tiene todo lo que quiero en la punta de los dedos. Y ahora quiero hacer alga parecido con la HP PRime

El procedimiento de asignación de teclas está explicado en la página 516 del manual de usuario. Este manual no viene “impreso” con la calculadora, sino en el disco adjunto. Si no sabes dónde está, no te preocupes: lo puedes sacar del menú de ayuda en el emulador para Windows de la HP Prime. De él se desprende que sólo se puede utilizar para que devuelva un texto con la presión de la tecla deseada. Si se hace cualquier otra cosa (por ejemplo, devolver una función, nos devuelve Error 4 Syntax error, al chequear el programa.

Hay que escribir programas cortos para cada una de las teclas que hay que asignar. No te preocupes: es facilísimo, y hay “templates” (patrones) que nos ayudan a hacerlo, desde la tecla de “templates” en la pantalla de programas.

He creado un programa llamado “keys” donde guardo todas las definiciones de teclas que utilizo. Ponerlas en más sitios es una receta para tener un lío cuando se quiera cambiar la configuración. Mejor todas juntitas. Sólo con crear estos programitas y activando el teclado de usuario (ya sea para una sóla vez o en permanente) es suficiente para habilitar las teclas asignadas (Tengo que comprobar si es posible restringir el ámbito de actuación de estas asignaciones, metiendo las definiciones en los programas de las apps, para que sea sólo válido para esa app).

screenshot.30La sintaxis es muy sencilla, y, como dije antes, se puede tomar desde el menú de templates en la página de programas, como se puede ver en la foto de al lado. Utilizo un montón las funciones de porcentaje por mi trabajo, y comparativamente poco o nada las trigonométricas, por lo que he asignado las funciones %, %CHANGE() y %TOTAL() (que ya existen en la Prime) a las teclas SIN, COS y TAN respectivamente:

KEY K_Sin()

BEGIN

RETURN “%”;

END;

 

KEY K_Cos()

BEGIN

RETURN “%CHANGE()”;

END;

 

KEY K_Tan()

BEGIN

RETURN “%TOTAL()”;

END;

¿Qué hace esto? Simpelente la calculadora escribe lo que está entre comillas en la posición del cursor.

Atanción: podemos también retrogradar las combinaciones de teclas con shift, alpha y shift alpha, cambiando ligeramente el template:

K_ es la tecla principal

KS_ es para la tecla con shift

KA_ es para las alfanumericas

KSA_ es para las alfanumericas con shift

El código de cada tecla se puede encontrar en la página 518 del manual.

¿Y como funciona? El resto de la discusión asume que el método de entrada de datos es RPN.

Imaginemos que queremos calcular 25% de 235. Escribimos 235, enter, 25, SIN, se añade un “%” al 25, pulsamos enter, y ya tenemos el resultado. Fijémonos que no tuvimos que separar el % del número - pero tampoco chocaba a la vista.

Ahora esto otro: queremos ver el porcentaje de cambio entre 235 y 200. Pulsamos 235, enter, 200, COS, y esto es lo que se ve en la pantalla:

235

200%CHANGE()

Esto sí que es feo. Por supuesto que podemos pulsar enter después del 200, después COS, y después enter otra vez. ¡Pero ya es una tecla de más! Igual pasa si ponemos un espacio antes del COS

Aunque resulte feo, lo de arriba SI funciona.

Y como funciona así, no metería yo un espacio dentro del programa de asignación de tecla. Todavía nos puede causar un error en otro sitio.

Read entire post