HonradosHP
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Aplicar un comando a cada elemento de una lista con números reales

Ir abajo

Aplicar un comando a cada elemento de una lista con números reales Empty Aplicar un comando a cada elemento de una lista con números reales

Mensaje  Jose Leonardo Ortiz Sáb Mar 07, 2009 3:21 pm

Para aplicar un comando a cada elemento de una lista que contiene números reales puedes hacer lo siguiente:

NULLNAME OPERACION{%} ( {%} → {%} )
::
INNERDUP
ZERO_DO (DO)
...ROLL
...En esta línea escribir el comando que tenga la forma: % → %
...ISTOP@
LOOP
{}N
;

Por ejemplo:

*** VALOR ABSOLUTO SOBRE LOS ELEMENTOS DE UNA LISTA
NULLNAME ABS{%} ( {%} → {%} )
:: INNERDUP ZERO_DO (DO) ROLL %ABS ISTOP@ LOOP {}N ;

*** LOGARITMO DECIMAL SOBRE LOS ELEMENTOS DE UNA LISTA
NULLNAME LOG{%} ( {%} → {%} )
:: INNERDUP ZERO_DO (DO) ROLL %LOG ISTOP@ LOOP {}N ;

*** LOGARITMO NATURAL SOBRE LOS ELEMENTOS DE UNA LISTA
NULLNAME LN{%} ( {%} → {%} )
:: INNERDUP ZERO_DO (DO) ROLL %LN ISTOP@ LOOP {}N ;

*** INVERSA SOBRE LOS ELEMENTOS DE UNA LISTA
NULLNAME INV{%} ( {%} → {%} )
:: INNERDUP ZERO_DO (DO) ROLL %1/ ISTOP@ LOOP {}N ;

*** ELEVAR AL CUADRADO LOS ELEMENTOS DE UNA LISTA
NULLNAME SQ{%} ( {%} → {%} )
:: INNERDUP ZERO_DO (DO) ROLL %SQ_ ISTOP@ LOOP {}N ;

*** RAIZ CUADRADA DE CADA ELEMENTO DE UNA LISTA
NULLNAME SQRT{%} ( {%} → {%} )
:: INNERDUP ZERO_DO (DO) ROLL %SQRT ISTOP@ LOOP {}N ;

*** FUNCION SIGNO SOBRE LOS ELEMENTOS DE UNA LISTA
NULLNAME SIGN{%} ( {%} → {%} )
:: INNERDUP ZERO_DO (DO) ROLL %SGN ISTOP@ LOOP {}N ;

OBSERVACIONES
►La lista debe contener sólamente números reales. Además debe tener por lo menos un elemento.
►Con el ejemplo ABS{%} se logró una reducción en tiempo de 0.036 s a 0.012 s con una lista de seis elementos.
Jose Leonardo Ortiz
Jose Leonardo Ortiz
Junior HP+
Junior HP+

Masculino Cantidad de envíos : 50
Localización : Lima/Perú
Calculadora : HP 50g
ROM : 2.09

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.