책 내용 질문하기
[2015] 정보처리기능사 모의고사 질문
도서
[2015] 정보처리기능사 실기
페이지
141
조회수
333
작성일
2015-03-24
작성자
첨부파일

4회 질문입니다.

디버깅 (알고리즘 과정) 이 궁금합니다.

제가 궁금한것은 CNT 인데요

제가 생각한것은요

141p에서 CNT가 50이 될때까지 자료를 읽어들이고,

A를 거쳐서

!42p로 이동합니다.

A 이후 CNT-1이므로 CNT의 값은 49가 되지요

그런데 섹션23의 석차구하기에서는 N(50)값 그대로 나와야된다고 알고있는데

제가 어떤부분을 착각한것인지 조언 부탁드립니다.

답변
2015-03-25 09:15:15

안녕하세요.

EOF(End Of File)의 개념을 파악하시면 이해가 쉽습니다

EOF는 파일의 끝인지를 묻는 것으로, 파일의 끝에는 EOF 라는 눈에 보이지 않는 특수한 기호가 삽입되어 있어

파일에서 자료를 읽어들이는 작업 시 EOF가 인식되면 파일의 끝이라는 의미가 됩니다. 이는 프로그램에서의 파일 처리에서 공통으로 약속된 내용입니다.

실제 자료가 50개 이면 CNT가 50이 될때까지 50개의 자료를 읽은 후 한번 더 자료를 읽게 됩니다. CNT는 51이 되죠.

그럼 51번째 읽어들이는 자료는 EOF 기호가 됩니다. 그래서 EOF 비교에서 YES가 될 때의 CNT는 50이 아니라 51이 됩니다.

그러므로 142에서 CNT=CNT-1을 하는 것은 실제 자료의 개수인 50으로 CNT를 맞추기 위한 작업입니다.

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

"
  • *
    2015-03-25 09:15:15

    안녕하세요.

    EOF(End Of File)의 개념을 파악하시면 이해가 쉽습니다

    EOF는 파일의 끝인지를 묻는 것으로, 파일의 끝에는 EOF 라는 눈에 보이지 않는 특수한 기호가 삽입되어 있어

    파일에서 자료를 읽어들이는 작업 시 EOF가 인식되면 파일의 끝이라는 의미가 됩니다. 이는 프로그램에서의 파일 처리에서 공통으로 약속된 내용입니다.

    실제 자료가 50개 이면 CNT가 50이 될때까지 50개의 자료를 읽은 후 한번 더 자료를 읽게 됩니다. CNT는 51이 되죠.

    그럼 51번째 읽어들이는 자료는 EOF 기호가 됩니다. 그래서 EOF 비교에서 YES가 될 때의 CNT는 50이 아니라 51이 됩니다.

    그러므로 142에서 CNT=CNT-1을 하는 것은 실제 자료의 개수인 50으로 CNT를 맞추기 위한 작업입니다.

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

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