Glosario

Protocolo de transferencia de datos usado por las HP48 y la mayoría de los programas de comunicación. La implementación del Kermit en la HP48 es muy lenta, y es incapaz de transmitir a más de 2400bps, aunque la implementación en computadora es mucho más rápida. Kermit es el único protocolo de transferencia que acepta el modo de transferencia ASCII en vez de tan sólo modo binario. La Universidad de Columbia tiene los derechos sobre el Kermit. El nombre Kermit viene de Kermit la Rana, de los Muppets.

El Comando DESCAD

5 respuestas [Último envío]
Integró: 10/03/2004
Envíos: 53
MonedasHP: 28
Imagen de Orly
Calc: HP49 | ROM:1.19-6
El Comando DESCAD
 
Jue, 18/03/2010 - 16:28

Hola mis estimados Amigos AdictosHP!!!

En primer lugar saludos a todos Uds. y decirles que Dios los bendiga siempre...

Dicho esto, ahora les propongo un nuevo desafío:

Realizar el código UserRPL más rápido y más pequeño para implementar el Comando DESCAD. Este comando lleva su nombre por la acción que realiza, esto es, DESordenar CADena.

El programa debe aceptar como argumento de entrada 1 solo objeto String (cadena de caracteres) de cualquier longitud y a cada ejecución del comando debe devolver como salida 1 solo objeto String (cadena de caracteres) que sea la desordenación aleatoria de todos y cada uno de los caracteres que conformaron el objeto String (cadena de caracteres) ingresado como argumento de entrada el comando.

Bueno, para que todo quede claro, les dejo un ejemplo de ejecución del Comando DESCAD:

Ejemplo de Ejecución del Comando DESCAD

--------------------------------------------
Pila antes de ejecutar el comando DESCAD
--------------------------------------------
2:
1: "ESTA LINEA DE TEXTO SE AUTODESTRUIRA EN UN MOMENTO..."

--------------------------------------------
Pila después de ejecutar el comando DESCAD
--------------------------------------------
2:
1: "X. IATNS . ETU AL DTEUIRR NSSEAA MNOUE.TEEOTETOM"

Obviamente, como el resultado del desordenamiento de caracteres producido por el Comando DESCAD es absolutamente aleatorio, Uds. seguramente no tendrán de primera instancia la misma salida que les presenté en el Ejemplo de Ejecución del Comando DESCAD. Pero estoy seguro que si ejecutan varias veces el Comando DESCAD con el mismo objeto String (cadena de caracteres) "ESTA LINEA DE TEXTO SE AUTODESTRUIRA EN UN MOMENTO..." podrán obtener como salida el objeto String (cadena de caracteres) "X. IATNS . ETU AL DTEUIRR NSSEAA MNOUE.TEEOTETOM".

Bueno, eso es todo mis queridos Amigos AdictosHP...

Ahora a pensar y proponer nuestras soluciones más creativas e ingeniosas...

Orly Wink

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

Top
Integró: 17/09/2007
Envíos: 153
MonedasHP: 211
Imagen de LuisBeas
 
#1
Jue, 18/03/2010 - 19:04

Holas yo propongo:

«
DUP TYPE 2. == IF
               THEN
                   DUP SIZE 1 - SWAP
                   1 PICK3 START
                            DUP HEAD SWAP TAIL
                            PICK3 RAND * CEIL
                            DUP2 6 PICK SUB UNROT
                            1 - 1 SWAP SUB ROT + +
                           NEXT
                   NIP
               ELSE
               END
»

Top
Integró: 23/03/2009
Envíos: 146
MonedasHP: 296
Imagen de yder
AdictoHP+
Calc: HP50
 
#2
Sáb, 20/03/2010 - 00:21

Un saludo.
Aqui otro codigo.

«   DUP TAIL
    SWAP HEAD
    SWAP 
    RAND    
    SWAP 
    DUP  SIZE 1 SWAP 
    START
      
        DUP TAIL SWAP HEAD
        4 ROLL SWAP 4 ROLL 
        RAND DUP ROT 
           <
           « UNROT +  » 
           «  UNROT SWAP  + »
         IFTE     
   SWAP ROT
    NEXT
  DROP2
»

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

<

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

<

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

<

Top

Twitter

Cargando...

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