책 내용 질문하기
1권 76페이지 질문
도서
2021 시나공 정보처리산업기사 실기
페이지
76
조회수
485
작성일
2021-06-08
작성자
탈퇴*원
첨부파일

i % 3을 했을때 ==1이나오면 다음을 실행할텐데

 

처음에  i가 10이 대입이 되었을때 3으로 나누면 몫은 3이고 나머지가 1이 아닌가요 ?

 

그래서  hap은

10 7 4 = 21이 되어야 된다고 생각하는데

책은 0 7 4 1 해서 출력은 12라고 되어있어서

 

1은도대체 어디서 나온건지도 궁금하고 10은 왜 안되는 건지도 궁금합니다.

 

공부방향을 잘못 잡은것인지도 ...생각이 들고 어렵네요 ㅠㅠ 

답변
2021-06-09 09:47:55

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

 

프로그래밍 코드는 원리로만 파악하면(조건과 반복만 체크) 간단하게 결과를 유추할 수 있지만,

실제로 순차적으로 변수값 변화를 추적하지(디버깅 과정) 않으면 올바른 결과를 내지 못할 때가 많습니다.

 

처음에 i가 10을 갖고 while문으로 진입 시

while문 조건을 체크하게 되고 -- 10>1은 참

i의 값을 1 감소시킵니다. -- i는 9가 됨

if문 조건을 체크하고 -- i(9)%3은 0이므로 거짓

다시 while문의 처음으로 돌아가 while문 조건을 체크하게 되죠.

 

 

마지막에 i가 2를 갖고 while문으로 진입 시

while문 조건을 체크하게 되고 -- 2>1은 참

i의 값을 1 감소시킵니다. -- i는 1이 됨

if문 조건을 체크하고 -- 1%3은 1이므로 참

hap의 i의 값 1을 누적하게 됩니다.

다시 while문의 처음으로 돌아가 while문 조건을 체크하게 되죠.

i(1) > 1은 거짓이 되므로 while문을 빠져나가게 되고, 화면에는 hap이 출력되게 됩니다.

 

행복한 하루되세요 :)

  • 관리자
    2021-06-09 09:47:55

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

     

    프로그래밍 코드는 원리로만 파악하면(조건과 반복만 체크) 간단하게 결과를 유추할 수 있지만,

    실제로 순차적으로 변수값 변화를 추적하지(디버깅 과정) 않으면 올바른 결과를 내지 못할 때가 많습니다.

     

    처음에 i가 10을 갖고 while문으로 진입 시

    while문 조건을 체크하게 되고 -- 10>1은 참

    i의 값을 1 감소시킵니다. -- i는 9가 됨

    if문 조건을 체크하고 -- i(9)%3은 0이므로 거짓

    다시 while문의 처음으로 돌아가 while문 조건을 체크하게 되죠.

     

     

    마지막에 i가 2를 갖고 while문으로 진입 시

    while문 조건을 체크하게 되고 -- 2>1은 참

    i의 값을 1 감소시킵니다. -- i는 1이 됨

    if문 조건을 체크하고 -- 1%3은 1이므로 참

    hap의 i의 값 1을 누적하게 됩니다.

    다시 while문의 처음으로 돌아가 while문 조건을 체크하게 되죠.

    i(1) > 1은 거짓이 되므로 while문을 빠져나가게 되고, 화면에는 hap이 출력되게 됩니다.

     

    행복한 하루되세요 :)

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