Re: CAS vs non-CAS in programming the HP Prime Message #27 Posted by CompSystems on 2 Oct 2013, 4:12 p.m., in response to message #25 by CompSystems
perdon in spanish
Desde el editor de programas, un programa randPoly2 que realice NO TRABAJA
CÓDIGO ORIGINAL
EXPORT randPoly2( pdim, il, sl, var, test )
// test: true = symb, false = coeff
Begin
local rp;
rp:= randPoly( pdim, il, sl );
If test == true THEN
return( poly2symb( CAS.expr( "poly1"+rp )), var );
Else
return( CAS.expr( "poly1"+rp));
End;
End;
Ahora desde la ENTRY-LINE, reescribiendo a MAYUSCULAS algunos comandos :(, tambien hay que ELIMINAR todos los comentarios :( de lo contrario genera un ERROR, y pienso que es por causa de usar comentarios abiertos // que hacen que todo lo que este a la derecha no sea interpretado
IF test == true THEN // ... RETURN( poly2symb
[ Request for HP-TEAM ] dar soporte a bloque de comentarios para poder ingresar comentarios en los programas del CAS MODE /* .... * /, de lo contrario un algoritmo sin comentarios es difícil de dar mantenimiento, ademas es una forma de auto-documentarse, si se da soporte a /* */ no se genera problema
IF test == true THEN /* ... * / RETURN( poly2sym
Hay que ELIMINAR también el prefijo EXPORT, esto implica que en el USER CATALOG no se visualiza el nombre de la función o programa :( , espero que den soporte a esto en futuras actualizaciones
CÓDIGO REESCRITO COMO FUNCION
randPoly2( pdim, il, sl, var, test ):=
BEGIN
LOCAL rp;
rp:= randPoly( pdim, il, sl );
IF test == true THEN
RETURN( poly2symb( expr( "poly1"+rp )), var );
ELSE
RETURN( expr( "poly1"+rp));
END;
END;
Se visualiza asi: ( se perdió el formato y el nombre del programa ) :(
(pdim,il,sl,var,test)->
BEGIN
LOCAL rp;
rp:=randPoly(pdim,il,sl);
IF test = true THEN RETURN(poly2symb(expr("poly1"+rp)),var);
ELSE RETURN(expr("poly1"+rp));; END ;
END;
la diferencia mas notoria es que en la sentencia de ELSE antes de END aparece doble ;; esta sobrando un [;]
randPoly2( 2, 1, 1, x, false ); => poly1[ 1,1,1 ] // 100% OK
pero en
randPoly2( 2, 1, 1, x, true ); => x^2+x+1
Edited: 2 Oct 2013, 11:36 p.m.
|