책 내용 질문하기
36.병합파트 플로차트
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
316
조회수
279
작성일
2019-06-14
작성자
탈퇴*원
첨부파일
316쪽 플로차트에서 22번에서 다음으로 넘어갈때는 B[j]=0 인지 검사를 하지만 29번에서 다음으로 넘어갈땐 A[i]=0을 검사하지 않는데 왜 한쪽에만 있는거죠?
답변
2019-06-14 10:32:46

안녕하세요 길벗수험서 운영팀입니다.

 

15번에서 BB를 호출했을 때를 대비한 것입니다.

 

15번으로 통해 BB로 호출하는 경우, a배열의 데이터가 모두 입력되었고, b배열의 데이터를 입력하기 위해 넘어갔습니다. 근데 이 상황에서는 b배열의 데이터가 남아있다고 확신하지 못합니다.

만약 이상태에서 CC와 같이 조건문 없이 진행하게 되어 버리면 c배열의 마지막에 0이 두개 저장되어 버리게 되죠.

(배열 b의 마지막 값(0)과 DD에서 넣는 c[k]=0으로 인해)

 

CC에서 조건문이 없는 것은 17번을 통해 CC를 호출하는 경우 이미 14번을 통해 a[i]에 값이 있다는 것을 알기 때문입니다. 이미 앞에서 조건문을 통해 값이 있다는 것을 확인했기 때문에 중복하여 적을 필요가 없죠.

 

그 외의 BB와 CC를 호출하는 문들(10, 21번)은 이전 회전을 통해 이미 상대 배열의 남은 값이 0이 아니라는 것을 알수 있기 때문에 이 호출들에서는 23번 조건문은 의미가 없습니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-14 10:32:46

    안녕하세요 길벗수험서 운영팀입니다.

     

    15번에서 BB를 호출했을 때를 대비한 것입니다.

     

    15번으로 통해 BB로 호출하는 경우, a배열의 데이터가 모두 입력되었고, b배열의 데이터를 입력하기 위해 넘어갔습니다. 근데 이 상황에서는 b배열의 데이터가 남아있다고 확신하지 못합니다.

    만약 이상태에서 CC와 같이 조건문 없이 진행하게 되어 버리면 c배열의 마지막에 0이 두개 저장되어 버리게 되죠.

    (배열 b의 마지막 값(0)과 DD에서 넣는 c[k]=0으로 인해)

     

    CC에서 조건문이 없는 것은 17번을 통해 CC를 호출하는 경우 이미 14번을 통해 a[i]에 값이 있다는 것을 알기 때문입니다. 이미 앞에서 조건문을 통해 값이 있다는 것을 확인했기 때문에 중복하여 적을 필요가 없죠.

     

    그 외의 BB와 CC를 호출하는 문들(10, 21번)은 이전 회전을 통해 이미 상대 배열의 남은 값이 0이 아니라는 것을 알수 있기 때문에 이 호출들에서는 23번 조건문은 의미가 없습니다.

     

    행복한 하루되세요 :)

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