책 내용 질문하기
응용알고리즘 모의고사질문
도서
[2012] 정보처리기사 실기
페이지
조회수
194
작성일
2012-06-22
작성자
첨부파일

p163쪽의 모의고사 4회해설을보면 동그라미8미번부분에

마지막에읽은자료는실제자료가아니므로CNT에서1을차감

한다라는말이이해가안갑니다 왜실제자료가아니라는거죠??

답변
2012-06-25 10:03:01

안녕하세요.

파일에서 자료를 읽어올때는 다음과 같은 과정을 거칩니다.

파일에 1, 2, 3 이렇게 3개의 자료가 있다면

Cnt를 증가하고 자료를 읽습니다. Cnt는 1이되고 자료 1을 읽어옵니다.

EOF, 즉 파일의 끝인지를 묻습니다. 끝이 아니니까 다시 반복

Cnt를 증가하고 자료를 읽습니다. Cnt는 2가되고 자료 2를 읽어옵니다.

EOF, 즉 파일의 끝인지를 묻습니다. 끝이 아니니까 다시 반복

Cnt를 증가하고 자료를 읽습니다. Cnt는 3이되고 자료 3을 읽어옵니다.

EOF, 즉 파일의 끝인지를 묻습니다. 현재 읽은 자료는 3이므로 자료를 읽었다는 것은 파일의 끝이 아니라는 것입니다.

사람은 파일을 직접 보고 그게 마지막 자료인지 알지만 컴퓨터는 모릅니다. 컴퓨터는 한번 더 파일을 읽어 더이상 읽을 자료가 없다고 판단되어야 그제서 자료 읽기가 완료되었다고 생각하죠. 그래서 한번 더 반복합니다.

Cnt를 증가하고 자료를 읽습니다. Cnt는 4이되고 자료가 없다는 것을 읽어옵니다.

EOF, 즉 파일의 끝인지를 묻습니다. 끝이 맞으므로 반복을 중단합니다.

자료는 3개지만 Cnt는 자료 읽는 방식에 의해 실제 자료보다 1이 더 많은 4가 되어 있습니다.

그래서 실제 자료의 개수와 같게 하기 위해 처리 전에 Cnt에서 -1을 수행하는 것입니다.

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

"
  • *
    2012-06-25 10:03:01

    안녕하세요.

    파일에서 자료를 읽어올때는 다음과 같은 과정을 거칩니다.

    파일에 1, 2, 3 이렇게 3개의 자료가 있다면

    Cnt를 증가하고 자료를 읽습니다. Cnt는 1이되고 자료 1을 읽어옵니다.

    EOF, 즉 파일의 끝인지를 묻습니다. 끝이 아니니까 다시 반복

    Cnt를 증가하고 자료를 읽습니다. Cnt는 2가되고 자료 2를 읽어옵니다.

    EOF, 즉 파일의 끝인지를 묻습니다. 끝이 아니니까 다시 반복

    Cnt를 증가하고 자료를 읽습니다. Cnt는 3이되고 자료 3을 읽어옵니다.

    EOF, 즉 파일의 끝인지를 묻습니다. 현재 읽은 자료는 3이므로 자료를 읽었다는 것은 파일의 끝이 아니라는 것입니다.

    사람은 파일을 직접 보고 그게 마지막 자료인지 알지만 컴퓨터는 모릅니다. 컴퓨터는 한번 더 파일을 읽어 더이상 읽을 자료가 없다고 판단되어야 그제서 자료 읽기가 완료되었다고 생각하죠. 그래서 한번 더 반복합니다.

    Cnt를 증가하고 자료를 읽습니다. Cnt는 4이되고 자료가 없다는 것을 읽어옵니다.

    EOF, 즉 파일의 끝인지를 묻습니다. 끝이 맞으므로 반복을 중단합니다.

    자료는 3개지만 Cnt는 자료 읽는 방식에 의해 실제 자료보다 1이 더 많은 4가 되어 있습니다.

    그래서 실제 자료의 개수와 같게 하기 위해 처리 전에 Cnt에서 -1을 수행하는 것입니다.

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

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