책 내용 질문하기
기본 알고리즘 _수학
도서
2016 시나공 정보처리기사 실기
페이지
조회수
250
작성일
2016-03-14
작성자
첨부파일

1, 교재 49 페이지 ; 지난 3/10 질문에 대한 답변에 대한 추가 질문입니다.

질문은 3번 수열의 항수를 입력 받을 때 N>=3이라는 판단을 하지 않아도 문제 없는지를 물어 보았는 데, 답변은 4번 반복문 조건을 언급하고 있네요...


만약 이 일고리즘에서 N=1 라고 입력하면 어떻게 출력되나요??
반복문에서 초기값보다 조건식이 적으므로 오류가 되나요, 아님 반복문을 벗어나서 Y=2를 출력하나요??

어느 경우라도 오류이므로, 3번 뒤에 N>= 3 인지를 판단하여 no 인 경우 다시 입력 받는 조건이 있어야 할 텐데, 이를 생략한 것은 관례상, 알고리즘에서는 생략하고 실제 Coding시 반영하여도 되는 사소한 사항인지, 아니면 실제 알고리즘 작성시에는 이러한 조건을 삽입해야 하나, 이 문제에서는 단순화시키기 위해 임의로 누락한 것인지요??

2. 교재 79 페이지 의 경우, 정답이 2) >, 3) <= 라고 하였는 데, 이 문제의 경우 2) >=, 3) < 도 가능할 것 같네요..

만약 시험에 이문제와 같이 출제되었다면, 어떻게 정답을 선택해야 하나요??

;물론 SW 효율성을 볼때 한번이라도 연산을 적게하는 정답이 더 효율적이겠지만, 후자와 같이 작성후 debugging해도 맞아서 별다른 생각이 없이 넘어갈 수도 있을 것 같아서.....

3. 교재 82 페이지와 같이 나머지는 1) 번 NMG = i - mok*5 와 같이 전부 수식으로만 정답 제시하고 있는 데, 이를 NMG= mod(i,5) 와 같이 함수를 사용하여 답항보기 예문이 제시되는 경우는 별로 없는지요??

정답이 여러가지 표현이 가능한 경우, 돌아 가면서 정답 / 답항 보기를 제시하여 주는 것이 좋을 것 같네요..

4.교재 84페이지 에서도,

6번에서, 입력되는 수가 1자리의 양의 수이며, 7과의 차이를 나타내므로, 1)의 답으로는 J=9 뿐만 아니라, 6보다 큰 임의의 수이기만 하면 가능하겠네요. 답항보기에서 어떻게 제시 되는지 모르겠지만, 답항보기가 없는 경우라면 정답은 어떻게 될까요?? (물론 비교수가 7이 아니라면 임의의 입력수라면 9가 맞겠지만....)

2)과 3)에서도 등호가 바뀌어도 되곘네요..

5. 교재 86페이지에서 1번에서는 단지 배열만 선언하고 있기 때문에 교재 84의 순서도에서와 같이 배열에 저장될 수를 입력하는 과정이 필요할 텐데, 어떤때는 이를 포함하여 순서도를 작성하고,어떤때는 이를 생략해도 되는지 참 혼란 스럽네요.. 이 문제에서 1번 식이 이미 K(1) ~ K(10)이 배정되어 있다는 점을 이해해야 하는 데 조금 어려움이 있었습니다

답변
2016-03-15 09:34:08

안녕하세요.

1)

문제의 조건으로 첫 항과 둘째 항이 초기값으로 제시된다는 것과 반복문을 세번 째 항부터 처리한다는 것에 N의 입력이 3 이상이어야 한다는 묵시적 조건이 제시되어 있어 별도의 N 값 확인 과정은 생략한 것입니다.

실제 프로그램 코딩이라면 사용자의 판단 오류로 잘못된 값을 입력한 경우에도 대비를 해야 하지만 시험에 제시된 순서도에서는 순서도 자체에서 파악해야 하거나 혹은 별도로 조건이 제시될 수 있는 내용입니다.

N이 1이 입력되면

반복문을 수행하지 못하고 Y를 출력하므로 Y는 초기값 2가 그대로 출력됩니다.

2)

예, 교재는 같은 경우에 대한 처리 방법을 알리기 위한 것으로 실제 시험에서는 같은 경우에 대한 처리 조건이 제시됩니다. 혹은 그와 관련된 부분에는 빈 괄호를 놓지 않을 것입니다.

3)

함수를 적용하는 것이 쉽답고 여겨졌는지 시험 초기에는 함수가 아닌 수식으로 구성하도록 출제되었었는데, 최근에는 큰 구분이 없이 출제되고 있습니다.

4)

지금처럼 7가 가장 가까운 이라고 대상이 제시된 경우는 J의 초기값으로 6이상을 제시하면 되지만 대상의 값이 제시되지 대상의 값도 입력되는 임의의 값으로 처리될 수 있다는 것까지 감안하여 근사값을 구할 때 초기값은 입력 가능한 값에서 가장 큰 값을 지정한다고 설명한 것입니다.

또한 차이값이 항상 양수가 되려면 큰 값에서 작은 값을 빼야 하므로 큰 값과 작은 값을 구분해서 처리해야 합니다.

즉 A(K)가 7보다 큰 경우는 (② )번을 거쳐 ⑩번에서 처리되어야 하고

A(K)가 7보다 작은 경우에는 (③ )번을 거쳐 ⑨번에서 처리되어야 합니다.

단 A(K)가 7인 경우에는 별도의 조건이 없다면 어느쪽에서 처리하든 관계가 없습니다.

5)

교재의 잠깐만요는 실제 시험 문제에서 세션과 관련된 부분의 순서도만 발췌한 것으로 기본적인 입력 값이나 제시되지 않는 처리조건은 섹션과 동일하다고 감안하면 됩니다.

실제 시험에서는 처리조건에 배열에 값이 이미 입력되었는지, 어떠한지 등의 내용들이 제시됩니다.

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

  • *
    2016-03-15 09:34:08

    안녕하세요.

    1)

    문제의 조건으로 첫 항과 둘째 항이 초기값으로 제시된다는 것과 반복문을 세번 째 항부터 처리한다는 것에 N의 입력이 3 이상이어야 한다는 묵시적 조건이 제시되어 있어 별도의 N 값 확인 과정은 생략한 것입니다.

    실제 프로그램 코딩이라면 사용자의 판단 오류로 잘못된 값을 입력한 경우에도 대비를 해야 하지만 시험에 제시된 순서도에서는 순서도 자체에서 파악해야 하거나 혹은 별도로 조건이 제시될 수 있는 내용입니다.

    N이 1이 입력되면

    반복문을 수행하지 못하고 Y를 출력하므로 Y는 초기값 2가 그대로 출력됩니다.

    2)

    예, 교재는 같은 경우에 대한 처리 방법을 알리기 위한 것으로 실제 시험에서는 같은 경우에 대한 처리 조건이 제시됩니다. 혹은 그와 관련된 부분에는 빈 괄호를 놓지 않을 것입니다.

    3)

    함수를 적용하는 것이 쉽답고 여겨졌는지 시험 초기에는 함수가 아닌 수식으로 구성하도록 출제되었었는데, 최근에는 큰 구분이 없이 출제되고 있습니다.

    4)

    지금처럼 7가 가장 가까운 이라고 대상이 제시된 경우는 J의 초기값으로 6이상을 제시하면 되지만 대상의 값이 제시되지 대상의 값도 입력되는 임의의 값으로 처리될 수 있다는 것까지 감안하여 근사값을 구할 때 초기값은 입력 가능한 값에서 가장 큰 값을 지정한다고 설명한 것입니다.

    또한 차이값이 항상 양수가 되려면 큰 값에서 작은 값을 빼야 하므로 큰 값과 작은 값을 구분해서 처리해야 합니다.

    즉 A(K)가 7보다 큰 경우는 (② )번을 거쳐 ⑩번에서 처리되어야 하고

    A(K)가 7보다 작은 경우에는 (③ )번을 거쳐 ⑨번에서 처리되어야 합니다.

    단 A(K)가 7인 경우에는 별도의 조건이 없다면 어느쪽에서 처리하든 관계가 없습니다.

    5)

    교재의 잠깐만요는 실제 시험 문제에서 세션과 관련된 부분의 순서도만 발췌한 것으로 기본적인 입력 값이나 제시되지 않는 처리조건은 섹션과 동일하다고 감안하면 됩니다.

    실제 시험에서는 처리조건에 배열에 값이 이미 입력되었는지, 어떠한지 등의 내용들이 제시됩니다.

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

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