더북(TheBook)

7.9 연습문제

연습문제 7-1

127쪽의 제곱근에서 루프 부분을 복사해서 인자 하나를 받는 mysqrt 함수로 캡슐화하자. mysqrt 함수는 적당한 값 x를 선택해서 a 제곱근의 근삿값을 반환한다.

mysqrt 함수를 테스트하기 위해 다음과 같은 표를 출력하는 test_square_root 함수를 작성하라.

a mysqrt(a) math.sqrt(a) diff

- --------- ------------ ----

1.0 1.0 1.0 0.0

2.0 1.41421356237 1.41421356237 2.22044604925e-16

3.0 1.73205080757 1.73205080757 0.0

4.0 2.0 2.0 0.0

5.0 2.2360679775 2.2360679775 0.0

6.0 2.44948974278 2.44948974278 0.0

7.0 2.64575131106 2.64575131106 0.0

8.0 2.82842712475 2.82842712475 4.4408920985e-16

9.0 3.0 3.0 0.0

첫 번째 열은 숫자 a, 두 번째 열은 mysqrt로 계산한 a의 제곱근, 세 번째 열은 math.sqrt로 계산한 제곱근, 네 번째 열은 두 추정값의 차이를 절댓값으로 바꾼 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.