From: LastRenshai <las...@us...> - 2005-07-29 15:59:46
|
Update of /cvsroot/stack/stack-1-0/scripts/maxima In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27286/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.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** stackmaxima.mac 25 Jul 2005 10:09:32 -0000 1.22 --- stackmaxima.mac 29 Jul 2005 15:59:32 -0000 1.23 *************** *** 569,572 **** --- 569,586 ---- + /* *************************ATPartFrac Test**************************** */ + /* requires: Student Answer, */ + /* [Teachers Question, */ + /* Respect To which the fractions are parted, */ + /* Formative Feedback] */ + /* returns: StackReturnOb */ + /* CASE 1: topOp is divisor - single fraction */ + /* CASE 2: CORRECT answer - true */ + /* CASE 3: Different Variables - diff vars */ + /* CASE 4: Different amount of parts - Diff parts */ + /* CASE 5: Different Numerator - ret factored expression */ + /* CASE 6: Different Denominator - ret sDenom and tDenom */ + /* ******************************************************************** */ + ATPartFrac(SA,SBL) := BLOCK([NEGDISTRIB,val,rawmk,fb,ansnote,SB,v,quiet,facdum], NEGDISTRIB:FALSE, *************** *** 582,587 **** rawmk: 0, fb: "", ansnote: "", ret: StackReturnOb(val,rawmk,ansnote,fb), if factor( expand( sExpr ) ) = factor( expand( tExpr ) ) then ! block( [topOp, list], ! topOp: op(sExpr), list: args(sExpr), if topOp = "//" then BLOCK( val: "false", --- 596,603 ---- rawmk: 0, fb: "", ansnote: "", ret: StackReturnOb(val,rawmk,ansnote,fb), if factor( expand( sExpr ) ) = factor( expand( tExpr ) ) then ! BLOCK( ! [topOp, list], ! topOp: op( sExpr ), ! list: args( sExpr ), if topOp = "//" then BLOCK( val: "false", *************** *** 589,593 **** ansnote: "ATPartFrac_single_fraction", fb:StackAddFeedback("","ATPartFrac_single_fraction") ! ) else if topOp = "+" or topOp = "-" or topOp = "*" then BLOCK( val: "true", --- 605,609 ---- ansnote: "ATPartFrac_single_fraction", fb:StackAddFeedback("","ATPartFrac_single_fraction") ! ) else if topOp = "+" or topOp = "-" or topOp = "*" then BLOCK( val: "true", *************** *** 601,613 **** else if sameVars(sExpr, tExpr) # true then BLOCK( ! val: "true", rawmk: String(0), ansnote : "ATPartFrac_diff_variables", ! fb:StackAddFeedback("","ATPartFrac_diff_variables") ) ! else ! ! block( ! [sDeg,tDeg], sDeg: deg(denom(factor(sExpr))), --- 617,628 ---- else if sameVars(sExpr, tExpr) # true then BLOCK( ! val: "false", rawmk: String(0), ansnote : "ATPartFrac_diff_variables", ! fb:StackAddFeedback("","ATPartFrac_diff_variables"), ! ret: StackReturnOb(val, rawmk, ansnote,fb) ) ! else ! BLOCK( [sDeg,tDeg], sDeg: deg(denom(factor(sExpr))), *************** *** 615,619 **** sNDeg: deg(num(factor(sExpr))), tNDeg: deg(num(factor(tExpr))), ! if tNDeg # sNDeg then BLOCK( val:"true", --- 630,634 ---- sNDeg: deg(num(factor(sExpr))), tNDeg: deg(num(factor(tExpr))), ! if tDeg # sDeg then BLOCK( val:"true", *************** *** 623,637 **** ret: StackReturnOb(val,rawmk,ansnote,fb), RETURN(ret) ! ) ! ! else ! if sDeg = 2 then ! quadTest(sExpr,tExpr,wrt) else if sDeg = 3 then ! tripTest(sExpr, tExpr, wrt) ! ! )), if (quiet) then FeedBack:"", ! RETURN(StackReturnOb(val,STRING(rawmk),ansnote,fb)) )$ --- 638,652 ---- ret: StackReturnOb(val,rawmk,ansnote,fb), RETURN(ret) ! ) ! else ! BLOCK( ! if sDeg = 2 then ! ret: quadTest(sExpr,tExpr,wrt) else if sDeg = 3 then ! ret: tripTest(sExpr, tExpr, wrt)) ! ) ! ), if (quiet) then FeedBack:"", ! RETURN(ret) )$ *************** *** 900,904 **** rawmk: String(0), ansnote: "ATPartFrac_ret_expression", ! fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(factor(sExpr)),"\$") ) else if (isDenomSame(sExprL, tExprL) = false and isDenomSame(sExprL, tExprR) = false) --- 915,919 ---- rawmk: String(0), ansnote: "ATPartFrac_ret_expression", ! fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(factor(sExpr),"\$")) ) else if (isDenomSame(sExprL, tExprL) = false and isDenomSame(sExprL, tExprR) = false) *************** *** 915,919 **** rawmk: String(0), ansnote: "ATPartFrac_ret_expression", ! fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(factor(sExpr)),"\$") ), ret: StackReturnOb(val, rawmk,ansnote,fb), --- 930,934 ---- rawmk: String(0), ansnote: "ATPartFrac_ret_expression", ! fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(factor(sExpr),"\$")) ), ret: StackReturnOb(val, rawmk,ansnote,fb), *************** *** 967,971 **** rawmk: String(0), ansnote: "ATPartFrac_ret_expression", ! fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(factor(sExpr)),"\$") ) else if (isDenomSame(s1,t1) = false and isDenomSame(s1,t2) = false and isDenomSame(s1, t3) = false) --- 982,986 ---- rawmk: String(0), ansnote: "ATPartFrac_ret_expression", ! fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(factor(sExpr),"\$")) ) else if (isDenomSame(s1,t1) = false and isDenomSame(s1,t2) = false and isDenomSame(s1, t3) = false) *************** *** 983,987 **** rawmk: String(0), ansnote: "ATPartFrac_ret_expression", ! fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(factor(sExpr)),"\$") ), ret: StackReturnOb(val, rawmk, ansnote, fb), --- 998,1002 ---- rawmk: String(0), ansnote: "ATPartFrac_ret_expression", ! fb: StackAddFeedback("", "ATPartFrac_ret_expression", StackDISP(factor(sExpr),"\$")) ), ret: StackReturnOb(val, rawmk, ansnote, fb), |