다음 문제를 해결하는 프로그램을 작성해 봅시다.
100에서 500 사이의 모든 정수의 합을 구합니다.
이 문제를 풀면 합계를 찾기가 어려워집니다. 예를 들어 변수 s에 더한 결과를 간단히 쓰면 다음과 같습니다.
<사업부 스타일="텍스트 정렬:센터">
s=100+101+102+103+...+500
컴퓨터가 산술식에서 줄임표를 사용하는 방법을 이해하지 못하고 100에서 500까지의 모든 숫자를 이 합계에 써야 하기 때문에 녹음 자체에 많은 시간이 걸립니다. 그리고 그러한 프로그램의 가치는 미미할 것입니다. 특히 숫자를 변경하고 다른 범위를 사용하려는 경우.
어떻게 해야 합니까?
위의 항목에 주의를 기울이면 "+"를 계속 사용합니다.
점차적으로 변수 s에 숫자를 추가할 수 있습니다. 예를 들어, 이 표기법을 사용하여
s=s+i;
우리가 여기서 한 일:
1) 오른쪽에 s+i, 표현을 넣습니다. 즉, 현재 메모리에 있는 변수 s의 값을 가져와 값을 추가합니다. 변수 i< 그것에 /strong>
2) 왼쪽에 변수의 이름을 설정합니다 s, 즉 오른쪽 계산의 전체 결과가 이 변수에 저장되므로 변수 값을 변경합니다. s.
범위에서 숫자를 어디에서 얻을 수 있나요?
우리 범위에 속하는 100에서 500까지의 숫자는 i 변수에 하나씩 들어가야 합니다. 그리고 이것은 잘 알려진 for
루프를 사용하여 수행할 수 있습니다.
예를 들면 이런 식으로
<예비>
s=0; // 처음에는 변수 s를 재설정해야 첫 번째 단계에서 숫자 100이 메모리에 있는 것이 아니라 0에 추가됩니다!
for ( i = 100; i<=500; i++) //변수 i가 1씩 증가하여 값을 100에서 500으로 변경하는 루프의 헤더
s = s + i; //변화하는 변수 i의 값을 변수 s에 점진적으로 추가하는 루프의 본문
// 결과는 변수 s에 다시 저장됩니다.
이 솔루션은 행동으로 합계를 계산하는 것과 매우 유사합니다
s = 0 + 100 = 100
s = 100 + 101 = 201
s = 201 + 102 = 303
등.