La evaluación de una expresión con tres términos y dos operadores depende de qué conjunto de reglas y convenciones acuerden el escritor y el lector de tales expresiones.
La expresión 5 + 2 * 3 se leería como si se hubiera escrito como: 5 + (2 * 3) y evaluaría 30, según las reglas más comúnmente aceptadas para expresiones ambiguas sin paréntesis, y así es como evaluarían la mayoría de los lenguajes de programación eso. Sin embargo, si los operadores se realizan en orden de izquierda a derecha, con igual precedencia (como podría ser el caso si un humano operara una máquina sumadora antigua), la misma expresión se evaluaría como si hubiera sido escrita ( 5 + 2) * 3 y su valor calculado como 21.
Si una expresión está “bien formada”, es decir, con operadores infijos cada uno rodeado exactamente por dos subexpresiones evaluables, entonces no hay problema. Sin embargo, algunas secuencias de tres variables y dos operadores no tienen ningún significado
(por ejemplo, ab + * c o * abc +), mientras que otros (como 5 + 2 * 3 ) son ambiguos a menos que haya un acuerdo sobre:
- El significado de cada operador
- Las “reglas de precedencia sobre qué operación hacer primero, etc.
- El orden “de izquierda a derecha” o “de derecha a izquierda” de cada operador (cuando aparece más de uno de ellos.
Cuando no hay acuerdo sobre estos temas, se necesitan paréntesis para agrupar adecuadamente las subexpresiones, para llevar a cabo la evaluación que pretendía el escritor.
- Cómo simplificar (2-5j) / (3 + 7j)
- Cómo probar la secuencia {n / (n + 3)} es cauchy usando la definición
- ¿Cómo se puede probar [matemáticas] \ left (\ sum_ {i = 1} ^ {n} x_i \ right) ^ 2 \ leq n \ sum_ {i = 1} ^ n (x_i) ^ 2 [/ math]?
- ¿Qué es [matemáticas] {{d} \ over {dx ‘}} (sin (x + x’) x ^ 2 + x (x ‘) ^ 2) [/ matemáticas] donde x es una función de t y [matemáticas ] x ‘= {dx \ over dt} [/ math]?
- Cómo crear una ecuación [matemática] f (x) [/ matemática] tal que [matemática] f (-4) = 6, f ^ {- 1} (x) [/ matemática] es una función, y [matemática] f ^ {- 1} (x) [/ math] tiene [math] R \ {y \ le n, y \ in \ mathbb {R} \}? [/ math]
en ausencia de paréntesis, generalmente se acuerda que la división de multiplicación (y división) tiene una precedencia mayor que la suma (y la resta), pero menor que la exponenciación, y que todos estos tienen menor precedencia que los paréntesis. (Por lo general, también hay acuerdo en que los operadores no asociativos, como la resta o la división, se procesan de izquierda a derecha, pero la exponenciación generalmente se asocia de derecha a izquierda. Sin embargo, eso no es un problema con la expresión en cuestión, por lo que se desvía -tema.)
Desafortunadamente, el número de tales expresiones (es decir, aquellas con múltiples operadores y sin paréntesis) no tiene límites, y sugiero respetuosamente que esas preguntas sobre Quora se fusionen en una sola pregunta.