• 검색 결과가 없습니다.

개의 계수를 차례로 입력 받는다

문서에서 객체의 개념, 표현, 사용, 구현 (페이지 44-49)

이차방정식 풀기

이차방정식의 3 개의 계수를 차례로 입력 받는다

 2차항의 계수, 1차항의 계수, 상수항의 계수

 모두 실수로 입력 받는다.

 출력

 이차방정식

입력 받은 계수들을 다음과 같은 형태로 출력한다.

(2차항의 계수) x*x + (1차항의 계수) x + (상수항의 계수) = 0.0

단, 계수의 값이 0.0 인 항은 출력하지 않는다.

모든 계수가 0 인 경우에는 “0 = 0”을 출력한다.

 판별식의 값

b*b – 4*a*c

 결과

2차항의 계수가 0.0 인 경우의 메시지:

“>이차항의 계수가 0 이어서, 이차방정식이 아닙니다.”

판별식의 값이 음수인 경우의 메시지:

“>판별식의 값이 음수이어서 해가 존재하지 않습니다.”

판별식의 값이 양수인 경우

두 근을 출력한다

© 2011, J.-H.Kang, CNU

 출력의 예

[실습] 이차방정식 풀기 46

<<<이차방정식 풀이>>>

방정식을 풀려면 ‘y’, 풀이를 종료하려면 ‘n’을 치시오: y 2차항의 계수를 입력하시오: 1.0

1차항의 계수를 입력하시오: 0.0 상수항의 계수를 입력하시오: -1.0

>주어진 방정식: (1.0) x*x + (-1.0) = 0

>판별식의 값: 4.0

>방정식의 해는 다음과 같습니다:

x1 = 1.0 x2 = -1.0

방정식을 풀려면 ‘y’, 풀이를 종료하려면 ‘n’을 치시오: y 2차항의 계수를 입력하시오: 1.0

1차항의 계수를 입력하시오: 1.0 상수항의 계수를 입력하시오: 1.0

>주어진 방정식: (1.0) x*x + (1.0) x + (1.0) = 0

>판별식의 값: -4.0

>판별식의 값이 음수이어서 해가 존재하지 않습니다.

방정식을 풀려면 ‘y’, 풀이를 종료하려면 ‘n’을 치시오: y 2차항의 계수를 입력하시오: 0.0

1차항의 계수를 입력하시오: 1.0 상수항의 계수를 입력하시오: 1.0

>주어진 방정식: (1.0) x + (1.0) = 0

>이차항의 계수가 0 이어서, 이차방정식이 아닙니다.

방정식을 풀려면 ‘y’, 풀이를 종료하려면 ‘n’을 치시오: y 2차항의 계수를 입력하시오: -4.0

1차항의 계수를 입력하시오: 1.0 상수항의 계수를 입력하시오: 0.0

>주어진 방정식: (-4.0) x*x + (1.0) x = 0

>판별식의 값: 1.0

>방정식의 해는 다음과 같습니다:

x1 = 0.0 x2 = 0.25

방정식을 풀려면 ‘y’, 풀이를 종료하려면 ‘n’을 치시오: n

<이차방정식 풀이를 종료합니다>

 객체의 "사용자적 관점"

궁극적으로는 “구현자적 관점”에서 사용할 모든 객 체는 구현되어야 한다.

 객체의 상세한 형태를 표현해야 한다.

main() 은 객체를 사용하는 곳:

 main()은 “이차방정식 문제” 객체의 사용자

 사용자인 main()의 관점에서, main()은 “이차방정식 문제”

객체의 내용을 속속들이 알아야 할까?

이차방정식 문제

a (2차항의 계수) b (1차항의 계수) c (상수항의 계수)

이차방정식

x1 (방정식의 해 1) x2 (방정식의 해 2)

방정식의 해

판별식의 값

 객체를 사용하는 관점은?

객체의 내부적인 사항을 속속들이 알고 싶지 않다.

단지 객체가 필요한 정보를 적절히 소유하고 있다 고만 생각하고 싶다.

이차방정식 문제

a (2차항의 계수) b (1차항의 계수) c (상수항의 계수)

이차방정식

x1 (방정식의 해 1) x2 (방정식의 해 2)

방정식의 해

판별식의 값

 "이차방정식 문제" 객체를 위한 자료형

typedef struct {

QuadEquation equation ; Roots r ;

float determinant ;

} QuadEqProblem ;

문서에서 객체의 개념, 표현, 사용, 구현 (페이지 44-49)

관련 문서