책 내용 질문하기
부록책 46페이지
도서
2019 시나공 정보처리기능사 실기
페이지
46
조회수
230
작성일
2019-09-04
작성자
탈퇴*원
첨부파일

이 알고리즘에서 i=0으로 하고

밑에 1번 보기에는 i+1 % 4=0이라는 조건문으로 되어있는데

 

밑으로 순서도를 따라가다 보면 i는 1이 되어서 no로 빠져 k에 나머지로 A()에 있는 123456789 나머지값을 마지막수부터 S(1)에 차례로 넣는 과정을 한후 i=i+1을 해줌으로

i는 2가 됩니다.

 

그후 다시 돌아가서 1번보기인 i+1을 하면 2+1 즉 3 %4=0의 조건문이 되는데 이거 문제가 잘못된거 아닌가요?

 

2번째 자리인 2%4를  no로 빠지고 똑같이 S(2) 값에 2번째 K값을 넣어야하는데 3으로 넘어가잖아요 

 

위에 i=1로 초기선언 하고 1번의 보기 답은 i가 맞지 않나요??

아니면 맨밑에 i=i+1을 없애야 정상계산이 되지 않나요?

답변
2019-09-05 10:16:13

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

 

중간에 i가 1이 되는 지점이 어딘지 이해할 수 없습니다.

 


 

위 이미지를 참고하면서 봐주세요.

 

1. k=0, i=0 입니다.

2. a[10] 배열에 a[0]=0, a[1]=1.... a[9]=9 까지 저장됩니다.

3. m은 1234가 입력되었다고 가정합니다.

4. 1234=0 이 되므로 No로 빠집니다.

5. i+1은 1이고, 2%4는 2입니다. 즉, 2=0은 no이므로 8번으로 갑니다.

(여기서 i의 값은 변화하지 않습니다. 마름모는 조건문일뿐, 사각형에서 수를 대입하는 i=i+1과 다릅니다.)

8. k=1234%10 이 되므로, k에는 4가 저장됩니다.

9. s[0]=a[4]가 되므로 s[0]에는 4가 저장됩니다.

10. m=1234/10 이므로, m=123이 됩니다.

(<처리조건>에서 나누기는 정수만을 구한다고 했으니 소수점은 버림처리합니다.)

11. i에 1을 더해 i=1이 됩니다.

 

이 과정을 4~11까지 2회 더 반복하게 되면

i는 3이 되고, m은 1이 되며, s[0]=4, s[1]=3, s[2]=2가 저장된 상태가 됩니다.

이제 4번째(4~11을 3회 수행한 다음) 수행을 위해 4번부터 시작하게 되면,

 

4. 1=0 이 거짓이므로 No로

5. i+1은 4이고, 4%4는 0이므로 0=0이되어 Yes로 갑니다.

6. s[3]에는 ","가 저장되고, 

7. i에는 1이 더해집니다. i=4

8. k=1%10이 되어, k에는 1이 저장됩니다.

9. s[4]=a[1]이 되어 s[4]=1이 되고,

10. m은 1/10이 저장되어 m=0이 되고,

11. i=5가 됩니다.

 

5회째

4. m=0이 되므로 Yes로 넘어가 출력을 진행하게 되겠네요.

 

위 과정을 살펴보시고 이해되지 않는 부분을 구체적으로 질문해주세요.

 

행복한 하루되세요 :)

  • 관리자
    2019-09-05 10:16:13

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

     

    중간에 i가 1이 되는 지점이 어딘지 이해할 수 없습니다.

     


     

    위 이미지를 참고하면서 봐주세요.

     

    1. k=0, i=0 입니다.

    2. a[10] 배열에 a[0]=0, a[1]=1.... a[9]=9 까지 저장됩니다.

    3. m은 1234가 입력되었다고 가정합니다.

    4. 1234=0 이 되므로 No로 빠집니다.

    5. i+1은 1이고, 2%4는 2입니다. 즉, 2=0은 no이므로 8번으로 갑니다.

    (여기서 i의 값은 변화하지 않습니다. 마름모는 조건문일뿐, 사각형에서 수를 대입하는 i=i+1과 다릅니다.)

    8. k=1234%10 이 되므로, k에는 4가 저장됩니다.

    9. s[0]=a[4]가 되므로 s[0]에는 4가 저장됩니다.

    10. m=1234/10 이므로, m=123이 됩니다.

    (<처리조건>에서 나누기는 정수만을 구한다고 했으니 소수점은 버림처리합니다.)

    11. i에 1을 더해 i=1이 됩니다.

     

    이 과정을 4~11까지 2회 더 반복하게 되면

    i는 3이 되고, m은 1이 되며, s[0]=4, s[1]=3, s[2]=2가 저장된 상태가 됩니다.

    이제 4번째(4~11을 3회 수행한 다음) 수행을 위해 4번부터 시작하게 되면,

     

    4. 1=0 이 거짓이므로 No로

    5. i+1은 4이고, 4%4는 0이므로 0=0이되어 Yes로 갑니다.

    6. s[3]에는 ","가 저장되고, 

    7. i에는 1이 더해집니다. i=4

    8. k=1%10이 되어, k에는 1이 저장됩니다.

    9. s[4]=a[1]이 되어 s[4]=1이 되고,

    10. m은 1/10이 저장되어 m=0이 되고,

    11. i=5가 됩니다.

     

    5회째

    4. m=0이 되므로 Yes로 넘어가 출력을 진행하게 되겠네요.

     

    위 과정을 살펴보시고 이해되지 않는 부분을 구체적으로 질문해주세요.

     

    행복한 하루되세요 :)

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