책 내용 질문하기
30페이지, 34페이지, j 초기값 질문
도서
2016 시나공 정보처리기능사 실기
페이지
34
조회수
132
작성일
2016-11-08
작성자
첨부파일

j는 각항의 초기값이라고 알고있는데

30페이지는 1-2+3-4.. 에서 초기값이 1인데 왜 j=1이 아닌지,

34페이지는 왜 초기값이 j=-1/2이 아닌지

그 개념이 헷갈립니다. j와 k의 초기값 설정이 제일 헷갈립니다.

그리고 46페이지 CNT 초기값이 3부터 시작해야되는거 아닌가요?

기출문제집 18페이지는 K=3,N,1인데 여기는 세번째 항부터 치는데 왜 본교재에는 두번째항부터 시작한다고 되있나요?디버깅을 해봐도 CNT가 2일때 C값이 2라는게 이해가안갑니다. 두번째항이면 1이어야하지 않나요

답변
2016-11-09 10:02:43

안녕하세요.

초기값은 첫 번째 항을 만들기 위한 사전 작업으로 초기값 이후에 실제 처리되는 반복적인 패턴이 적용될 것을 감안하여 초기값을 지정합니다.

30쪽은 첫 번째 항이 1이고 항이 1씩 증가하는 패턴이므로 초기값을 0으로 지정한 것입니다. 그래야 1씩 증가하는 패턴이 적용될 때 첫 번째 항이 1로 지정될 수 있으니까요.

34쪽에서 J는 합계를 저장하는 변수입니다. 합계가 누적될 변수는 일반적으로 0으로 초기화하는데, 간혹 특정 항까지 진행한 상태로 시작한다는 가정이 있는 경우 진행한 항까지의 합을 미리 저장하고 시작합니다. 그것이 46쪽의 예인데,

46쪽은 첫번째 항이 1과 두번째 항인 1을 만든 상태로 시작하므로 HAP에 2를 저장하고 시작한 것입니다.

두 개의 항만을 만든 상태로 시작한 것이므로 CNT는 2가 됩니다.

그리고 실제 처리가 될 때 CNT는 3, 즉 세번째 항부터 작업이 시작됩니다.

기출문제집 18쪽은 그런 이유로 반복문이 3부터 시작된 것입니다.

초기값은 실제 처리의 시작값이 아니라 실제 처리가 시작되기 바로 전까지의 값을 가지고 시작하므로

일반적으로는 0을 갖지만 어떻게 시작하느냐에 따라 알고리즘마다 초기값이 달라집니다.

이를 염두에 두고 디버깅을 수행해 보면서 각 알고리즘별도 특별한 초기값들을 파악해 보세요.

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

  • *
    2016-11-09 10:02:43

    안녕하세요.

    초기값은 첫 번째 항을 만들기 위한 사전 작업으로 초기값 이후에 실제 처리되는 반복적인 패턴이 적용될 것을 감안하여 초기값을 지정합니다.

    30쪽은 첫 번째 항이 1이고 항이 1씩 증가하는 패턴이므로 초기값을 0으로 지정한 것입니다. 그래야 1씩 증가하는 패턴이 적용될 때 첫 번째 항이 1로 지정될 수 있으니까요.

    34쪽에서 J는 합계를 저장하는 변수입니다. 합계가 누적될 변수는 일반적으로 0으로 초기화하는데, 간혹 특정 항까지 진행한 상태로 시작한다는 가정이 있는 경우 진행한 항까지의 합을 미리 저장하고 시작합니다. 그것이 46쪽의 예인데,

    46쪽은 첫번째 항이 1과 두번째 항인 1을 만든 상태로 시작하므로 HAP에 2를 저장하고 시작한 것입니다.

    두 개의 항만을 만든 상태로 시작한 것이므로 CNT는 2가 됩니다.

    그리고 실제 처리가 될 때 CNT는 3, 즉 세번째 항부터 작업이 시작됩니다.

    기출문제집 18쪽은 그런 이유로 반복문이 3부터 시작된 것입니다.

    초기값은 실제 처리의 시작값이 아니라 실제 처리가 시작되기 바로 전까지의 값을 가지고 시작하므로

    일반적으로는 0을 갖지만 어떻게 시작하느냐에 따라 알고리즘마다 초기값이 달라집니다.

    이를 염두에 두고 디버깅을 수행해 보면서 각 알고리즘별도 특별한 초기값들을 파악해 보세요.

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

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