책 내용 질문하기
플로차트 해석
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
197
조회수
53
작성일
2018-03-07
작성자
탈퇴*원
첨부파일

디버깅 문제에서 23을 16으로 나누니까 E가 1이되는데 플로챁트 8번부터 보면 E의 값이 1이 저장되고, 10번을 보녀 A[E+1]이면 A[2]부터 시작하는거 아닌가요? 왜 A[2]부터 출력을 하는지 모르겠습니다.

답변
2018-03-08 10:40:05

안녕하세요.

이 알로리즘은 배열에 값을 저장했다 출력하는 것이 아니라

변환된 진수의 값을 계산할 때마다 하나씩 바로 출력하는 알고리즘입니다.

A 배열은 변환된 진수의 값을 저장하는 배열이 아니라 변화된 진수의 값을 출력할 때 16진수까지 출력할 수 있도록 출력할 값들을 미리 저장해 둔 배열로

출력할 E 값이 1일 때 A[1]이 아니라 A[2]를 지정하도록 A[E+1]을 하는 이유는

A 배열에 저장된 값이 1부터가 아니라 0부터 저장되기 때문입니다.

즉 A[1]에는 0이 저장되어 있고

A[2]에는 1이 저장되어 있으므로

E가 1일 때 1을 출력하려면 A[E]가 아니라 A[E+1]로 지정해야 합니다.

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

  • *
    2018-03-08 10:40:05

    안녕하세요.

    이 알로리즘은 배열에 값을 저장했다 출력하는 것이 아니라

    변환된 진수의 값을 계산할 때마다 하나씩 바로 출력하는 알고리즘입니다.

    A 배열은 변환된 진수의 값을 저장하는 배열이 아니라 변화된 진수의 값을 출력할 때 16진수까지 출력할 수 있도록 출력할 값들을 미리 저장해 둔 배열로

    출력할 E 값이 1일 때 A[1]이 아니라 A[2]를 지정하도록 A[E+1]을 하는 이유는

    A 배열에 저장된 값이 1부터가 아니라 0부터 저장되기 때문입니다.

    즉 A[1]에는 0이 저장되어 있고

    A[2]에는 1이 저장되어 있으므로

    E가 1일 때 1을 출력하려면 A[E]가 아니라 A[E+1]로 지정해야 합니다.

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

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