本当に素晴らしい出来栄えです!!! - ページ 6

 
Reshetov писал(а)>>

かつてクライヴ・シンクレアは、安価なパーソナルコンピュータ「ZX-Spectrum」を開発した。最初のバージョンが大量に販売された後、開発者がROMに大量のバグを持っていることが判明したのです。そこで、以前のバージョンと完全に互換性を持たせるために、バグを修正するのではなく、文書化するという決断をしたのです。なぜなら、そのバグは後に、まさにこのコンピュータのソフトウェアをクラッキングから守るために使われたからだ。


このスレッドに書かれているバグは、Expert Advisorの保護、つまり有効期限のチェックなど、ロジック的に不正な条件を挿入するためにも保持・利用できると考えています。そして、逆コンパイルする人は発狂してください。

このエラーが議論されることで、MQL5の開発者がこのエラーを修正する動機付けになることを期待しています。いずれにせよ、すべてのプログラムをMQL5で書き直さなければならない。

 
nen >> :

このエラーについて議論することで、MQL5の開発者がこのエラーを修正する気になることを期待します。いずれにせよ、すべてのプログラムをMQL5で書き直さなければならない。

これが誤りであることの証明、ぜひお願いします。

実は逆な発言。


ブール代数の基本法則

2つのブール代数式は、割り当てられた関数が等しい(すなわち、引数の値のすべてのセットで同じ値を取る)場合、等価である。以下に、ブール代数の公式の同一変換を可能にするブール代数の基本法則を示す(古典算術の法則と似ていることに注意)。

  1. 二重否定の法則:not x = x
  2. は、可換性の法則(引数の並べ替えによって結果が変わることはない)。
    x 1 or x 2 = x 2 or x 1
    x 1 and x 2 = x 2 and x 1

  3. 連想の法則(計算の順序)
    x 1 or (x 2 or x 3 ) = (x 1 or x 2 ) or x 3
    x 1 and (x 2 and x 3 ) = (x 1 and x 2 ) and x 3

  4. 分配性の法則(括弧の開き)。
    x 1 or (x 2 and x 3 ) = (x 1 or x 2 ) and (x 1 or x 3 )
    x 1 and (x 2 or x 3 ) = (x 1 and x 2 ) or (x 1 and x 3 )
  5. ...

このことから、ブール代数の観点からは、orとandの演算は同じ優先順位であることがわかる。

 
間違いではありません。ファッキン・ミスです。
 
TheXpert писал(а)>>

分配法則(開き括弧):
x 1 or (x 2 and x 3 ) = (x 1 or x 2 ) and (x 1 or x 3 )
x 1 and (x 2 or x 3 ) = (x 1 and x 2 ) or (x 1 and x 3 )

ブール代数の 観点からは、演算とandは同じ優先順位 であることがわかる。

猫なで声にならないように。あなたの例は、議論の発端となった例とは異なります。よく見てください。

 
keekkenen писал(а)>>

実は、これはプログラマーのテーマではなく、各言語の仕様が先にあって、どこかに他の規格があっても関係ないのですが......。

で、単一規格なんて夢物語ですよ。

これが最も適切なアイデアだと思います。

各言語にはそれぞれの規格があります。例えば、C++とPascalでは、整数の計算ルールが異なります。インデックスには、0から始まる言語もあれば、1から始まる言語もあります。全部は全然関係ないと思います。

重要なのは、自然の法則、つまり人間の手に負えない法則を誤って解釈していることだ。そして、人間が作ったルールや法律は、その作成者の特権です。 この場合、法律が公布されることだけが重要であり、この場合、ルールが公表されることになる。

応用分野に集中しよう:)

 

皆さん、このスレッドの2ページ目に、「優先順位と操作 順序」という文書へのリンクと引用を示しました。もう一度、凝縮してお伝えします。

注意: MQL4での操作の優先順位は、C言語での優先順位と若干異なります。


したがって、バグと言うのは正しくない。

 

ザドルノフのユーモア「2+2×2は何か」を思い出します。優先順位をめぐる宗教論争をよく表している。あと、一般的にヒゲの話題は、新しいスレッドを作るのではなく、サイト内検索〜を使えばよかったのでは?

追伸:え、ムルフィギが 敵って、なんでパクを 嵌めたんだ・・・。

 
Mathemat писал(а)>>

トピックにヒゲがあるんだから、新しいスレッド作るよりサイト内検索使えばよかったのにね。

今後も関連性の高いテーマです。開発者も気に入っているようです。

次の「新米」プログラマーは、このテーマに頭をぶつけるだろう...。そして、すべてが繰り返されるのです(ヒーヒー)。

そして、それは無から有を生み出すものではありません。

開発者は、自分なりの方法で全員を再教育することにしたのですが......。

永遠のテーマになりそうだ...。相手が飽きるまで...。つらぬきとおす

 
Mathemat писал(а)>>

優先順位をめぐる宗教的な議論

斜め上の製品の伝統がここにある、手はそれを構築する%から成長するが、誰もが他がないので黙って...またはありますが、それはしない方が良いでしょう))。

..

簡単な例ですが、if()を 使うと、&&と一連の条件>/</!=を組み合わせたときにバグが出ることがよくありますが、これは非常に不思議なことです。

Comment() チェーンをコピーして確認します - 1, 1, 1, etc - すべてOKですが、if() が「機能」しないので、「階段」を作ります if() { if() { ...。}}}

すべてが動作します...私は思うメタコンパイラの不具合、...と何、開発者は、彼らがbrowbeatenと証明されると思いますか...ヘクタール

 
Rosh писал(а)>>

皆さん、このスレッドの2ページ目に、「優先順位と操作 順序」という文書へのリンクと引用を示しました。もう一度、凝縮してお伝えします。

注: MQL4での操作の優先順位はC言語と若干異なります。

したがって、バグと言うのは正しくない。

まあ、そうであるならば、コンパイラのバグではなく、開発者の心のバグを語るべきだというのは、2ページ目でなんとなく納得したのですが。悪気はないんです、むしろ面白がってこのスレッドを作ったんです。

今ひとつ理解できないのは、このことです。

MQLコンパイラは何をベースに開発されているのですか?普通の言語で開発されたものであれば、掛け算と足し算の演算の優先順位が同じであることにプログラマーはクラクラしたに違いない。どうして見逃したのだろう?みんな本当に好きなところにカッコをつけて、そうでないところにカッコをつけないの?ところで、あまりにも多くの括弧は、コードを明確にする。また、プログラマが2+3*4のような算術演算を書くときは、2+(3*4)とも書きますし、C++コンパイラにバグが入り込んで、一つの式に100個の括弧がネストされても手数で数えます:)