Glosario

Un lenguaje de muy bajo nivel para programar una computadora. La HP48 tiene un procesador Saturn, así que usa lenguaje ensamblador Saturno. Hay diferentes clases de mnemónicos y de sintáxis usadas, sin embargo.

Consulte también: ML, SHELL OS

El comando LLCM

31 respuestas [Último envío]
Integró: 10/03/2004
Envíos: 41
MonedasHP: 8
Imagen de Orly
Calc: HP49 | ROM:1.19-6
El comando LLCM
 
Sáb, 13/03/2010 - 10:35

Hola mis estimados Amigos AdictosHP:

Tanto tiempo de no ingresar en el foro!!!!!

Qué alegría saber que todavía sigue en pie!!!!

Ojalá volvamos a encontrarnos con todos los viejos y experimentados Amigos AdictosHP y también con los nuevos...

Bueno, basta de palabras... ahora les presento un nuevo desafío porque me parece que este importante foro de Minicampeonatos debe volver a reactivarse...

El desafío es el siguiente:

Realizar en código UserRPL el programa más rápido y más pequeño que permita calcular el Mínimo Común Múltiplo (MCM) de cualquier conjunto de números enteros.
O sea que el programa debe recibir como argumento en la pila una lista con los números enteros a calcular el MCM y al aplicarlo debe obtener el MCM.

IMPORTANTE: En el código UserRPL se pueden emplear cualquier comando UserRPL de la calculadora menos el LCM.

Pila antes de ejecutar el comando LLCM:
2:
1: {4 6 9}

Pila después de aplicar el comando LLCM
2:
1: 36

Listo mis queridos Amigos AdictosHP... ahora a pensar...

Un gran abrazo a todos y espero sus ingeniosas contribuciones!!!

Orly Wink

"Cuando el entendimiento se enturbia, la fe es el filtro que potabiliza nuestra mente."

Top
Integró: 23/03/2009
Envíos: 104
MonedasHP: 184
Imagen de yder
Calc: HP50
 
#1
Sáb, 13/03/2010 - 13:57

Bueno previo un cordial saludo.
Aqui esta mi codigo seguire mejorando.

«

 SORT  DUP DUP SIZE  
 SWAP REVLIST HEAD   
 
  1 ->  LISTA TAMAÑO  MCM N 
   «
   DO
       MCM 
       LISTA N GET 
       MOD 
     IF 0 ==  THEN
          MCM 'MCM' STO 
     ELSE
     MCM 
     LISTA N GET 
      DUP2
     * UNROT GCD /  
        
       
      'MCM' STO
     END
       N 1 + 'N' STO 
   UNTIL
     N TAMAÑO ==  
   END
   MCM
»
»

Seguiré mejorando el codigo.

Top
Integró: 26/12/2007
Envíos: 447
MonedasHP: 257
Imagen de Dani_
AdictoHP+
Calc: HP50 | ROM:2.09
 
#2
Sáb, 13/03/2010 - 16:02

Sin usar LCM, para la serie 49:

<< LIST-> 2 SWAP START DUP2 GCD / * NEXT>>

El crédito es de Werner Huysegoms.

Usuario de HP 50g

Top
Integró: 17/09/2007
Envíos: 111
MonedasHP: 111
Imagen de LuisBeas
 
#3
Sáb, 13/03/2010 - 22:34

Hola inspirado en el post anterior:

«  « DUP2 GCD / * »  STREAM  »

Top
Integró: 10/03/2004
Envíos: 41
MonedasHP: 8
Imagen de Orly
Calc: HP49 | ROM:1.19-6
 
#4
Lun, 15/03/2010 - 09:13

Excelentes soluciones mis estimados Amigos AdictosHP Dani_ y LuisBeas estás soluciones son insuperables de verdad!!!!

MIS FELICITACIONES!!!!

Son los ganadores en este desafío inicial...

Pero...

Ahora compliquemos un poco más el desafío y aumentemos más las restricciones iniciales.

Esto es, encontrar el comando LLCM sin utilizar los comandos LCM ni GCD.

Saludos cordiales y a seguir pensando...

Orly Wink

"Cuando el entendimiento se enturbia, la fe es el filtro que potabiliza nuestra mente."

Top
Integró: 10/03/2004
Envíos: 41
MonedasHP: 8
Imagen de Orly
Calc: HP49 | ROM:1.19-6
 
#5
Lun, 15/03/2010 - 09:16

Hola mis estimados Amigos AdictosHP, que tal...

Estuve elaborando mi primera solución para el comando LLCM, que
calcula el Mínimo Común Múltiplo (LCM) de una lista de números
enteros sin utilizar los comandos LCM ni GCD.

El código en UserRPL es el que detallo a continuación:

<<
  <<  2  ->LIST  FACTORS  XQ  1
     <<  2
        <<  NSUB  2  MOD  0  ≠
            IF
            THEN  2  ->LIST
            ELSE  DROP2
            END
        >>  DOSUBS  EVAL
      >>  DOSUBS  DUP  SIZE  {}  DUP  ->
F  T  B  E
      <<  1  T
          FOR  I  F  I  GET  B  OVER  HEAD
POS  DUPDUP  0  ==
          IF
          THEN  DROP2  EVAL  B  ROT  +
E  ROT  +  'E'  STO  'B'  STO
          ELSE  E  SWAP  GET  ROT  2
GET  DUP  {}  +  UNROT  <
            IF
            THEN  E  UNROT  REPL  'E'
STO
            ELSE  DROP2
            END
          END
        NEXT  B  E  ^  DUP  SIZE  1  >
        IF
        THEN  πLIST
        ELSE  EVAL
        END
      >>
    >>  STREAM
>>

----------------------------------------
Pila antes de ejecutar el Comando LLCM
----------------------------------------
2:
1: {44 60 125}

----------------------------------------
Pila después de ejecutar el Comando LLCM
----------------------------------------
2:
1: 16500

----------------------------------------
Datos del Comando LLCM
----------------------------------------
Tamaño: 392 bytes
Tiempo: 6,9 seg
Calculadora: HP 49G

Orly Wink

"Cuando el entendimiento se enturbia, la fe es el filtro que potabiliza nuestra mente."

Top
Integró: 17/09/2007
Envíos: 111
MonedasHP: 111
Imagen de LuisBeas
 
#6
Lun, 15/03/2010 - 11:23

A mi tambien me paresia que usar el comando GCD, no era parte de la idea del desafio, esta es mi nueva propuesta:

« 
SORT 
« DUP2 WHILE  OVER MOD DUP REPEAT SWAP END DROP  / * » STREAM
»

Y ademas me parece que se deberia convenir una misma lista con la cual podamos probar los programas.

Top
Integró: 23/03/2009
Envíos: 104
MonedasHP: 184
Imagen de yder
Calc: HP50
 
#7
Lun, 15/03/2010 - 13:40

Aqui mi codigo.

«
 LIST->
  2 SWAP 
  START
  DUP2 
  2 ->LIST   
  LGCD NIP
  / * 
  NEXT

»

Ojo no utilizo el GCD sino el LGCD.

Top
Integró: 26/12/2007
Envíos: 447
MonedasHP: 257
Imagen de Dani_
AdictoHP+
Calc: HP50 | ROM:2.09
 
#8
Lun, 15/03/2010 - 13:25

Muy bueno Luis Smile

Usuario de HP 50g

Top
Integró: 10/03/2004
Envíos: 41
MonedasHP: 8
Imagen de Orly
Calc: HP49 | ROM:1.19-6
 
#9
Lun, 15/03/2010 - 14:54

Excelente solución Amigo LuisBeas...

FELICITACIONES!!!!

Insuperable de verdad...

Saludos a todos mis estimados Amigos AdictosHP!!!!

Ganador indiscutido en este nuevo desafío el Amigo LuisBeas.

Orly Wink

"Cuando el entendimiento se enturbia, la fe es el filtro que potabiliza nuestra mente."

Top
Integró: 17/09/2007
Envíos: 111
MonedasHP: 111
Imagen de LuisBeas
 
#10
Lun, 15/03/2010 - 21:28

Gracias Big smile desde que conosco este foro lo que mas me atrajo fue siempre esto de los desafios, por fin gane uno Big smile, bueno por el momento, chau y suerte a todos

Top
Integró: 07/02/2010
Envíos: 79
MonedasHP: 72
Imagen de riboflavina
Calc: HP50 | ROM:2.09
 
#11
Lun, 15/03/2010 - 22:28

talvez deba aprovecharme de esto y hacer q todos ustedes hagan mis programas asi parte por parte hara mi programa mejor dicho por modulos jeeeeeeeeee Smile Big smile Big smile

RIBOflavina aprendiendo system rpl

Top
Integró: 17/09/2007
Envíos: 111
MonedasHP: 111
Imagen de LuisBeas
 
#12
Mar, 16/03/2010 - 02:22

Y si quisiera poner un minitutorial de como usar DOLIST, DOSUBS y STREAM, donde lo pondria?

Top
Integró: 09/03/2010
Envíos: 207
MonedasHP: 412
Imagen de zuaritx
AdictoHP+
Calc: HP50 | ROM:Version HP50-C Revision #2.15 (2009)
 
#13
Mar, 16/03/2010 - 08:31

si DOLIST Y STREAM son barbaros comandos para trabajar con listas, el DOSUBS, no lo suelo usar tanto aunque también es potente.

José Manuel Ruiz Muñoz
zuaritx@yahoo.es # +34 654 31 60 86 # Valencia - España - Europa
www.zuaritx.loquegustes.com

Calculadoras graficas hp / hp Graphing calculators:
http://www.facebook.com/group.php?gid=385629684457

Top
Integró: 26/12/2007
Envíos: 447
MonedasHP: 257
Imagen de Dani_
AdictoHP+
Calc: HP50 | ROM:2.09
 
#14
Mar, 16/03/2010 - 08:46

LuisBeas cita:
Y si quisiera poner un minitutorial de como usar DOLIST, DOSUBS y STREAM, donde lo pondria?

Me parece que puede ser en el foro de "Programación HP - UserRPL" ó en "Cursos Online - User Medio", ó "Calculadoras HP - Tutoriales y Soluciones HP49/HP50".

Yo lo pondría en "Programación HP - UserRPL".

A compartir esos conocimientos que parece que sabes bastante Glasses

Usuario de HP 50g

Top
Integró: 17/09/2007
Envíos: 111
MonedasHP: 111
Imagen de LuisBeas
 
#15
Mar, 16/03/2010 - 22:57

Hola a todos ya termine el minitutorial de como usar DOLIST, DOSUBS y STREAM 2 preguntas que quisiera hacer, es necesario poner una renuncia?? y la otra me van a dar monedas HP??

Top
Integró: 07/02/2010
Envíos: 79
MonedasHP: 72
Imagen de riboflavina
Calc: HP50 | ROM:2.09
 
#16
Mié, 17/03/2010 - 08:15

exelente aporte luis precisamente ahora estoy haciendo un programa con listas , seguramente alguno de esos comandos me valla a ser util.

para que sirve el comando STREAM , y por el comando LCM no me funciona probe poniendo {4 5 6} deberia sakar 60 pero me sale error

saludos

RIBOflavina aprendiendo system rpl

Top
Integró: 24/02/2004
Envíos: 298
MonedasHP: 70
Imagen de Elias1976
Calc: HP49 | ROM:Hp 48GX - Hp 48SX - Hp 42S - Hp 32SII - Hp 12C - Hp 11C - Hp 17BII - Sharp PC-500E
 
#17
Mié, 17/03/2010 - 11:14

riboflavina cita:
exelente aporte luis precisamente ahora estoy haciendo un programa con listas , seguramente alguno de esos comandos me valla a ser util.

para que sirve el comando STREAM , y por el comando LCM no me funciona probe poniendo {4 5 6} deberia sakar 60 pero me sale error

saludos

STREAM toma 2 elementos de una lista por vez y los procesa.

{ 4 5 6 }

Toma primero 4 y 5
Luego 5 y 6

(No ando con la calculadora en estos momentos, pero me imagino un ejemplo simple....):

<< { 4 5 6 }
<< + >>
STREAM
>>

Sería 4 5 + = 9
Luego 5 6 + = 11

El resultado de STREAM en este caso sería { 9 11 }

Si quieres procesar más de 2 elementos por vez debes usar DOSUBS.

Con el programa anterior usando DOSUBS sería:

<< { 4 5 6 } 2
<< + >>
DOSUBS
>>

Espero que esto haya resuelto tu duda.

Saludos.-

Top
Integró: 23/03/2009
Envíos: 104
MonedasHP: 184
Imagen de yder
Calc: HP50
 
#18
Mié, 17/03/2010 - 12:25

Un saludo a toda la comunidad.
Bueno un manual donde está la sintaxis de esos comandos y más
en español es:
HP49G Guia de Bolsillo.
Descargar.

Top
Integró: 17/09/2007
Envíos: 111
MonedasHP: 111
Imagen de LuisBeas
 
#19
Mié, 17/03/2010 - 22:28

Hola a la pregunta que hizo riboflavina, la respuesta de Elias1976 no es completamente cierta, si tuviéramos:
<< { 4 5 6 }
<< + >>
STREAM
>>

seria: 4 5 + = 9
luego: 9 6 + = 15
Es decir primero tomado dos valores y devuelve uno y este resultado lo usa con el siguiente elemento para aplicar el programa otra vez y este nuevo resultado con el siguiente elemento y así sucesivamente, con lo que la respuesta es 15.
Y a yder, el manual que pusiste muy bueno, pero en el minitutorila que he realizado doy una explicación un poco mas extendida, y con algunos datos mas que no aparecen ahí
y tambien buelvo a hacer las dos preguntas:
es necesario poner una renuncia?? y la otra me van a dar monedas HP??

Top
Integró: 05/06/2003
Envíos: 295
MonedasHP: 92
Imagen de Gaak
Calc: HP50 | ROM:2.15
 
#20
Mié, 17/03/2010 - 23:10

LuisBeas cita:
es necesario poner una renuncia?? y la otra me van a dar monedas HP??
Renuncia?, ¿qué es eso?
Respecto a las monedas, se está implementando una sección especial para publicar los tutoriales, pero puede publicar el suyo y cuando esta sección se inaugure, se movería su tutorial y automáticamente se le asignan las monedas que me parecen son 10.

- Gaak -

Gustavo Portales | HPcalc | Foro | Videos

Top
Integró: 17/09/2007
Envíos: 111
MonedasHP: 111
Imagen de LuisBeas
 
#21
Mié, 17/03/2010 - 23:38

Hola Gaak, me refiero a esa parte donde se pone que uno no se hace responsable por lo daños que pueda causar, es necesaria esa parte?

Top
Integró: 05/06/2003
Envíos: 295
MonedasHP: 92
Imagen de Gaak
Calc: HP50 | ROM:2.15
 
#22
Mié, 17/03/2010 - 23:49

Creo que eso es obvio, ya que nadie me imagino que se haga responsable por algún error o daño que pueda sufrir alguna calculadora de otra persona. No es necesario colocar ese mensaje, pero tampoco está prohibido hacerlo.

- Gaak -

Gustavo Portales | HPcalc | Foro | Videos

Top
Integró: 17/09/2007
Envíos: 111
MonedasHP: 111
Imagen de LuisBeas
 
#23
Jue, 18/03/2010 - 00:06

Bueno entonces lo dejo aquí de una vez y también en mi blog donde iré poniendo sus futuras mejoras Wink y pido disculpas por todos los errores ortográficos que pueda haber y agradecería sus comentarios y correcciones:

http://rapidshare.com/files/364850105/Tuto.doc.html

Top
Integró: 07/02/2010
Envíos: 79
MonedasHP: 72
Imagen de riboflavina
Calc: HP50 | ROM:2.09
 
#24
Jue, 18/03/2010 - 00:15

buen material luis

Dedicado a todos los que usan el pretexto de aprender mas sobre sus calculadora para dejar de hacer sus obligaciones, y que vivan los vicios permitidos
...luis beas

suena como a frase de novela

jajaja q bueno luis creo q he sido el primero descargarlo muy bueno tiene imagenes y ejemplo sencillos de entender

muchas gracias

RIBOflavina aprendiendo system rpl

Top
Integró: 26/12/2007
Envíos: 447
MonedasHP: 257
Imagen de Dani_
AdictoHP+
Calc: HP50 | ROM:2.09
 
#25
Jue, 18/03/2010 - 00:25

Está muy bueno Luis. No es tan "mini" en mi opinión, "mini" sería un tutorial de 2 ó 3 páginas. Te dejo 5 monedas HP Cash

Usuario de HP 50g

Top
Integró: 17/09/2007
Envíos: 111
MonedasHP: 111
Imagen de LuisBeas
 
#26
Jue, 18/03/2010 - 00:35

Muchas gracias por sus comentarios, me dan animos para hacer otro mini tutorial XD, gracias de verdad riboflavina y Dani_

Top
Integró: 24/02/2004
Envíos: 298
MonedasHP: 70
Imagen de Elias1976
Calc: HP49 | ROM:Hp 48GX - Hp 48SX - Hp 42S - Hp 32SII - Hp 12C - Hp 11C - Hp 17BII - Sharp PC-500E
 
#27
Vie, 19/03/2010 - 10:02

LuisBeas cita:
Hola a la pregunta que hizo riboflavina, la respuesta de Elias1976 no es completamente cierta, si tuviéramos:
<< { 4 5 6 }
<< + >>
STREAM
>>

seria: 4 5 + = 9
luego: 9 6 + = 15
Es decir primero tomado dos valores y devuelve uno y este resultado lo usa con el siguiente elemento para aplicar el programa otra vez y este nuevo resultado con el siguiente elemento y así sucesivamente, con lo que la respuesta es 15....

Disculpas por el error, es que ando sin calculadora en estos momentos....

Igual muchas gracias por la aclaracion.-

Top
Integró: 17/09/2007
Envíos: 111
MonedasHP: 111
Imagen de LuisBeas
 
#28
Vie, 19/03/2010 - 12:23

Hola Elias1976, tu que eres moderador, puse un minitutorial, y no me dieron monedas hp por esto, y otra cosa para que sirven las monedas hp??

Top
Integró: 26/12/2007
Envíos: 447
MonedasHP: 257
Imagen de Dani_
AdictoHP+
Calc: HP50 | ROM:2.09
 
#29
Vie, 19/03/2010 - 21:30

Ya te las van a dar Wink

Estimo que la implementación de las monedas HP es una manera de medir (a largo plazo) el "prestigio" que tiene un AdictoHP en la comunidad. Es decir, a grandes rasgos, cómo es valorado por los demás miembros de la comunidad. Además por supuesto depende del nivel de actividad que tengas, ya que te dan dos monedas HP por cada post.
Pero responder una pregunta complicada, ganar un mini-campeonato, publicar un tutorial o ayudar a solucionar un problema a un miembro de la comunidad debería ser motivo de que el (los) miembro( s ) beneficiado( s ) por la generosidad del que responde, le done(n) unas buenas monedas HP a este último.

Por lo menos es lo que interpreto.

Usuario de HP 50g

Top
Integró: 25/09/2004
Envíos: 388
MonedasHP: 133
Imagen de Jhusel
Calc: HP49 | ROM:2.10-7 | Calc: HP50 | ROM: 2.15
 
#30
Sáb, 20/03/2010 - 15:21

LuisBeas cita:
Hola Elias1976, tu que eres moderador, puse un minitutorial, y no me dieron monedas hp por esto, y otra cosa para que sirven las monedas hp??

Para levantar el ego!!!

salu2

n/a
Top
Integró: 17/09/2007
Envíos: 111
MonedasHP: 111
Imagen de LuisBeas
 
#31
Sáb, 20/03/2010 - 19:05

Hola Jhusel bueno entonces creo que ya no necesito mas nomnedas Big smile , gracias por la informacion chau y suerte a todos.

Top

Twitter

Cargando...