책 내용 질문하기
126페이지 36번
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
126
조회수
534
작성일
2019-03-26
작성자
탈퇴*원
첨부파일
while문 질문인데요 i가 1일때 {}안의 문장들을 실행하면 다음 i=3일때를 실행합니다 이 때 hap += i 에서 hap은 0이고 i는 3이어야 하는거 아닌가요? 디버깅 보니까 hap이 1이 나오더라구요
답변
2019-03-28 09:42:04

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

 

코드의 순서대로 hap값을 추적해보시기 바랍니다.

 

1. int i = 1, hap = 0; 

2. while(i <= 6){

3.    hap += i;

4.    i += 2;

5. }

 

1. i=1, hap=0

2. 참

3. hap=1

4. i=3

2. 참

3. hap=4

 

위의 순서대로 진행됩니다.

회전 수로 묶어본다면,

 

1. i=1, hap=0 

<1회전>

2. 참

3. hap=1

4. i=3

<2회전>

2. 참

3. hap=4

4. i=5

 

이렇게 되겠죠.

 

또한 이후 디버깅표를 보실 때 참고하시기 바랍니다.

 

일반적으로 디버깅표는 변수가 변하는 값을 순서대로 적어서 기록합니다.

단순히 순서도 또는 코드에서 각 변수들의 값이 변할 때마다 값을 적는 것에 불과하기 때문에, 반복문의 한 회전 내에서 하나의 변수가 여러 번 변화하는 경우 특정 변수의 행만 길어지는 경우도 존재합니다.

, 단순한 변수들의 변화값의 나열이기 때문에 열을 맞춰보는 것은 대조할 때 혼란을 줄 수 있습니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-03-28 09:42:04

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

     

    코드의 순서대로 hap값을 추적해보시기 바랍니다.

     

    1. int i = 1, hap = 0; 

    2. while(i <= 6){

    3.    hap += i;

    4.    i += 2;

    5. }

     

    1. i=1, hap=0

    2. 참

    3. hap=1

    4. i=3

    2. 참

    3. hap=4

     

    위의 순서대로 진행됩니다.

    회전 수로 묶어본다면,

     

    1. i=1, hap=0 

    <1회전>

    2. 참

    3. hap=1

    4. i=3

    <2회전>

    2. 참

    3. hap=4

    4. i=5

     

    이렇게 되겠죠.

     

    또한 이후 디버깅표를 보실 때 참고하시기 바랍니다.

     

    일반적으로 디버깅표는 변수가 변하는 값을 순서대로 적어서 기록합니다.

    단순히 순서도 또는 코드에서 각 변수들의 값이 변할 때마다 값을 적는 것에 불과하기 때문에, 반복문의 한 회전 내에서 하나의 변수가 여러 번 변화하는 경우 특정 변수의 행만 길어지는 경우도 존재합니다.

    , 단순한 변수들의 변화값의 나열이기 때문에 열을 맞춰보는 것은 대조할 때 혼란을 줄 수 있습니다.

     

    행복한 하루되세요 :)

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