¡¡¡Un resultado realmente sorprendente!!! - página 8

 

Ya respondí a esta pregunta una vez. Es algo así: "Sí, lo que pasa es que la prioridad de las operaciones en MQL4 es diferente de la prioridad de las operaciones adoptadas en C. Por algunas razones históricas. Vino de MQL II. Pero como no se ha notado inmediatamente y ya se han escrito muchos programas, no vamos a cambiar la prioridad de las operaciones, porque tal cambio provocaría un cambio inesperado en el funcionamiento de varios programas.

En MQL5 las prioridades de las operaciones corresponden exactamente a las prioridades adoptadas en C++

 
stringo >> :


En MQL5 las prioridades de las operaciones corresponden exactamente a las prioridades adoptadas en C++

Gracias. Creo que hemos terminado aquí. Estamos esperando cinco.

 
TheXpert писал(а) >>

De la simetría de las operaciones. Y la simetría de las operaciones se deduce directamente de las fórmulas asignadas.

Una de las operaciones simétricas no puede tener prioridad sobre la otra.

Andrew, no discuto que las operaciones sean simétricas. Pero, ¿cómo se deduce la igualdad de prioridades de su simetría? Ya te he dado una expresión cuyo resultado es indefinido. Cambia dependiendo de cómo abramos los paréntesis.

¿Qué es la prioridad? Es una forma de interpretar una expresión indefinida a o b y c, es decir, una instrucción sobre qué parte de la misma debe evaluarse primero. De hecho, esta forma establece la prioridad relativa de las operaciones de conjunción y disyunción. En C, si no hay información adicional, los paréntesis implícitos que definen el orden de los cálculos deben ponerse así: a o (b y c), y en MQL4 - (a o b) y c. Los resultados serán diferentes.

Sospecho que, a diferencia de la aritmética con las operaciones habituales de suma y multiplicación, en el álgebra booleana pura simplemente no hay una interpretación inequívoca de la expresión anterior, y por tanto no hay prioridad de operaciones por defecto. La prioridad sólo aparece en los lenguajes de programación. Pero podría estar equivocado.

P.D. Ya está, ya te has contestado a ti mismo.

 
Mathemat >> :

Sospecho que, a diferencia de la aritmética con las operaciones habituales de suma y multiplicación, en el álgebra booleana pura simplemente no hay una interpretación inequívoca de la expresión anterior, y por tanto no hay prioridad de operaciones por defecto. La prioridad sólo aparece en los lenguajes de programación. Pero podría estar equivocado.

Eso es lo que quería decir. Así que, en mi opinión, se puede especificar cualquier orden en la lengua, y no es en absoluto un error. El único problema es el carácter común de la solución.

 
Mathemat >> :
....

La prioridad sólo aparece en los lenguajes de programación. Pero podría estar equivocado.

No sólo, en la mayoría de los libros de texto sobre el álgebra de la lógica la prioridad está definida también, es decir, la multiplicación lógica tiene una mayor prioridad que la adición lógica, esto fue definitivamente enseñado por mí mismo, se explota intensamente cuando se deriva una NF (DNF) sin una tabla de verdad, analíticamente

 
stringo писал(а) >>

Ya respondí a esta pregunta una vez. Es algo así: "Sí, lo que pasa es que la prioridad de las operaciones en MQL4 es diferente de la prioridad de las operaciones adoptadas en C. Por algunas razones históricas. Vino de MQL II. Pero como no se ha notado inmediatamente y ya se han escrito muchos programas, no vamos a cambiar la prioridad de las operaciones, porque tal cambio provocaría un cambio inesperado en el funcionamiento de varios programas.

En MQL5 las prioridades de las operaciones corresponden exactamente a las prioridades adoptadas en C++.

Eso es genial. ¿Cómo es la compatibilidad con otros idiomas en el 5? El completo, no a través de DLL.

 
Estoy de acuerdo, Galaxia, en que la multiplicación en los libros de texto tiene implícitamente (por defecto) la máxima prioridad sobre la suma. Pero no hay ningún reflejo en la sintaxis para tal hecho. Es sólo una convención adoptada para interpretar las expresiones abreviadas que no tienen paréntesis.
 
stringo писал(а) >>

Ya respondí a esta pregunta una vez. Es algo así: "Sí, lo que pasa es que la prioridad de las operaciones en MQL4 es diferente de la prioridad de las operaciones adoptadas en C. Por algunas razones históricas. Vino de MQL II. Pero como no se ha notado inmediatamente y ya se han escrito muchos programas, no vamos a cambiar la prioridad de las operaciones, porque tal cambio provocaría un cambio inesperado en el funcionamiento de varios programas.

En MQL5 las prioridades de las operaciones corresponden exactamente a las prioridades adoptadas en C++

Buena respuesta. Estoy completamente de acuerdo con esta pregunta. Es una decisión responsable.

 
Galaxy >> :

No sólo, en la mayoría de los libros de texto sobre álgebra de la lógica también se define la prioridad, es decir, la multiplicación lógica tiene una mayor prioridad que la adición lógica, esto es exactamente lo que me enseñaron, se explota intensamente cuando se deriva DNF (DNF) sin una tabla de verdad, analíticamente

Sí, en efecto. Mis disculpas. Pero no está bien.

 
Mathemat >>:
Я готов согласиться, Galaxy, что умножение в учебниках неявно (по умолчанию) имеет высший приоритет по отношению к сложению. Но никакого отражения в синтаксисе для такого факта нет. Это просто соглашение, принятое для интерпретации сокращенных выражений, в которых нет скобок.

Retículas booleanas, filtros, ideales, anillos... Sin embargo, el nombre de conjunción no se llama multiplicación lógica a la luz del día: hay varias interpretaciones directas

1. Si tomamos un anillo de deducciones módulo dos, es decir (0,1 +,*), entonces la tabla de multiplicación corresponde exactamente a la tabla de verdad para la conjunción y, en consecuencia, la tabla de adición de este anillo - a la tabla de diferencia simétrica booleana o excluyendo "o" (me equivoqué y corregí).es decir, tenemos la aritmética binaria, un caso especial de la aritmética habitual, donde la multiplicación es superior a la suma, es decir, la conjunción es superior a la diferencia simétrica y, por tanto, obviamente, a la disyunción.

2. En el álgebra booleana 1 es un elemento neutro para la conjunción, a 0 para la disyunción : 1 && a = a, 0 && a = 0; 1 || a = 1, 0 || a = a ;

3. Los filtros (construidos por intersección) siempre contienen 1, los ideales (construidos por unión) contienen 0, aunque filtro e ideal son duales.

Razón de la queja: