# HP Forums

You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello, the following statements Written on CAS history

print("test ANS cmd");
id0:=0+1;
print("ans1: "+Ans); // ans1: 1
id0:=1+1;
print("ans2: "+Ans); // ans2: 2
id0:=2+1;
print("ans3: "+Ans); // ans3: 3

show in the terminal view

test ANS cmd
ans1: 1
ans2: 2
ans3: 3

But within a program

PHP Code:
`#cas    anscmd():=    begin                       print;          print("test ANS cmd");        id0:=0+1;        print("ans1: "+Ans); // ans1: 1        id0:=1+1;        print("ans2: "+Ans); // ans2: 2        id0:=2+1;        print("ans3: "+Ans); // ans3: 3#end `

test ANS cmd
ans1: 0
ans2: 0
ans3: 0

Why?

The following CAS code Requires storing each statement in an identifier, and you can not use 'Ans' Cmd =(
PHP Code:
`#cas  script1():=  begin    local eq1, eq2, sol, answer;      print;    purge(x,y);      print("Find the dimensions of a rectangle whose area is 45 and its perimeter 28");    print("METHOD 1 (Algebraic solution, stepwise)");        print("Let x = long, y = width");   print("");        print("The equations are:");        eq1:=x*y=45;        print("eq1: "+eq1);     eq2:=2x+2y=28;     print("eq2: "+eq2);     print("");    answer:=factor(eq2); // -> (2*(x+y)) = 28    print("factor(eq2): "+answer);    print("");    answer:=answer/2; // ->(2*(x+y)/2) = 14    print("Ans/2: "+answer);    answer:=simplify(answer); // -> (x+y) = 14    print("simplify(Ans): "+answer);    print("");    sol:= y=solve(answer,y)[1]; //  y = (-x+14)    print("sol(Ans,y): "+sol);    print("");    //answer:= (eq1|sol);    answer:=subst(eq1,sol); //  -> (x*(-x+14)) = 45    print("subst(eq1,answer): "+answer);    answer:=simplify(answer); // -> (-x^2+14*x) = 45    print("simplify(Ans): "+answer);    print("");    sol:=solve(answer,x); // -> {5,9}    print("sol(Ans,x): x1,2="+sol);    print("");    print("test solutions");    answer:=(eq1|{x=sol[1], y=sol[2]});    print("eq1: "+answer);    answer:=evalBool(answer,'=','==');    print("eq1: "+answer);    print("");    answer:=(eq2|{x=sol[1], y=sol[2]});    print("eq2: "+answer);    answer:=evalBool(answer,'=','==');    print("eq2: "+answer);    return "Done";  end;#end#cas  evalBool( expr1, str1, str2 ):=  begin   return( ifte( subst(expr1, str1, str2 ), "TRUE", "FALSE") );  end;#end `
I think ANS is a keyboard only thing that is there for convenience. It does not work on my HP71B, either, though that has a much clearer demarcation between "BASIC mode" and "CALC mode".

Though, I really like the () notation to get ans into an equation.
Reference URL's
• HP Forums: https://www.hpmuseum.org/forum/index.php
• :