Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Cannot calculate with Dynamic variables
Replies: 1   Last Post: Nov 24, 2012 2:30 AM

 Messages: [ Previous | Next ]
 Rolf.Mertig@gmail.com Posts: 38 Registered: 11/23/05
Re: Cannot calculate with Dynamic variables
Posted: Nov 24, 2012 2:30 AM

Dear Reinhard,
something like this will work.
However, it is kind of difficult to enter 10 (you have to be fast, or
click back
into the InputField after typing the 1).

Rolf Mertig

DynamicModule[{mark4 = 1/3, mark3 = 0.51, mark2 = 0.68, mark1 = 0.80,
initPtsPartA = {{10, 8, 10, 6}, {10, 5, 10, 5}, {10, 7, 10, 1}},
initPtsStudent, initPtsSchool, initPtsPartSum, numTable, SchoolAPts,
StudentAPts, StudentMinAchieved},
numTable[x_, y_ /; OddQ[y]] := initPtsPartA[[x, y]];
numTable[x_, y_ /; EvenQ[y]] :=
InputField[Dynamic[initPtsPartA[[x, y]],
If[0 < # <= 10, initPtsPartA[[x, y]] = #, 0] &

], Number, ContinuousAction -> True, FieldSize -> 2];
initPtsPartSum[x_, y_, col_] :=
Setting[Dynamic@Total[initPtsPartA[[x ;; y, col]]]];
SchoolAPts = (Total[initPtsPartA[[1 ;; 3, #]]] &) /@ {1, 3};
StudentAPts = (initPtsPartSum[1, 3, #] &) /@ {2, 4};
Dynamic@Column[{Grid[
Append[Array[numTable, {3, 4}], (initPtsPartSum[1, 3, #] &) /@
Range[4]]], {"Just Testing Values:", initPtsPartSum[1, 3, 1],
initPtsPartSum[1, 3, 2], initPtsPartSum[1, 3, 3],
initPtsPartSum[1, 3, 4], "Student Pts only:",
StudentAPts}, {"seems to work now",
5*initPtsPartSum[1, 3, 2] + 10, initPtsPartSum[1, 3, 4] > 30,
Total[(initPtsPartSum[1, 3, #] &) /@
Range[4]], (Total@StudentAPts)/(Total@
SchoolAPts)}, {"seems to work now",
StudentMinAchieved = (StudentAPts[[1]]/SchoolAPts[[1]] >
mark4) && (StudentAPts[[2]]/SchoolAPts[[2]] > mark4)}}]]

Date Subject Author
11/21/12 Dr Reinhard Simonovits
11/24/12 Rolf.Mertig@gmail.com