Um resultado realmente incrível!!! - página 3

 
nen >> :
Há uma norma e ela deve ser obedecida. E se os desenvolvedores produzem seu próprio padrão que contradiz o padrão geralmente aceito, então... a sujeira é... lixo.

Foi-lhe dada uma ferramenta para trabalhar. Você deve agradecer aos desenvolvedores. Se você não gosta, não o use! Escreva em C.

 
Na MQL4 a operação é
bool r1 = a>=s && a<=f && s<=f || (a>=s || a<=f) && s>f;

acontece assim :



bool r1 = a>=s && a<=f && (s<=f || (a>=s || a<=f)) && s>f;

e o padrão é este:



bool r1 = (a>=s && a<=f && s<=f) || ((a>=s || a<=f) && s>f);
 
Dedka писал(а) >>

Foi-lhe dada uma ferramenta para trabalhar. Você deve agradecer aos desenvolvedores. Se você não gosta, não o use! Escreva em C.

Não é preciso reinventar a roda. É preciso manter os padrões que todos são ensinados na escola.

Se cada pessoa quiser fazer o que quiser, será uma bagunça...

E eu utilizo a ferramenta fornecida pelos desenvolvedores. Não há reclamações sobre os resultados dos desenvolvimentos...

 

Sim, é claro que a preguiça natural é o motor do progresso. Entendo o argumento - dar-lhe uma ferramenta e usá-la.


Mas uma coisa.


A ferramenta é anunciada como uma linguagem com sintaxe similar à do C.


É uma pena que a similaridade seja tão imperceptivelmente substituída no coração das operações lógicas.


Certamente coloquei parênteses, mas os coloquei em Java e C e peguei esses parênteses da forma como estão escritos na Fortran e da forma como fui ensinado na universidade.

 
Colocamos parênteses, é claro, mas quando a multiplicação é menor que a adição.
Gostaria de desejar-lhe "Mais sucesso na luta contra os peculiaristas"!
 
sol >> :

Sim, é claro que a preguiça natural é o motor do progresso. Entendo o argumento - dar-lhe uma ferramenta e usá-la.


Mas uma coisa.


A ferramenta é anunciada como uma linguagem com sintaxe similar à do C.


É uma pena que a similaridade seja tão imperceptivelmente substituída no coração das operações lógicas.


Certamente coloquei parênteses, mas os coloquei em Java e C e peguei esses parênteses da forma como estão escritos na Fortran e da forma como fui ensinado na universidade.


De fato, mesmo as várias implementações do C++ têm várias normas incompatíveis. E embora Java tenha um único padrão para todas as implementações, é incompatível com a maioria das implementações C++ em alguns aspectos.



Por exemplo:


int a = 3;

int b = 5;


b += a += b += b += 7;


Java dará b = 20;

C++ dará b = 27 na maioria das implementações;


Portanto, não devorem, cavalheiros - não há padrões comuns, há manuais e parênteses de linguagem de programação.

 
Dedka писал(а) >>

Foi-lhe dada uma ferramenta para trabalhar. Você deve agradecer aos desenvolvedores. Se você não gosta, não o use! Escreva em C.

Mas não derrame seu veneno aqui.

Mostra como a ferramenta é imprecisa. Isto ajuda os desenvolvedores a melhorar seus produtos, eliminar bugs, falhas, etc. É claro, se eles acharem necessário e possível. Graças a postes como estes, a MQL se torna melhor de construção em construção.

S.Y. Foram detectados alguns bugs também em C. Se você descer a cadeia, seu próximo conselho deve ser escrevê-los diretamente em códigos de máquina - tudo funcionará definitivamente lá ))))

 
Rosh >> :

Para ser honesto, nunca aprendi as prioridades das operações lógicas e bitwise. Devido à preguiça inata, eu simplesmente coloquei parênteses em todos os lugares certos.

"Há muita coisa, amigo Horace...."

Eu concordo plenamente!

---

Eu odeio construções que você tem que atravessar como uma floresta de coníferas.

Prefiro escrever um código mais claro - é mais fácil para mim mais tarde

---

por exemplo:

Eu sempre preferi criar uma consulta SQL extravagante

3 simples, a propósito, como a prática mostra, tende a trabalhar mais rápido

desde que a primeira consulta elimine o máximo possível

além disso, o código se torna mais claro

---

em C e MQL4 de forma semelhante! Tento escrever construções mais simples

e eu mesmo prefiro colocar parênteses.

 

O que isso tem a ver com normas ou convenções? É uma área de erro totalmente diferente que vira todas as matemáticas de cabeça para baixo.

A base matemática da eletrônica e computação digital é a álgebra da lógica (ou álgebra booleana), na qual definitivamente (axiomaticamente)

A adição lógica de "ou" (disjunção ) e a multiplicação lógica de "e"(conjunção).

Como então todas as KNFs e DNFs que estudamos na universidade? Acho que precisamos consertar isso urgentemente e não nos envergonharmos.

 
Galaxy писал(а) >>

E sobre todas as QNFs e DNFs que estudamos na universidade?

Estudou lógica para programação há mais de 30 anos. Decifrar as abreviações de KNF e DNF.

Razão: