책 내용 질문하기
진법변환-10진수를 임의의 진수로 변환하기
도서
[2013] 정보처리기사 실기
페이지
76
조회수
160
작성일
2013-06-26
작성자
첨부파일

플로차트 문제 4번에 대해 질문드립니다.

답이 A(E+1)으로 되어있는데, 도무지 이해가 안갑니다.

진수표시에 사용할 문자들이 배열에 0부터 들어있어서 +1을 한다는 건 이해가 되는데,

몫이 저장될 변수 'E' 가 10111 이렇게 나오잖아요.

10111은 배열에 저장될 때

0 1 2 3 4 5
1 0 1 1 1

이것처럼 되는게 맞는거죠?

그런데 10111을 A(E+1) 을 하면

1. A(1+1)= 두 번째 배열에 출력=1에 출력

2. A(0+1)= 첫 번째 배열에 출력=0에 출력?

3. A(1+1)= 두 번째 배열에 출력=1에 출력?

4. "

5. "

이렇게 되는데 그러면 10진 수 23의 값이 나오지 않게되네요...

1
0
1
1

어떻게 출력하는 건지좀 알려주세요...

답변
2013-06-27 09:39:38

안녕하세요.

76쪽 하단에 디버깅 표 부분을 확인하시면 A배열에 0부터 F까지 값이 이미 저장되어 있다는 조건이 제시됩니다.

A의 1번째 배열에는 0, 2번째 배열에는 1, .... 16번째 배열에는 F가 저장되어 있습니다.

즉 A(1) = 0, A(2) = 1, ..... A(16) = F 가 저장 되어 있는 것이죠.

그래서 변수 E를 이용해 A 배열의 값을 출력하기 때문에 A(E+1)을 합니다.

A배열에는 0부터 저장되어 있으느로 E 값이 1일 때 1을 출력하려면 A(1)이 아닌 A(2)를 지정해야 하는데 이는 실제 E값보다 +1한 위치에 저장되어 있기 때문에 E+1로 배열의 위치를 지정하는 것이죠.

위 내용을 염두에 두고 다시한번 디버깅을 수행해 보세요.

오늘도 즐거운 하루 되세요.

"
  • *
    2013-06-27 09:39:38

    안녕하세요.

    76쪽 하단에 디버깅 표 부분을 확인하시면 A배열에 0부터 F까지 값이 이미 저장되어 있다는 조건이 제시됩니다.

    A의 1번째 배열에는 0, 2번째 배열에는 1, .... 16번째 배열에는 F가 저장되어 있습니다.

    즉 A(1) = 0, A(2) = 1, ..... A(16) = F 가 저장 되어 있는 것이죠.

    그래서 변수 E를 이용해 A 배열의 값을 출력하기 때문에 A(E+1)을 합니다.

    A배열에는 0부터 저장되어 있으느로 E 값이 1일 때 1을 출력하려면 A(1)이 아닌 A(2)를 지정해야 하는데 이는 실제 E값보다 +1한 위치에 저장되어 있기 때문에 E+1로 배열의 위치를 지정하는 것이죠.

    위 내용을 염두에 두고 다시한번 디버깅을 수행해 보세요.

    오늘도 즐거운 하루 되세요.

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