-1

이 여러분 모두에게 매우 흥미로운 질문이 될 수도 있지만 나는 답을 알고 궁금 : 순수 수학의 관점에서 i의 최종 값 무슨 무슨 수학 문장과 프로그래밍 문장의 차이점은 무엇입니까?

i=10 
i=i+1 
i=i+1 
i=i+1 
i=? 

이의 마지막 값이됩니다 어떤 프로그래밍 언어로든 i. 프로그래밍 방식에서만 생각하고 있다고 생각합니다. 프로그래밍 언어로 알고있는 값은 13이지만 수학적 값에 대해서는 혼란 스럽습니다.

그래서 전문가들은 순수한 수학적 문장과 프로그래밍 문장 사이에 차이가 있는지 알려주겠습니다. 마지막 줄에는 수학에서 i의 값은 무엇이 될까요?

+0

수학은 추론의 방법이며 특정 표기법이나 필드가 아닙니다. 올바른 방법을 사용하면 코드는 수학입니다. 당신은 프로그래밍과 수학을 비교할 수없고, 프로그래밍과 명확하게 정의 된 수학 분과만을 대조 할 수 있습니다. 당신은 하나의 이름을 짓지 않았으므로 당신의 질문은 말이되지 않습니다. –

+0

모든 프로그래밍 언어가 할당에'= '을 사용하는 것은 아닙니다. 예를 들어, Pascal은 비교를 위해'='를 사용하고 할당을 위해서': ='를 사용합니다. – svick

답변

2

i=10
i=i+1
i=i+1
i=i+1

,

A=BB의 값을 A에 할당하지 않습니다. 대신 신원을 표현합니다. 표현 i=i+1은 수학적으로 의미가 없습니다. 단, 부울 대수는 0 + 0 = 0이고 0 + 1 = 1 + 0 = 1 + 1 = 1입니다. 하지만 초기 신원은 i=10이 아닙니다.

수식 은 하스켈 (Haskell)과 같이 수학에 가장 근접한 언어에서는 불법입니다. 객체는 Haskell과 다른 순수 함수형 언어에서는 일반적으로 불변이다.

1

일반적으로 변경되는 내용은 의미보다 많은 표기법입니다.

=을 쓸 때 변수 지정이 의미합니다. 내가 종이에 적힌 그 상징을 읽으려면, 나는 그것을 보통의 C와 비슷한 언어로 ==으로 취급하는 경향이있다. 과제는 수학의 일부 분야에서 화살표가 왼쪽으로 쓰여지며, 어떤 분야에서는 i <- i + 1과 같으며, 그 개념은 다른 어떤 분야에서는 전혀 의미가 없을 것입니다.

임의의 수학 계산서 인 것처럼 코드 줄을 읽으면 같은 방정식을 여러 번 쓰고 사실을 유도 할 수 있으며 (내가 i == i+1을 읽었을 때부터) 모듈로 1을 작동하지만 그 중 i = ? = 10 = 0, 즉,이 모든 기호는 0의 모듈로 1의 동일한 값을가집니다.

역으로 말하면, "코드가 무엇인지"를 이해한다면 "쓴 전형적인 수학"을 표현할 수 있습니다.

해결 I, I = 1 + (1+ (1 + (10)))

조금 사소한 것입니다. 필자가 이와 같이 쓰는 이유는 동일한 문제 내에서 다른 변수에 대해 동일한 변수를 사용하는 것이 일반적이지 않기 때문입니다. 나는 또한 다른 이름을 사용할 수 있습니다

, 난을 해결 곳 i=1+j, j=1+k, k=1+mm=10

+0

"영향"? 그게 무슨 뜻 이죠? "과제"를 의미합니까? – svick

+0

잘 찾아낸 @svick. – Cimbali

관련 문제