이차방정식 풀기
이차방정식의 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 {