Обратная польская запись

Быстрый вопрос об обратной польской записи.

Why is 2*3/(2-1)+5*(4-1)?: (original)

23*21-/541-*+ 

rather than 23*21-/5+41-*?

Я просто запутываю себя. Лично я бы добавил дополнительные скобки к первоначальному вопросу, чтобы было понятно, где добавляется 5. Если его там нет, в каком порядке я предполагаю, что он входит?

Спасибо

2 ответа

Если мы примем обычный порядок операций, то любые умножения вычисляются до любых сложений. Таким образом, когда у вас есть y+x*z, сначала вычисляется x * z в соответствии с обычным порядком операций. Более конкретно, y+x*z означает (y+(x*z)). Таким образом, 2*3/(2-1)+5*(4-1) означает (((2*3)/(2-1))+(5*(4-1))).

Если бы вы прямо заявили, что вы определили свой порядок операций как сложения, происходящие до умножения, то если бы вы написали 4+5*6, вы бы имели в виду ((4+5)*6). Если бы вы сделали это, то могли бы сформулировать закон распределения как x*y+z=(x*y)+(x*z). Что бы означали выражения, когда вы опускаете операции? Рассмотрим xy&z, где & является двоичным, и двоичная операция для xy опущена. Если пропущенная двоичная операция равна *, а & есть +, то это будет означать, что выраженная операция & будет происходить до операции подавленного умножения. Обычно пропущенные операции выполняются в первую очередь. Таким образом, если у вас сложение имеет приоритет связывания над умножением, то, вероятно, имеет смысл, чтобы выражение типа xy означало x+y вместо более обычного x*y. В принципе, нет ничего плохого в том, чтобы допускать сложения перед умножением, если вы заявляете, что хотите сделать это заранее и придерживаться этого соглашения и его последствий во всем, что вы пишете. Тем не менее, за исключением общения с людьми, которые не понимают RPN или PN, я просто не понимаю, почему вы пишете в инфиксной записи, как только понимаете RPN и PN.

Это потому, что умножение имеет более высокий приоритет, чем сложение. Если у вас нет фигурных скобок, 5(только) сначала умножается на (4-1) и добавляется к остальной части выражения. Если вы не использовали фигурные скобки, они оцениваются только в порядке очередности.

Другие вопросы по тегам