책 내용 질문하기
1권 210p 플로우차트 풀이 중 빈칸 1번 풀이 질문
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
210
조회수
99
작성일
2017-03-24
작성자
첨부파일

제시된 문제에서 변수 설명에 보면

J는 7과 비교 대상의 차이 값 중 최소값이 저장될 변수

라고 되어있습니다.

이 문제 빈칸에 대한 풀이 및 해답은 논란의 여지가 있을 것 같은데요.

해설에는 "J를 초기화한다. 최소값이 저장될 변수의 초기화는 해당 자릿수에서 나올 수 있는 가장 큰 값으로 초기화한다"라고 되어 있습니다.

한자리 수만 입력 받을 수 있으므로 입력 받을 수 있는 수의 사잇값은 0~9일테고 7에 가장 가까운 수를 구하는 것이 문제입니다. 변수 설명 기준으로 풀이를 한다면 J에 올 수 있는 값은 0~7 사이이고 J가 가질 수 있는 최대값인 7로 초기화하는 것이 알고리즘 상 더 옳다고 보여집니다.

다만 풀이에서와 같이 입력 받는 값 중 최대값을 기준으로 초기화해도 알고리즘 상 결과값은 별 상관이 없지요. 그렇다면 궂이 9로 초기화 할 필요없이 J는 어떠한 7이상의 값으로 초기화해도 상관이 없다는 말입니다.

객관식으로 보기가 제시된다면 논란의 여지가 없을 테지만 주관식이라는 가정에서 풀이한다면 문제에 제시된 J의 역할인 "7과 비교 대상의 차이 값" 내의 값들 중 최대값인 7로 초기화 하는게 더 옳지 않을까요?

추가 질문 : 1권 218P 풀이

플로차트의 7번 항목에서 해답대로라면

B2[i]=B2[i]MOD(2)

가 되는데요.

MOD는 파라메터를 2개 가지지 않나요?

2개 가진다면 정답이 "B2[i]=B2[i]*MOD(B2[i],2)" or "B2[i]=MOD(B2[i],2)"일거 같은데...

MOD가 파라메터를 하나만 가질 수 있다면 이에 대한 설명도 필요할거 같습니다.

답변
2017-03-24 17:18:57

안녕하세요.

1)

말씀하신 것처럼 근사값을 구할 대상이 7로 주어진다면 J의 초기값으로 가장 효과적인 것은 7입니다.

교재에서 가장 큰 값으로 초기화를 하도록 유도한 것은 찾는 값이 지정되는 않은 경우의 근사값 구하는 알고리즘에 대해서도 대응할 수 있도록 가장 안전한 방법인 자리수에서 나타날 수 있는 가장 큰 값으로 초기화를 하도록 설명한 것입니다.

2)

MOD는 프로그래밍 언어에 따라 2가지로 사용됩니다.

A MOD B 또는 MOD(A, B)와 같이 사용됩니다.

이런 이유로 실제 시험에서 함수가 제시될 경우는 함수의 사용 방법을 처리조건에 명시하게 됩니다.

명시된 방법에 따라 적용을 하시면 됩니다.

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

  • *
    2017-03-24 17:18:57

    안녕하세요.

    1)

    말씀하신 것처럼 근사값을 구할 대상이 7로 주어진다면 J의 초기값으로 가장 효과적인 것은 7입니다.

    교재에서 가장 큰 값으로 초기화를 하도록 유도한 것은 찾는 값이 지정되는 않은 경우의 근사값 구하는 알고리즘에 대해서도 대응할 수 있도록 가장 안전한 방법인 자리수에서 나타날 수 있는 가장 큰 값으로 초기화를 하도록 설명한 것입니다.

    2)

    MOD는 프로그래밍 언어에 따라 2가지로 사용됩니다.

    A MOD B 또는 MOD(A, B)와 같이 사용됩니다.

    이런 이유로 실제 시험에서 함수가 제시될 경우는 함수의 사용 방법을 처리조건에 명시하게 됩니다.

    명시된 방법에 따라 적용을 하시면 됩니다.

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

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