책 내용 질문하기
실기책 질문입니다.
도서
2017 시나공 정보처리기사 실기(산업기사 포함)
페이지
조회수
196
작성일
2016-08-26
작성자
첨부파일

시나공 책으로 정보처리기사 필기를 독학한후 가채점결과 성적이 잘나와서 만족하여서 실기책을 바로 구매하여서

시험공부를 시작하였습니다. 시작하자마자 막힌것이...

27페이지 디버깅결과에대한 답 556페이지를보면

i = 0 이고 J = 0 일때 i < 100 이라는 조건이 yes 입니다

쭉 그런식으로가다가

i = 99이고 j = 4950 일때 i < 100 이라는조건이 no 라고나와있고

그다음 i = 100 일때 J = 5050 이면서 출력 결과는 100, 5050 으로 나옵니다.

근데여기서 제생각은 i = 99 일때 J = 4950 이고 J 가 4950이라는건 i = i+1 을 이미 한 상황의 99인데

왜 i <100 이라는조건을 만족못하는거죠?

i 가 99일때 사이클을 돌려서 i 가 100이되니까 no 라고이해하려고생각해봤는데

i 가 99일때 사이클을 돌리게되면 i = i+1 j = 5050이라 i = 100이니까 no 라고 이해할라고하면

j 값도 5050으로 갱신되어야하는데...

i 는 99이고 j 는 4950 이면 i = i+1 한 상태이고 j = j+i 한상태니까 yes로 되고

그다음 i 가 100일때 no가되서 바로빠져나오는거아닌가요?

i값이 99일때 i<100 이 no 면 99까지 합 4950 이 나와야대는형식의 알고리즘인거같은데...

i = 100일때 j값까지 다계산하고 출력하는게... 제가생각이잘못됬나요?

간추려서말씀드리면 i = i+1 을하여 99로갱신되엇고 j 는 i+j 를하여 4950으로 갱신된상태에서 i<100 이라는 조건을 만족하지 않는 이유를 모르겟습니다. 만약 i <100 이 만족안한다면 그대로 j값인 4950이 출력되어야되는데 그다음 사이클까지 돌아가는이유도...

설명해주시면감사하겟습니다.

답변
2016-08-29 09:20:56

안녕하세요.

교재 31쪽 하단의 잠깐만요에 제시된 디버깅 방법과 결과 확인 방법을 참고하세요.

디버깅은 채점 대상이 아니므로 순서도의 빈 괄호의 내용을 유추할 수 있도록 개별적으로 시험지의 빈 공간을 이용해 수행해야 하는데, 공간이 충분하지 않을 것에 대비하여 중간에 빈 공간없이 이어서 변수들의 값 변화를 기술하도록 하였습니다.

물론 각 변수들의 가로 위치를 맞춰서 작성해도 되지만 이 경우 공간이 많이 필요하게 됩니다.

교재에서도 이를 감안하여 디버깅 표의 내용은 각 변수의 가로 위치를 무시하고 변수의 값 변화만 확인할 수 있도록 이어서 작성하였습니다.

그러니 본인이 디버깅한 결과와 비교할 때 i가 얼마일때 그 가로의 위치를 기준으로 다른 변수의 값이 얼마인지를 파악하지 말고 각 변수별로 세로의 값 변화를 확인해야 합니다.

즉 556쪽의 디버깅 표에서 i<100의 값은

i가 0이고 J가 0일 때는 빈 공간이지만 빈 공간 없이 YES를 작성한 것으로

본래는 i와 J가 1일 때 i<100이 YES로 시작하여

i가 99일 때까지 I<100이 YES이고 i가 100일 때 NO가 되는 것입니다.

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

  • *
    2016-08-29 09:20:56

    안녕하세요.

    교재 31쪽 하단의 잠깐만요에 제시된 디버깅 방법과 결과 확인 방법을 참고하세요.

    디버깅은 채점 대상이 아니므로 순서도의 빈 괄호의 내용을 유추할 수 있도록 개별적으로 시험지의 빈 공간을 이용해 수행해야 하는데, 공간이 충분하지 않을 것에 대비하여 중간에 빈 공간없이 이어서 변수들의 값 변화를 기술하도록 하였습니다.

    물론 각 변수들의 가로 위치를 맞춰서 작성해도 되지만 이 경우 공간이 많이 필요하게 됩니다.

    교재에서도 이를 감안하여 디버깅 표의 내용은 각 변수의 가로 위치를 무시하고 변수의 값 변화만 확인할 수 있도록 이어서 작성하였습니다.

    그러니 본인이 디버깅한 결과와 비교할 때 i가 얼마일때 그 가로의 위치를 기준으로 다른 변수의 값이 얼마인지를 파악하지 말고 각 변수별로 세로의 값 변화를 확인해야 합니다.

    즉 556쪽의 디버깅 표에서 i<100의 값은

    i가 0이고 J가 0일 때는 빈 공간이지만 빈 공간 없이 YES를 작성한 것으로

    본래는 i와 J가 1일 때 i<100이 YES로 시작하여

    i가 99일 때까지 I<100이 YES이고 i가 100일 때 NO가 되는 것입니다.

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

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