Glosario

Abreviado SysRPL, este es el lenguaje en el cual la mayor parte del ROM de la HP48 está escrito. También está disponible para el usuario usando HP Tools (en la PC), Jazz (en la HP) o cualquier otro de varias herramientas de desarrollo de programas. Este es el fundamento del User RPL, sólo que mucho más poderoso y mucho menos seguro (dado que toda la protección es removida, tal como la verificación de argumentos).

como saber que dentro de una lista existen numeros distintos de ceros y cual es su ubicacion ? { 0 1 } 1 pos?

10 respuestas [Último envío]
Integró: 07/02/2010
Envíos: 265
MonedasHP: 362
Imagen de riboflavina
AdictoHP+
Calc: HP50 | ROM:2.09
como saber que dentro de una lista existen numeros distintos de ceros y cual es su ubicacion ? { 0 1 } 1 pos?
 
Mar, 13/04/2010 - 15:48

hola adictos les traigo la pregunta nuevamente reescrita por 3era vez, ya la habia hecho pero le agrege otra cosa. ojala puedan ayudarme a resolverla

si por ejemplo tengo una lista cualquiera, para este ejemplo es de 9 elementos todos numeros reales, claro q el dato de 9 elementos no deben tomarlo como parte de la solucion al problema ya que este dato puede variar para cualkier otro ejemplo

{ 0 0 0 5 0 3 0 0 2 }

la pregunta es ¿como saber que en las posiciones { 4 6 9 } ? existen numeros distintos de ceros, bueno la respuesta q busco esa : "{ 4 6 9 }"

luisBeas me resolvio como indentificar que tipo de objeto hay dentro de la lista y lo hizo de una forma muy simple y elegante, pero ahora la cosa se complica un poco mas.
como saber la posicion? y para generalizar el problema seria asi:

---- en una lista de n elementos solo hay un tipo de objeto "el numero real" pero solo se distingue dos tipos de numeros dentro de la lista, cero y distinto de cero ¿como hallar las posiciones de los numeros que sean diferentes de cero ? ------

bueno gracias por el apoyo de luis, saludos a todos

Riboflavina aprendiendo el SYSTEM RPL/Arequipa-Peru

Top
Integró: 09/03/2010
Envíos: 467
MonedasHP: 926
Imagen de zuaritx
Calc: HP48G/GX | ROM:.
 
#1
Mié, 14/04/2010 - 05:02

En USER: COMANDOS un poco más atípicos necesarios: TYPE,DOLIST,AND. Consultese el AUR50 para más detalle.
1) CEROS EN UNA LISTA: Codificación manipulando a mano

-105 SF (Activar el modo aproximado para el comando IF)
1:{20 40 0 0}
1
« IF 0 SAME THEN 0 ELSE 1 END » DOLIST
1:{1 1 0 0}

2) UBICACIÓN DE NÚMEROS CON INDICADORES: Se precisan dos listas, una con los indicadores y una que simplemente indique la posición. Codificación a mano.
-105 SF (Activar el modo aproximado para el comando IF)
2:{1 1 0 0}
1:{1 2 3 4}
2
« IF SWAP O SAME THEN DROP 0 END » DOLIST
1:{1 2 0 0}

3) VERIFICACIÓN DE VARIABLES EN POSICIÓN DE UNA LISTA: Codificación a mano
-105 SF (Activar el modo aproximado para el comando IF)
1:'A' TYPE ----> 1:6
2:{1 1 0 0}
1:{A B 5 6}
2
« IF TYPE 6 SAME SWAP 1 SAME AND THEN PROGRAMATHE END » DOLIST
1:{PROGRAMATHE PROGRAMATHE}

NOTA: No me queda muy claro como se han de verificar este último apartado, si no te resuelve esto la duda, sé más concreto en esta verificación.

IMPORTANTE: Implementado la conjunción de las tres rutinas arreglo a las necesidades se puede lograr una rutina más potente que lo resuelva todo de una sóla vez. Al desgajarlo paso a paso queda muchísimo más claro.

4.¿CÓMO SE HARIA TODO ESTE CÓDIGO TAL CUAL EN SYSTEM y ML?

Top
Integró: 17/09/2007
Envíos: 153
MonedasHP: 211
Imagen de LuisBeas
 
#2
Vie, 16/04/2010 - 00:03

Hola yo te sugiero el siguiente programa:

« 1. « TYPE » DOSUBS »

Top
Integró: 23/07/2009
Envíos: 92
MonedasHP: 126
Imagen de agnus_7asch
Calc: HP50
 
#3
Vie, 16/04/2010 - 10:45

que balazo! LuisBeas...

Cita:

« 1. « TYPE » DOSUBS » [bytes: 33]

io presento a l¡gero:
« 1. { TYPE } DOSUBS »      [bytes: 25.5]

!

Top
Integró: 07/02/2010
Envíos: 265
MonedasHP: 362
Imagen de riboflavina
AdictoHP+
Calc: HP50 | ROM:2.09
 
#4
Vie, 16/04/2010 - 12:20

muchas gracias a todos ustedes por responder y en especial a luis por su ingeniosa respuesta

Riboflavina aprendiendo el SYSTEM RPL/Arequipa-Peru

Top
Integró: 19/11/2003
Envíos: 838
MonedasHP: 1222
Imagen de MACH
Calc: HP50 | ROM:HP50-C Revisión #2.15 | HP49G | HP48G+ | HP28C | HP75C | HP41CV | HP67
 
#5
Vie, 16/04/2010 - 12:47

Hola!, Rivoflavina:

También puedes intentar resolverlo así ...

« 1 OVER SIZE FOR n DUP n GET n ->TAG n SWAP PUT NEXT »

¡El conocimiento, a través de la capacitación, es la base de la sabiduría!. ¡ Ni a la persona, ni al ingenio, lo hace, el título!.
Cordiales saludos desde Neuquén, Patagonia Argentina.
M.A.C.H.

Top
Integró: 20/05/2003
Envíos: 209
MonedasHP: 214
Imagen de Edwin
Calc: HP48G/GX
 
#6
Vie, 16/04/2010 - 15:02

En el libro Introduction to System RPL and Assembly Language, existe un pequeño ejemplo en SystemRpl, que hace uso del return stack para el manejo de listas, y busca la cantidad de número reales, puede modificarlo para sus objetivos

La cuestión en la vida no es saber mucho, sino olvidarse de poco.
http://www.edwincordoba.com/

Top
Integró: 17/09/2007
Envíos: 153
MonedasHP: 211
Imagen de LuisBeas
 
#7
Sáb, 17/04/2010 - 00:05

Hola a todos este programa te puede servir:

« 1. « NSUB IFT » DOSUBS »

Y en este documento escribí mis humildes conocimientos acerca de los comandos para el manejo de los elementos en una lista.

http://rapidshare.com/files/370936832/Procedimientos_Dos.doc.html

Y a agnus_7asch, no savia que el programa se podía reemplazar por una lista, me paree que solo sirve ¿para programas que contengan un solo comando?

Top
Integró: 09/03/2010
Envíos: 467
MonedasHP: 926
Imagen de zuaritx
Calc: HP48G/GX | ROM:.
 
#8
Mar, 14/12/2010 - 21:13

<

Top
Integró: 07/02/2010
Envíos: 265
MonedasHP: 362
Imagen de riboflavina
AdictoHP+
Calc: HP50 | ROM:2.09
 
#9
Sáb, 17/04/2010 - 12:15

muy buena solucion luis bastante simple, yo habia pensado en algo mas complicado para resolver esto pero ya veo q para ti era facil resolverlo

gracias y saludos

Riboflavina aprendiendo el SYSTEM RPL/Arequipa-Peru

Top
Integró: 26/12/2007
Envíos: 627
MonedasHP: 593
Imagen de Dani_
Calc: HP50 | ROM:2.09
 
#10
Dom, 18/04/2010 - 21:52

LuisBeas falta que transforme el plomo en oro con los comandos para listas...un fenómeno.

Ingeniero. Usuario de HP 50g.

Top

Twitter

Cargando...

CAPTCHA
Esta pregunta es para probar si usted es un visitante humano y así evitar el spam automatizado.
2 + 6 =
Solucione este simple problema matemático e ingrese el resultado. Por ejemplo: para 1+3, ingrese 4.