Un résultat vraiment étonnant ! !! - page 3

 
nen >> :
Il existe une norme et elle doit être respectée. Et si les développeurs produisent leur propre norme qui contredit la norme généralement acceptée, alors... la saleté est... des déchets.

On vous a donné un outil avec lequel travailler. Vous devriez remercier les développeurs. Si vous ne l'aimez pas, ne l'utilisez pas ! Écrire en C.

 
Dans MQL4, l'opération est
bool r1 = a>=s && a<=f && s<=f || (a>=s || a<=f) && s>f;

se passe comme ça :



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

et la norme est la suivante :



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

On vous a donné un outil avec lequel travailler. Vous devriez remercier les développeurs. Si vous ne l'aimez pas, ne l'utilisez pas ! Écrire en C.

Vous n'avez pas à réinventer la roue. Vous devez vous en tenir aux normes que tout le monde apprend à l'école.

Si chaque personne veut faire ce qu'elle veut, ça va être le bordel...

Et j'utilise l'outil fourni par les développeurs. Il n'y a pas de plaintes sur les résultats des développements...

 

Oui, bien sûr, la paresse naturelle est le moteur du progrès. Je comprends l'argument - donner un outil et l'utiliser.


Mais une chose.


L'outil est annoncé comme un langage dont la syntaxe est similaire à celle du C.


Il est dommage que la similitude soit si imperceptiblement substituée au cœur des opérations logiques.


Je mets certes des parenthèses, mais je les mets en Java et en C et je prends ces parenthèses comme elles sont écrites en Fortran et comme on me l'a appris à l'université.

 
Nous mettons des parenthèses, bien sûr, mais lorsque la multiplication est inférieure à l'addition.
Je vous souhaite "Plus de succès dans la lutte contre les péculateurs !"
 
sol >> :

Oui, bien sûr, la paresse naturelle est le moteur du progrès. Je comprends l'argument - donner un outil et l'utiliser.


Mais une chose.


L'outil est annoncé comme un langage dont la syntaxe est similaire à celle du C.


Il est dommage que la similitude soit si imperceptiblement substituée au cœur des opérations logiques.


Je mets certes des parenthèses, mais je les mets en java et en C et je prends ces parenthèses comme elles sont écrites en Fortran et comme on me l'a appris à l'université.


En fait, même les diverses implémentations de C++ ont plusieurs normes incompatibles. Et bien que Java ait une norme unique pour toutes les implémentations, il est incompatible avec la plupart des implémentations C++ à certains égards.



Par exemple :


int a = 3 ;

int b = 5 ;


b += a += b += 7 ;


Java donnera b = 20 ;

Le C++ donnera b = 27 dans la plupart des implémentations ;


Alors, ne vous gênez pas, messieurs, il n'y a pas de normes communes, mais il existe des livres de référence sur les langages de programmation et des parenthèses.

 
Dedka писал(а) >>

On vous a donné un outil avec lequel travailler. Vous devriez remercier les développeurs. Si vous ne l'aimez pas, ne l'utilisez pas ! Écrire en C.

Mais ne déversez pas votre venin ici.

Cela montre à quel point l'outil est imprécis. Cela aide les développeurs à améliorer leur produit, à éliminer les bogues, les problèmes, etc. Bien sûr, s'ils le jugent nécessaire et possible. Grâce à des articles comme celui-ci, le MQL s'améliore de construction en construction.

S.Y. De nombreux bogues ont été détectés en C également. Si vous descendez la chaîne, votre prochain conseil devrait être de les écrire directement en codes machine - tout y fonctionnera certainement )))).

 
Rosh >> :

Pour être honnête, je n'ai jamais appris les priorités des opérations logiques et bitwise. En raison d'une paresse innée, j'ai juste mis des parenthèses à tous les bons endroits.

"Il y a beaucoup de choses, ami Horace...."

Je suis tout à fait d'accord !

---

Je déteste les constructions dans lesquelles on doit patauger comme dans une forêt de conifères.

Je préfère écrire un code plus clair - c'est plus facile pour moi par la suite.

---

par exemple :

J'ai toujours préféré créer une requête SQL sophistiquée.

3 simples, d'ailleurs, car la pratique montre que cela tend à fonctionner plus rapidement

à condition que la première requête élimine autant que possible

En outre, le code devient plus clair

---

en C et MQL4 de façon similaire ! J'essaie d'écrire des constructions plus simples

et je préfère mettre des parenthèses moi-même.

 

Stop ! Qu'est-ce que cela a à voir avec les normes ou les conventions ? Il s'agit d'un domaine d'erreur totalement différent qui met toutes les mathématiques sens dessus dessous.

La base mathématique de l'électronique et de l'informatique numériques est l'algèbre de la logique (ou algèbre de Boole), dans laquelle, de manière définitive (axiomatique)

L'addition logique de "ou" (disjonction ) et la multiplication logique de "et"(conjonction).

Comment alors tous les KNF et DNF que nous avons étudiés à l'université ? Je pense que nous devons régler ce problème de toute urgence et ne pas nous mettre dans l'embarras.

 
Galaxy писал(а) >>

Qu'en est-il de tous les QNF et DNF que nous avons étudiés à l'université ?

J'ai étudié la logique pour la programmation il y a plus de 30 ans. Décryptez les abréviations de KNF et DNF.