Hi! I'm James from the Philippines, I'm 17 yrs old, freshman college student taking up computer science. I am actually a beginner in programming. My professor give us an programming assignment in VB 6 about precedence. I'm doing this for almost two weeks now, but then I still cannot change the order of the precedence. I find it hard because instead of MDAS(multiplication,division,addition,and subtraction)order, it is now reverse (addition,subtraction,multiplication,division). I hope someone will help me.
My professor instruct us to use one textbox for the inputs and command button for evaluation...
Assume the following rules of precedence for expressions:
Highest is addition (+)
then subtraction (-)
then multiplication (*)
then division (/)
Evaluate inputs such as:
(a) 1+4*3-2/2 Output: 5*3-2/2 = 5*1/2 = 5/2 = 2.5
(b) 5-2/2+1*2 Output: 5-3/3*2 = 2/3*2 = 4/6 = 0.66667
(c) 3-2+4-2+5 Output: 3-6-7 = -3 - 7 = -10
Output up to 5 decimal places if long.
Comments
: student taking up computer science. I am actually a beginner in
: programming. My professor give us an programming assignment in VB 6
: about precedence. I'm doing this for almost two weeks now, but then
: I still cannot change the order of the precedence. I find it hard
: because instead of MDAS(multiplication,division,addition,and
: subtraction)order, it is now reverse
: (addition,subtraction,multiplication,division). I hope someone will
: help me.
:
: My professor instruct us to use one textbox for the inputs and
: command button for evaluation...
:
: Assume the following rules of precedence for expressions:
: Highest is addition (+)
: then subtraction (-)
: then multiplication (*)
: then division (/)
:
: Evaluate inputs such as:
: (a) 1+4*3-2/2 Output: 5*3-2/2 = 5*1/2 = 5/2 = 2.5
: (b) 5-2/2+1*2 Output: 5-3/3*2 = 2/3*2 = 4/6 = 0.66667
: (c) 3-2+4-2+5 Output: 3-6-7 = -3 - 7 = -10
: Output up to 5 decimal places if long.
If none of the calculations hve brackets in them, then the best way to evaluate them is as follows:
1) split the calculation into the numbers and operators.
example: (a) becomes a list of values 1, +, 4, *, 3, -, 2, /, 2
2) loop through that list and calculate each + and replace the 3 elements with the result
example: (a) becomes a list of values 5, *, 3, -, 2, /, 2
3) repeat step 2 until there are no more +-operators
4) Repeat steps 2 and 3 for each operator according to the preference rules
example:
(a) becomes a list of values 5, *, 1, /, 2
(a) becomes a list of values 5, *, 0.5
(a) becomes a list of values 2.5
Once all the operators are calculated, there should only be 1 element left in the list: the final result.
: : student taking up computer science. I am actually a beginner in
: : programming. My professor give us an programming assignment in VB 6
: : about precedence. I'm doing this for almost two weeks now, but then
: : I still cannot change the order of the precedence. I find it hard
: : because instead of MDAS(multiplication,division,addition,and
: : subtraction)order, it is now reverse
: : (addition,subtraction,multiplication,division). I hope someone will
: : help me.
: :
: : My professor instruct us to use one textbox for the inputs and
: : command button for evaluation...
: :
: : Assume the following rules of precedence for expressions:
: : Highest is addition (+)
: : then subtraction (-)
: : then multiplication (*)
: : then division (/)
: :
: : Evaluate inputs such as:
: : (a) 1+4*3-2/2 Output: 5*3-2/2 = 5*1/2 = 5/2 = 2.5
: : (b) 5-2/2+1*2 Output: 5-3/3*2 = 2/3*2 = 4/6 = 0.66667
: : (c) 3-2+4-2+5 Output: 3-6-7 = -3 - 7 = -10
: : Output up to 5 decimal places if long.
:
: If none of the calculations hve brackets in them, then the best way
: to evaluate them is as follows:
: 1) split the calculation into the numbers and operators.
: example: (a) becomes a list of values 1, +, 4, *, 3, -, 2, /, 2
: 2) loop through that list and calculate each + and replace the 3
: elements with the result
: example: (a) becomes a list of values 5, *, 3, -, 2, /, 2
: 3) repeat step 2 until there are no more +-operators
: 4) Repeat steps 2 and 3 for each operator according to the
: preference rules
: example:
: (a) becomes a list of values 5, *, 1, /, 2
: (a) becomes a list of values 5, *, 0.5
: (a) becomes a list of values 2.5
: Once all the operators are calculated, there should only be 1
: element left in the list: the final result.
i think your idea is possible. however, if you have this expression -2+5*4 by splitting the calculation into numbers and operators you will get -7*4 instead of 3*4
: : : student taking up computer science. I am actually a beginner in
: : : programming. My professor give us an programming assignment in VB 6
: : : about precedence. I'm doing this for almost two weeks now, but then
: : : I still cannot change the order of the precedence. I find it hard
: : : because instead of MDAS(multiplication,division,addition,and
: : : subtraction)order, it is now reverse
: : : (addition,subtraction,multiplication,division). I hope someone will
: : : help me.
: : :
: : : My professor instruct us to use one textbox for the inputs and
: : : command button for evaluation...
: : :
: : : Assume the following rules of precedence for expressions:
: : : Highest is addition (+)
: : : then subtraction (-)
: : : then multiplication (*)
: : : then division (/)
: : :
: : : Evaluate inputs such as:
: : : (a) 1+4*3-2/2 Output: 5*3-2/2 = 5*1/2 = 5/2 = 2.5
: : : (b) 5-2/2+1*2 Output: 5-3/3*2 = 2/3*2 = 4/6 = 0.66667
: : : (c) 3-2+4-2+5 Output: 3-6-7 = -3 - 7 = -10
: : : Output up to 5 decimal places if long.
: :
: : If none of the calculations hve brackets in them, then the best way
: : to evaluate them is as follows:
: : 1) split the calculation into the numbers and operators.
: : example: (a) becomes a list of values 1, +, 4, *, 3, -, 2, /, 2
: : 2) loop through that list and calculate each + and replace the 3
: : elements with the result
: : example: (a) becomes a list of values 5, *, 3, -, 2, /, 2
: : 3) repeat step 2 until there are no more +-operators
: : 4) Repeat steps 2 and 3 for each operator according to the
: : preference rules
: : example:
: : (a) becomes a list of values 5, *, 1, /, 2
: : (a) becomes a list of values 5, *, 0.5
: : (a) becomes a list of values 2.5
: : Once all the operators are calculated, there should only be 1
: : element left in the list: the final result.
:
: i think your idea is possible. however, if you have this expression
: -2+5*4 by splitting the calculation into numbers and operators you
: will get -7*4 instead of 3*4
:
:
With a minor adjustment (-number is split into + (-number)) this can be rectified. His example of 3-6-7 then becomes: 3, +, -6, +, -7.