이 문제 정답및 해설에서 8번 명령문 cnt=cnt-1 ,마지막에 읽은 자료는 실제 자료가 아니므로 CNT 에서 1을 차감한다고 하였는 데, 이로 인해서 A 아래에서 i, J 가 cnt와 비교하는 조건절이 잘 이해가 되지 않아서, 알고리즘을 이해할 수가 없었는 데, 해설에서 마지막 읽은 자료는 실제자료가 아니어서 무시해야 한다는 것 보이 왜 이렇게 알고리즘을 작성할 수밖에 없었는지는 알겠네요.....
그런데, 이 문제와 같이 자료를 입력 받았는 데 이를 무시하도록 하여 알고리즘을 작성하는 게 정상적인 알고리즘 작성법에 위배되는 잘못된 알고리즘이 아닌가요?? 잘못된 알고리즘 작성에 의거하며 시험 문제를 작성하는 것이 적절한 문제인지 의문이 듭니다.
막약 지금과 같이 입력 조건에 비정상적(?)인 방법으로 작성되어야 한다면, 적어도 이를 처리조건이나 입력형식에서 이를 언급하는 것이 필요할 것 같다는 생각이 듭니다만.... 실제로 이런 방식으로도 실제 시험 문제에서도 출제되는지요??
안녕하세요.
프로그램 코딩할 때 외부 파일에서 자료를 읽어와서 처리하는 경우 "EOF"라는 명령을 사용합니다.
EOF란 End Of File의 약어로 파일의 끝을 의미하는 값입니다.
이 값은 눈에는 보이지 않지만 프로그램에서 처리될 때는 읽어와서 처리되는 값으로 읽는 과정에 포함이 됩니다.
실제 읽어올 자료가 10개인데, 읽어오는 과정을 통해 자료의 개수를 파악하려 한다면,
EOF 확인을 위해 마지막에 실제 자료 이후에 읽어온 과정은 자료의 개수에서 제외하는 과정이 필요합니다.
자료가 몇 개인지 정해져 있다면 반복문을 이용해 필요한 개수만큼 처리하면 되지만 몇 개의 자료가 있는지 모르는 경우는 파일의 자료를 모두 읽어 개수를 파악해야 하는데, 이 경우 EOF가 사용될 수 있습니다.
EOF 명령을 이용하는 문제가 출제되지는 않았지만 실제 프로그램 코딩에서도 사용되는 것으로 시험에 출제될 가능성이 있으니 EOF의 의미만 파악해 두세요.
오늘도 즐거운 하루 되세요.
-
*2016-03-21 10:00:59
안녕하세요.
프로그램 코딩할 때 외부 파일에서 자료를 읽어와서 처리하는 경우 "EOF"라는 명령을 사용합니다.
EOF란 End Of File의 약어로 파일의 끝을 의미하는 값입니다.
이 값은 눈에는 보이지 않지만 프로그램에서 처리될 때는 읽어와서 처리되는 값으로 읽는 과정에 포함이 됩니다.
실제 읽어올 자료가 10개인데, 읽어오는 과정을 통해 자료의 개수를 파악하려 한다면,
EOF 확인을 위해 마지막에 실제 자료 이후에 읽어온 과정은 자료의 개수에서 제외하는 과정이 필요합니다.
자료가 몇 개인지 정해져 있다면 반복문을 이용해 필요한 개수만큼 처리하면 되지만 몇 개의 자료가 있는지 모르는 경우는 파일의 자료를 모두 읽어 개수를 파악해야 하는데, 이 경우 EOF가 사용될 수 있습니다.
EOF 명령을 이용하는 문제가 출제되지는 않았지만 실제 프로그램 코딩에서도 사용되는 것으로 시험에 출제될 가능성이 있으니 EOF의 의미만 파악해 두세요.
오늘도 즐거운 하루 되세요.