정말 놀라운 결과입니다! - 페이지 6

 
Reshetov писал(а) >>

한때 Clive Sinclair는 저렴한 개인용 컴퓨터 ZX-Spectrum을 개발했습니다. 첫 번째 버전이 대량으로 매진된 후 개발자가 ROM에 엄청난 양의 버그를 심었다는 것이 밝혀졌습니다. Duc는 많은 컴퓨터가 이미 분산되어 있으므로 적절한 결정을 내렸고 이전 버전과의 완전한 호환성을 위해 오류를 편집하지 말고 문서화하십시오. 그리고 그 결정은 옳은 것으로 판명되었습니다. 왜냐하면. 버그는 이후 해킹으로부터 바로 이 컴퓨터의 소프트웨어를 보호하기 위해 사용되기 시작했습니다.


이 스레드에 설명된 버그는 남겨두고 조언자를 보호하는 데 사용할 수도 있다고 생각합니다. 예를 들어 만료 날짜를 확인하기 위해 논리적으로 잘못된 조건을 삽입합니다. 그리고 디컴파일하는 사람들이 지붕을 한쪽으로 옮깁니다.

이 오류에 대한 논의가 MQL5 개발자가 이 오류를 수정하도록 영감을 주기를 바랍니다. 마찬가지로 MQL5의 모든 프로그램을 다시 작성해야 합니다.

 
nen >> :

이 오류에 대한 논의가 MQL5 개발자가 이 오류를 수정하도록 영감을 주기를 바랍니다. 마찬가지로 MQL5의 모든 프로그램을 다시 작성해야 합니다.

이것이 실수라는 증거, 스튜디오에서!

반대 진술:


부울 대수의 기본 법칙

두 개의 부울 대수 공식은 관련 함수가 동일하면(즉, 모든 인수 값 집합에서 동일한 값을 취하는 경우) 동일합니다(같음, 동등). 다음은 부울 대수 공식의 동일한 변환을 허용하는 부울 대수의 기본 법칙입니다(고전 산술의 법칙과 얼마나 유사한지 주목):

  1. 이중 부정의 법칙: not x = x
  2. 가환성의 법칙(결과는 인수의 재배열로 인해 변경되지 않음):
    x 1 또는 x 2 = x 2 또는 x 1
    x 1 및 x 2 = x 2 및 x 1

  3. 결합 법칙(계산 순서):
    x 1 또는 (x 2 또는 x 3 ) = (x 1 또는 x 2 ) 또는 x 3
    x 1 및 (x 2 및 x 3 ) = (x 1 및 x 2 ) 및 x 3

  4. 분포 법칙(괄호 여는 것):
    x 1 또는 (x 2 및 x 3 ) = (x 1 또는 x 2 ) 및 (x 1 또는 x 3 )
    x 1 및 (x 2 또는 x 3 ) = (x 1 및 x 2 ) 또는 (x 1 및 x 3 )
  5. ...

따라서 부울 대수의 관점에서 연산 또는 및 및는 동일한 우선 순위를 갖습니다.

 
그것은 실수가 아니다. %#%ka 아래에 있습니다.
 
TheXpert писал(а) >>

분포 법칙(대괄호 여는):
x 1 또는 (x 2 및 x 3 ) = (x 1 또는 x 2 ) 및 (x 1 또는 x 3 )
x 1 및 (x 2 또는 x 3 ) = (x 1 및 x 2 ) 또는 (x 1 및 x 3 )

따라서 부울 대수의 관점에서 연산 또는 및 및는 동일한 우선 순위를 갖습니다.

궤변은 필요 없습니다. 귀하의 예는 토론을 시작한 것과 다릅니다. 자세히 살펴보세요.

 
keekkenen писал(а) >>

사실 프로그래머의 입장에서 이것은 논의의 대상이 아닙니다. 왜냐하면 각 언어의 사양이 먼저이고 어딘가에 다른 표준이 있다는 것은 전혀 중요하지 않기 때문입니다.

그리고 하나의 표준은 헛된 꿈입니다.

제 생각에는 이것이 가장 합리적인 생각입니다.

각 언어에는 고유한 표준이 있습니다. 예를 들어, C++와 Pascal은 정수 계산에 대해 서로 다른 규칙을 가지고 있습니다. 일부 언어에서는 인덱스가 0부터 시작하고 다른 언어에서는 1부터 시작합니다. 제 생각에는 이것은 모두 완전히 중요하지 않습니다.

중요한 것은 자연법칙에 대한 잘못된 해석입니다. 인간이 통제할 수 없는 것들. 그리고 사람들이 만든 규칙과 법은 그것을 만든 사람의 특권입니다. 이 경우 법률을 발표하는 것이 중요합니다. 이 경우 규칙이 게시됩니다.

적용분야에 더 집중해보자.. :)

 

여러분, 이 스레드의 두 번째 페이지에서 문서의 링크와 인용문을 제공했습니다. 우선 순위 및 작업 순서 . 간단히 말씀드리면 다음과 같습니다.

주의: MQL4 언어에서 작업 실행의 우선순위는 C 언어에서 허용되는 우선순위와 다소 다릅니다.


따라서 버그의 존재에 대해 이야기하는 것은 옳지 않습니다.

 

나는 Zadornov의 유머러스한 "2 더하기 2 곱하기 2"를 기억합니다. 우선 순위에 대한 종교적 논쟁의 좋은 예입니다. 일반적으로 테마는 수염이 있는 것이므로 새 지점을 만드는 대신 사이트에서 검색을 사용할 수 있습니다.

PS Ehh, 적 MuruFigi , 그리고 Pak 이 설정한 이유는 ...

 
Mathemat писал(а) >>

일반적으로 테마는 수염이 있는 것이므로 새 지점을 만드는 대신 사이트에서 검색을 사용할 수 있습니다.

주제는 계속해서 관련이 있을 것입니다. 개발자들이 좋아하는 것 같습니다.

또 다른 "새로운" 프로그래머가 이 주제에 대해 머리를 맞대고 ... 그리고 모든 것이 반복될 것입니다(히히)

그리고 그것은 얇은 공기에서 나오지 않습니다.

개발자는 모든 사람을 자신의 방식으로 재교육하기로 결정했습니다 ...

화제는 영원할꺼야.. 전선의 반대편이 지칠때까지....지속적으로

 
Mathemat писал(а) >>

우선 순위에 대한 종교 분쟁

여기에서 매우 관례적입니다-손을 조각 한 비뚤어진 비스듬한 제품은 % 성장하지만 다른 사람이 없기 때문에 모두가 침묵합니다 .. 또는 있기는하지만 그렇지 않은 경우 더 좋을 것입니다))

..

"자체적으로" 간단한 예는 if() 를 사용할 때 종종 잼이 나옵니다 - && 와 일련의 조건 >/</!= 을 결합하면 매우 이상합니다.

1, 1, 1, 1 등 보기를 위해 Comment() 체인을 복사합니다. 모든 것이 정상이지만 if() 가 "작동"하지 않으면 "사다리"를 만듭니다. if() { if() { if( ) { ... } }}

다 잘 되네요.. 메타컴파일러 글리치 .. 그래서 뭐, 개발자들이 이마를 치고 증명할 거라 생각합니다 .. 헤헤

 
Rosh писал(а) >>

여러분, 이 스레드의 두 번째 페이지에서 문서의 링크와 인용문을 제공했습니다. 우선 순위 및 작업 순서 . 간단히 말씀드리면 다음과 같습니다.

주의: MQL4 언어에서 작업 실행의 우선순위는 C 언어에서 허용되는 우선순위와 다소 다릅니다.

따라서 버그의 존재에 대해 이야기하는 것은 옳지 않습니다.

글쎄요, 나는 두 번째 페이지에서 그런 경우 컴파일러의 버그가 아니라 개발자 두뇌의 버그에 대해 이야기해야 한다는 데 동의했습니다. 실례가 되지 않습니다. 저는 이 주제를 더 웃기기 위해 만들었습니다.

지금 이해가 안되는 부분이 있습니다.

MQL 컴파일러는 무엇을 기반으로 합니까? 결국 일반 언어로 개발했다면 곱셈과 덧셈 연산의 우선순위가 같다는 사실에 프로그래머들은 애초에 당황했을 것이다. 그들은 어떻게 이것을 놓칠 수 있었습니까? 필요한 부분과 필요하지 않은 부분에 대괄호를 두는 것은 무엇입니까? 그런데 괄호가 많으면 코드의 가시성이 나빠집니다. 그리고 프로그래머가 2 + 3 * 4와 같은 산술 연산을 작성할 때 2 + (3 * 4)도 작성합니다. 그렇지 않으면 C++ 컴파일러에서 버그가 발생하고 하나의 괄호 안에 10000개의 대괄호가 중첩됩니다. 표현은 수동으로 계산된 행복이어야 합니다:)