Update of /cvsroot/stack/stack-1-0/scripts/maxima
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv465/scripts/maxima
Modified Files:
stackmaxima.mac
Log Message:
Index: stackmaxima.mac
===================================================================
RCS file: /cvsroot/stack/stack-1-0/scripts/maxima/stackmaxima.mac,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** stackmaxima.mac 5 Aug 2005 09:13:44 -0000 1.24
--- stackmaxima.mac 16 Aug 2005 12:34:14 -0000 1.25
***************
*** 654,657 ****
--- 654,737 ----
)$
+
+ /* ************************ATSingFracTest****************************** */
+ /* requires: Student Answer */
+ /* List: [Teachers Answer, variable with which partial */
+ /* fraction occurs, whether Formative Feedback is required */
+ /* returns: StackReturnOb */
+ /* Cases: */
+ /* Returns True iff algerbraic equivalence with TList[1] */
+ /* and Division is the Top Operator. */
+ /* False if Division not the top operator */
+ /* False if different Variables are used */
+ /* True(0) otherwise */
+ /* ******************************************************************** */
+ ATSingFrac(sExpr, TList):= BLOCK(
+ [NEGDISTRIB, val, rawmk, fb, ansnote, tExpr, quiet, facdum],
+ NEGDISTRIB: FALSE, val:"", rawmk:"1",
+ fb: StackAddFeedback("","AT_NOTIMPLEMENTED"),
+ ansnote:"",
+ if listp(TList) then
+ BLOCK
+ ( tExpr: TList[1], wrt: TList[2], quiet: TList[3] )
+ else
+ RETURN(StackReturnOb("false","0","ATFacForm_error_list",StackAddFeedback("","ATSingFrac_error_list"))),
+ BLOCK
+ (
+ [val, rawmk,ansnote,fb],
+ rawmk: 0, fb: "", ansnote: "", ret:
+ StackReturnOb(val,rawmk,ansnote,fb),
+ if factor( expand ( sExpr ) ) = factor( expand( tExpr ) ) then
+ BLOCK
+ (
+ topOp: op(sExpr),
+ if topOp = "//" then
+ BLOCK
+ (
+ val:"true",
+ rawmk:"1",
+ ansnote: "ATSingFrac_true",
+ fb: StackAddFeedback("",ansnote)
+ )
+ else
+ BLOCK
+ (
+ val:"false",
+ rawmk:"0",
+ ansnote:"ATSingFrac_part",
+ fb: StackAddFeedback("",ansnote)
+ ),
+ ret: StackReturnOb(val,rawmk,ansnote,fb)
+ )
+ else if (sameVars(sExpr, tExpr) # true) then
+ BLOCK
+ (
+ val:"false",
+ rawmk:"0",
+ ansnote:"ATSingFrac_var",
+ fb: StackAddFeedback("",ansnote)
+ )
+ else if (partFrac(sExpr,wrt) # sExpr) then
+ BLOCK
+ (
+ val: "true",
+ rawmk:"0",
+ ansnote:"ATSingFrac_ret_Q",
+ fb: StackAddFeedback("",ansnote, StackDISP(partFrac(sExpr, wrt), "\$"))
+ )
+ else
+ BLOCK
+ (
+ val:"true",
+ rawmk:"0",
+ ansnote:"ATSingFrac_ret_exp",
+ fb: StackAddFeedback("",ansnote, StackDISP(factor(sExpr),"\$"))
+ ),
+ ret: StackReturnOb(val,rawmk,ansnote,fb),
+ if quiet # TRUE then fb:"",
+ RETURN(ret)
+ )
+ )$
+
/*********************/
/* Calculus question */
|