• 파일시티 이벤트
  • LF몰 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

천인국 교수님 자료구조1 2장 레포트

*정*
최초 등록일
2008.10.19
최종 저작일
2007.08
8페이지/한글파일 한컴오피스
가격 1,500원 할인쿠폰받기
다운로드
장바구니

소개글

천인국 교수님이 쓰신 자료구조1 책 2장 레포트

목차

6. 다음의 순환 호출 함수에서 잘못된 점은 무엇인가?
7. 다음의 순환 호출 함수에서 잘못된 점은 무엇인가?
8. 다음 함수를 sum(5)로 호출하였을 때, 화면에 출력되는 내용과 함수의 반환값을 구하라.
9. 다음 함수를 recursive(5)로 호출하였을 때, 화면에 출력되는 내용과 함수의 반환값을 구하라.

본문내용

음의 순환 호출 함수에서 잘못된 점은 무엇인가?

int recursive(int n)
{
if(n<=1) return 0;
return n*recursive(n);
}


< 예제함수 >
< 예제함수를 이용한 프로그램 >
< 출력결과(입력값이 5일 경우) >
- 무한루프에 빠진다 -

☞ 순환호출함수를 수행하면서 자기자신을 호출할시에, 파라미터의 값이 줄어들지가 않는다.
결론적으로 함수가 받는 n의 값이 2이상일 경우에, 리턴값은 n*n*n*n*...... 이런식으로
끝없이 반복할 것이다.
따라서, return n*recursive(n); 을 return n*recursive(n-1) 등으로 수정해야 하며,
리턴값이 곱셈을 수행하는 특성상, n의 값이 1보다 작을 경우에 리턴값을 0으로 할 경우,
0을 곱하면 어떤수든지 값이 0이 되게 되므로 항상 n의 값이 0을 리턴하게 될 것이다.
따라서 n이 1보다 작거나 같을 경우에도 리턴값을 0이 아닌 1로 수정해야 한다.



< 프로그램 수정 후 소스 >
< 출력결과(입력값이 5일 경우) >
- 정상적으로 출력된다 : 팩토리얼 함수와 같다 -


7. 다음의 순환 호출 함수에서 잘못된 점은 무엇인가?

int recursive(int n)
{
printf("recursive(%d)n",n);
return n*recursive(n-1);
}


< 예제함수 >
< 예제함수를 이용한 프로그램 >
< 출력결과(입력값은 5) >
- 무한루프에 빠진다 -

☞ 순환호출함수를 수행하면서 자기자신을 호출할시에, 함수의 종료조건을 설정해주지 않았다.
순환알고리즘은 구조상 자기자신을 호출하는 부분과 순환호출을 멈추는 부분으로 구성
되어 있다. 이때 소스에 순환 호출을 멈추는 부분이 없기 때문에 무한루프에 빠질것이고,
시스템 스택을 다 사용할 때까지 순환적으로 호출되다가 에러를 내면서 멈출 것이다.
따라서, 순환호출부분의 상단에 순환호출을 멈추는 문장을 다음과 같이 추가한다.
if(n<=1) return 1;



< 프로그램 수정 후 소스 >
< 출력결과(입력값이 5일 경우) >
- 정상적으로 출력된다 : 팩토리얼 함수와 같다 -

참고 자료

없음
*정*
판매자 유형Bronze개인

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

최근 본 자료더보기
탑툰 이벤트
천인국 교수님 자료구조1 2장 레포트
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업