Category:Amazing Hopper: Difference between revisions
m
→#HL, #HIGH-LEVEL, #FX, #COMPUTE
m (→#IMPORT) |
|||
Line 4,876:
Por ejemplo: enunciar el Teorema de Pitágoras, no es lo mismo que calcularlo. Cuando lo calculamos, seguimos un procedimiento semejante a éste:
"obtén el cuadrado del cateto mayor, y el cuadrado del cateto menor; luego, súmalos, y calcula su raíz cuadrada"
y eso es lo que hace HOPPER:
"{cateto mayor}pow by '2',{cateto menor}pow by'2',add,sqrt"
Esto es una ventaja, hasta cierto punto; es, también, la idea detrás del Proyecto Hopper: programar, en primera instancia, siguiendo una lógica más cercana a la "natural", pensando en una, no muy lejana, "programación hablada".
Line 4,895:
#hl ( (i+30)*M_PI/180 ), mov(resultado)
#hl ( resultado = (i+30)*M_PI/180 )
Line 4,945:
++i,--j,{i}mul by'j',plus '[i:end,j]get(a)', put(x)
¿Por qué se escribe solo una vez "[i:end,j]"? Porque basta con una declaración, para que quede disponible al resto del programa. De ahí que es necesario CLEARMARK.
Line 4,957:
x = y = log(x+y)^(log(x-y) )
p[2]=p[5]=p[7,1]=x=1000
Line 4,972:
r=(x:=(2+1))*2^(x-1)
}
Se calcula "2+1", se deja el resultado en "x", pero también se deja disponible para el resto del cálculo.
Line 5,004:
Todas las estructuras de control en #HIGH-LEVEL permiten anidamiento.
EJEMPLOS:
Line 5,019 ⟶ 5,018:
IF:
#hl{
if ( (i==0) && (log(j*10)>2) )
Line 5,026:
DO:
i=10
#hl{
Line 5,058 ⟶ 5,059:
Donde sí es muy práctico usar #HIGH-LEVEL, es en las expresiones lógicas, debido a que expanden a código HOPPER sin pérdida de optimización.
== DIRECTIVAS INLINE PARA #DEFN ==
|