1권 164페이지 예상문제 4번과 5번
연산자 기호가 이해가 안갑니다.
4번은 왜 <=가 나오는지요? J<100라고 하면 안되는지요?
5번은 P<77인데....
<=기호가 왜 나오는지 그냥 <라고 하면 왜 안되는지
어떤경우에 <라고 적어야 되는지 <=라고 적어야 되는지 예를들어 설명좀 해주세요.
안녕하세요.
종료 기준 값은 비교 대상 변수의 값이 처리가 된 후 비교하는지 비교한 후 처리하는지에 따라 달라지므로 반드시 디버깅을 통해 처리 과정을 파악해야 합니다.
[문제5]를 예를 들어 설명하겠습니다.
p는 0으로 초기화된 후
do 반복문을 진입합니다. do 문은 실행을 먼저 한 후 종료 기준 값을 비교합니다.
p++에 의해 p가 1 증가하여 1이 된 후
q = 78-p;
m = q*p;
h += m;
의 처리를 수행합니다.
그런 다음 p가 77보다 작은지 비교합니다.
즉 p가 1일 처리한 후 증가합니다.
이제 문제를 파악합니다. p는 77일 때까지 처리가 수행되어야 합니다.
처리가 반복되는 과정에서 p가 1증가되어 76이 될 때를 생각해 보겠습니다.
p++에 의해 p가 76이 되었습니다.
q = 78-p; 에 의해 q는 2가 됩니다.
m = q*p; 에 의해 m은 76*2가 되고
h += m; m의 값이 h에 누적됩니다.
p가 77보다 작은지 물어봅니다.
p는 76이므로 77보다 작습니다. 반복을 한번 더 수행합니다.
p++에 의해 p가 77이 되었습니다.
q = 78-p; 에 의해 q는 1이 됩니다.
m = q*p; 에 의해 m은 77*1이 되고
h += m; m의 값이 h에 누적됩니다.
p가 77이므로 77보다 작지 않아 더이상 반복하지 않고 반복문을 벗어납니다.
만일 p<=77 이라면 p는 78까지 수행되어 문제에서 요구하는 과정보다 한 번 더 수행하여 결과가 다르게 산출됩니다.
이와 같이 처리 과정과 종료 기준 값을 비교하면서 파악한 후 적절한 종료 기준 값과 종료 기준 값에 따른 관계 연산자를 파악해야 합니다.
오늘도 즐거운 하루 되세요.
-
*2017-05-31 09:44:57
안녕하세요.
종료 기준 값은 비교 대상 변수의 값이 처리가 된 후 비교하는지 비교한 후 처리하는지에 따라 달라지므로 반드시 디버깅을 통해 처리 과정을 파악해야 합니다.
[문제5]를 예를 들어 설명하겠습니다.
p는 0으로 초기화된 후
do 반복문을 진입합니다. do 문은 실행을 먼저 한 후 종료 기준 값을 비교합니다.
p++에 의해 p가 1 증가하여 1이 된 후
q = 78-p;
m = q*p;
h += m;
의 처리를 수행합니다.
그런 다음 p가 77보다 작은지 비교합니다.
즉 p가 1일 처리한 후 증가합니다.
이제 문제를 파악합니다. p는 77일 때까지 처리가 수행되어야 합니다.
처리가 반복되는 과정에서 p가 1증가되어 76이 될 때를 생각해 보겠습니다.
p++에 의해 p가 76이 되었습니다.
q = 78-p; 에 의해 q는 2가 됩니다.
m = q*p; 에 의해 m은 76*2가 되고
h += m; m의 값이 h에 누적됩니다.
p가 77보다 작은지 물어봅니다.
p는 76이므로 77보다 작습니다. 반복을 한번 더 수행합니다.
p++에 의해 p가 77이 되었습니다.
q = 78-p; 에 의해 q는 1이 됩니다.
m = q*p; 에 의해 m은 77*1이 되고
h += m; m의 값이 h에 누적됩니다.
p가 77이므로 77보다 작지 않아 더이상 반복하지 않고 반복문을 벗어납니다.
만일 p<=77 이라면 p는 78까지 수행되어 문제에서 요구하는 과정보다 한 번 더 수행하여 결과가 다르게 산출됩니다.
이와 같이 처리 과정과 종료 기준 값을 비교하면서 파악한 후 적절한 종료 기준 값과 종료 기준 값에 따른 관계 연산자를 파악해야 합니다.
오늘도 즐거운 하루 되세요.