Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

evaluation of expressions (add,subtract,multiply,divide)

bombyxbombyx Posts: 3Member
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

  • zibadianzibadian Posts: 6,349Member
    : 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.

    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.
  • magikarp123magikarp123 Posts: 1Member
    : : 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.
    :
    : 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


  • zibadianzibadian Posts: 6,349Member
    : : : 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.
    : :
    : : 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.
Sign In or Register to comment.