FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Versión 2:
Código:
<script> for(i=1;i<101;i++){x='';if(!(i%3))x+='Fizz';if(!(i%5))x+='Buzz';document.write(((x)?x:i)+'<br />');} </script>
__________________
"la única iglesia que ilumina es la que arde" Anonimo |
#2
|
||||
|
||||
Un lenguaje que inventé hace un tiempo y que, por fin, le he encontrado una aplicación (si aceptan un presupuesto que he hecho, claro ):
Código:
0 @ 1 + DUP 3 % 0 = IF "fizz" CALL:WRITE FI DUP 5 % 0 = IF "buzz" CALL:WRITE FI DUP DUP 3 % SWAP 5 % 0 = SWAP 0 = & IF DUP CALL:WRITE FI "" CALL:WRITELN DUP 100 < IF RET FI Explicación: Este lenguaje es, en realidad, el "Ensamblador" de una máquina virtual basada en pilas, al estilo FORTH. DUP duplica el elemento en la cima de la pila, mientras que SWAP intercambia los dos valores de la cima. Los operadores extraen uno o dos elementos de la pila, lo operan y lo devuelven a la pila; y son los normales (+, -, >, <...) siendo "%" el cálculo del resto en una división entera. "CALL" llama a una rutina (WRITE y WRITELN en este caso). @ apila en la pila de código (separada de la pila de datos, como en FORTH) la dirección de dicha arroba, mientras que RET desapila la cima de la pila de código en el registro de ejecución. Vamos, muy sencillo. El código puede optimizarse duplicando e intercambiando los resultados de las operaciones (que en principio es más rápido que calcular el módulo y hacer comparaciones), pero entonces ya te lías... Última edición por Ñuño Martínez fecha: 13-02-2012 a las 11:16:20. |
#3
|
||||
|
||||
#4
|
||||
|
||||
Ya dije en otro sitio lo de que sencillo no significa fácil y tal... De todas formas, a los que les guste el Ensamblador deberían entenderlo puesto que, aunque casi todos los microprocesadores están basados en registros, el manejo de pilas está al orden del día. Es más, casi todas las instrucciones de mi lenguaje tienen correspondencia directa con instrucciones ensamblador de casi cualquier micro, aunque eso de usar dos pilas separadas, una para datos y otra para direcciones de retorno, puede dar algún que otro dolor de cabeza.
|
#5
|
||||
|
||||
No, si no es que me parezca complicado, es sólo que no me veo programando una gestión de stock de almacenes con ese lenguaje
|
#6
|
||||
|
||||
Y digo yo.. ¿pa que lo haces a pilas puediendolo hacer a corriente? XDD
__________________
"la única iglesia que ilumina es la que arde" Anonimo |
#7
|
||||
|
||||
Oyes, pues yo pensaba que estabas hablando de pilas de lavar.
__________________
Be water my friend. |
#8
|
||||
|
||||
Que vivan las palabras polisémicas.
|
#9
|
||||
|
||||
Eso te pasa por no usar "stack", que queda más 'pofesional' y finolis
|
|
|
|