Programas HP48: Quicksort
8 dUTC Noviembre dUTC 2006 at 9:30 | In Ciencia, Hewlett Packard, Programación, Software libre | Leave a Comment
Para que la cosa no pare, ahí va un programilla que hice hace años. Lo publico con intención de que se aproveche y no se pierda en la noche de los tiempos. Este programa es una implementación del conocido algoritmo Quicksort. Hace ya tanto tiempo que no sería capaz de explicar como funciona (el lenguaje de la HP no se puede comentar, grave error). Por lo que recuerdo, se compone de dos programas llamados “IQuick” y “Quick”. El primero es el programa principal y el segundo, la función recursiva. Coje la variable ΣDAT y la ordena.
IQuick: « ΣDAT SIZE LIST→ DROP DROP 1 SWAP 0 0 0 Quick »
Quick: « → L R I J C « L 'I' STO R 'J' STO ΣDAT L R + 2 / IP 1 2 →LIST GET 'C' STO DO WHILE ΣDAT I 1 2 →LIST GET C REPEAT J 1 + 'J' STO END IF I J ≤ THEN ΣDAT I J RSWP 'ΣDAT' STO I 1 + 'I' STO J 1 - 'J' STO END UNTIL I J > END IF L J < THEN L J 0 0 0 Quick END IF I R < THEN I R 0 0 0 Quick END » »
Programas HP48: Resolver la ecuación de Colebrook
27 dUTC Octubre dUTC 2006 at 17:51 | In Ciencia, Hewlett Packard, Programación | 1 Comment
En esta nueva entrega desvelo otro de mis arcanos programas para la HP48G. En este caso se trata de un programa para mecánica de fluidos. Cuando un fluido fluye por una conducción, pierde energía mecánica debido al rozamiento. Dicha pérdida suele cuantificarse con el llamado factor de fricción "ƒ". Existen diversas ecuaciones para determinarlo según las condiciones del fluido y otras, pero la más general y la más extendida en su uso es la ecuación de Colebrook.

Nótese que es una ecuación implícita en ƒ, por lo que hay que resolverla por iteraciones. Continue reading Programas HP48: Resolver la ecuación de Colebrook…
Programas HP48: Interpolación de Lagrange
12 dUTC Octubre dUTC 2006 at 10:06 | In Hewlett Packard, Programación | 2 Comments
La verdad es que casi no uso mi vieja HP48G. Pero durante los años de carrera fue mi compañera inseparable. Hice en aquellos tiempos muchos programas. Ahora no me gustaría que se perdieran por lo cual me he decidido a poner alguno de ellos aquí.
Lo que va a continuación es un sencillo programa para hacer una interpolación por el método de Lagrange. En la pila debe ir la matriz de puntos y, a continuación, el valor del punto a interpolar y se invoca el programa.
« → m x « m 2 COL- OBJ→ OBJ→ DROP →LIST SWAP DROP {} 1 m SIZE OBJ→ DROP DROP FOR i m 1 COL- SWAP DROP i COL- SWAP OBJ→ OBJ→ DROP →LIST DUP x SWAP - IF DUP SIZE 1 == THEN OBJ→ OBJ→ DROP ELSE ΠLIST END ROT ROT - IF DUP SIZE 1 == THEN OBJ→ DROP ELSE ΠLIST END / + NEXT * ΣLIST "p(x)" →TAG » » Continue reading Programas HP48: Interpolación de Lagrange…
Blog de WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.