책 내용 질문하기
1권 126쪽 46번
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
126
조회수
53
작성일
2018-09-17
작성자
탈퇴*원
첨부파일

해설 디버깅에서 j가 2일때

i는 4 [i]는 3 이고

i는 3 [i]는 3 인데 왜 여기도 3인가요

추가 질문 129쪽 52번 문제

해설 디버깅에서 a가 1일때 a%2가 1이 아닌데

디버깅에서는 왜 1로 표시되어 있나요.

답변
2018-09-18 10:22:15

안녕하세요. 길벗 수험서 운영팀입니다.

배열 numAry[i]와 numAry[j]에 각 수치를 넣어서 비교해보면 쉽게 알 수 있습니다.

디버깅표 j가 3일 때, numAry[3] = numAry[3] + numAry[4]를 수행하면서 numAry[3]에 3을 저장했기 때문입니다.

즉, j가 3일 때는

numAry[3] = numAry[3] + numAry[4]

j가 2일 때는

numAry[2] = numAry[2] + numAry[4]

numAry[2] = numAry[2] + numAry[3]

j가 1일 때는

numAry[1] = numAry[1] + numAry[4]

numAry[1] = numAry[1] + numAry[3]

numAry[1] = numAry[1] + numAry[2]

j가 0일 때는

numAry[0] = numAry[0] + numAry[4]

numAry[0] = numAry[0] + numAry[3]

numAry[0] = numAry[0] + numAry[2]

numAry[0] = numAry[0] + numAry[1]

을 수행합니다.

----------------------------------------------

추가 질문에 대한 것은 나머지 계산에 대해 잘못 알고 계신 것입니다.

%로 나머지를 구하는 나눗셈은 소수점을 구하지 않습니다. 만약 소수점을 구하게 되면 어떤 수를 나누더라도 나머지는 발생하지 않게 되죠. 3 나누기 2를 하면 1.5가 되는 것처럼 말이죠.

나머지 계산(%)에서 작은 수를 큰 수로 나눌 때, 소수점 계산을 하지 않는다면 몫은 0, 나머지는 작은 수가 됩니다. 즉, i값이 1일때, "if(i%2 == 1)"은 참이 됩니다.

행복한 하루되세요.^^

  • *
    2018-09-18 10:22:15

    안녕하세요. 길벗 수험서 운영팀입니다.

    배열 numAry[i]와 numAry[j]에 각 수치를 넣어서 비교해보면 쉽게 알 수 있습니다.

    디버깅표 j가 3일 때, numAry[3] = numAry[3] + numAry[4]를 수행하면서 numAry[3]에 3을 저장했기 때문입니다.

    즉, j가 3일 때는

    numAry[3] = numAry[3] + numAry[4]

    j가 2일 때는

    numAry[2] = numAry[2] + numAry[4]

    numAry[2] = numAry[2] + numAry[3]

    j가 1일 때는

    numAry[1] = numAry[1] + numAry[4]

    numAry[1] = numAry[1] + numAry[3]

    numAry[1] = numAry[1] + numAry[2]

    j가 0일 때는

    numAry[0] = numAry[0] + numAry[4]

    numAry[0] = numAry[0] + numAry[3]

    numAry[0] = numAry[0] + numAry[2]

    numAry[0] = numAry[0] + numAry[1]

    을 수행합니다.

    ----------------------------------------------

    추가 질문에 대한 것은 나머지 계산에 대해 잘못 알고 계신 것입니다.

    %로 나머지를 구하는 나눗셈은 소수점을 구하지 않습니다. 만약 소수점을 구하게 되면 어떤 수를 나누더라도 나머지는 발생하지 않게 되죠. 3 나누기 2를 하면 1.5가 되는 것처럼 말이죠.

    나머지 계산(%)에서 작은 수를 큰 수로 나눌 때, 소수점 계산을 하지 않는다면 몫은 0, 나머지는 작은 수가 됩니다. 즉, i값이 1일때, "if(i%2 == 1)"은 참이 됩니다.

    행복한 하루되세요.^^

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.