From: LastRenshai <las...@us...> - 2005-08-16 12:34:34
|
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 */ |