책 내용 질문하기
115쪽 8번, 122쪽 26번 질문
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
115,122
조회수
160
작성일
2019-05-22
작성자
탈퇴*원
첨부파일

1. 115쪽 8번

float a 123456789.0e-5f의 %f 출력에서, 1234.56789가 아닌 1234.567871이 되는 이유가 궁금합니다.

 

2. 122쪽 26번

break 문을 통한 탈출이라는 점을 감안 했을 때 while 조건에 true가 들어가는 게 적절한 것 같지만,

'i<100' 이라는  조건을  썼을 경우 오답이 되는지 궁금합니다.

답변
2019-05-23 10:32:23

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

 

[1]

말씀하신대로 본래 %f로 출력하면 1234.567890으로 표시되어야 하는데, 지수를 실수로 표현할 때 부족한 자리수 변환 시 정규화 과정의 오차로 인해 예상과 다른 값이 표시됩니다.

 

이로 인해 예상과 다른 결과가 표시되도록 자리수가 부족한 표현은 시험에 출제되지 않을 것으로 예상됩니다. 그러니 적용 원리에 맞는 형태만 파악해 두세요.

 

 

[2]

이 경우는 오답이라고 확답드리기 어렵습니다.

(채점 기준이 공개되고 있지 않기 때문에)

 

실제 문제의 목적인 100까지의 합이 결과로 나오지만, 출제자의 의도와는 다른 답을 도출하였기 때문에 명확히 정답이라고 말씀드리기 어렵습니다.

 

말씀하신 것처럼 정답으로 적으신 반복 수행을 100까지 제한하는 조건은 이미 if~break로 언급하고 있기 때문에 가능한 true로 쓰는 것이 정답에 더 근접한 답변입니다. 

 

 

행복한 하루되세요 :)

  • 관리자
    2019-05-23 10:32:23

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

     

    [1]

    말씀하신대로 본래 %f로 출력하면 1234.567890으로 표시되어야 하는데, 지수를 실수로 표현할 때 부족한 자리수 변환 시 정규화 과정의 오차로 인해 예상과 다른 값이 표시됩니다.

     

    이로 인해 예상과 다른 결과가 표시되도록 자리수가 부족한 표현은 시험에 출제되지 않을 것으로 예상됩니다. 그러니 적용 원리에 맞는 형태만 파악해 두세요.

     

     

    [2]

    이 경우는 오답이라고 확답드리기 어렵습니다.

    (채점 기준이 공개되고 있지 않기 때문에)

     

    실제 문제의 목적인 100까지의 합이 결과로 나오지만, 출제자의 의도와는 다른 답을 도출하였기 때문에 명확히 정답이라고 말씀드리기 어렵습니다.

     

    말씀하신 것처럼 정답으로 적으신 반복 수행을 100까지 제한하는 조건은 이미 if~break로 언급하고 있기 때문에 가능한 true로 쓰는 것이 정답에 더 근접한 답변입니다. 

     

     

    행복한 하루되세요 :)

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