Viết chương trình con giải phương trình bậc 2

Cách giải phương trình bậc 2 thì chúng ta đã được học ở lớp dưới rồi phải không nào ? Vậy giải phương trình bậc 2 trong C/C++ thì sẽ như thế nào ? Hôm nay chúng ta sẽ cùng tìm hiểu.

Cách giải phương trình bậc 2

                  Phương trình bậc 2

Phương trình bậc 2 là phương trình có dạng: ax² +bx + c = 0. [a≠0]  [1]

Ở các lớp dưới ta đã có phương pháp giải bằng cách tính delta:

  • Đầu tiên tính delta = b² – 4ac
  • Nếu delta < 0 thì kết luận vô nghiệm
  • Nếu delta = 0 thì có nghiệm kép
  • Nếu delta > 0 thì sẽ có 2 nghiệm phân biệt

Ý tưởng

  • Dùng một vòng do while để nhập a, b, c nếu a = 0, thì nhập lại.
  • Chúng ta dùng hàm sqrt[] trong thư viện math.h để tính căn delta hoặc tính căn không dùng hàm sqrt[]tại đây.
  • Chúng ta tạo hàm giaiPT trả về kiểu int chính là số nghiệm của phương trình [1].
  • Chúng ta sẽ đưa tham chiếu 2 biến x1 , x2 vào hàm giaiPT để gán giá trị hai nghiệm.
  • Nếu pt [1] vô nghiện thì giaiPT sẽ trả về 0 , đồng thời gán x1 = x2 =0 .
  • Nếu pt [1] có nghiệm kép thì giaiPT sẽ trả về 1 , đồng thời gán x1 = x2 = -b/2a .
  • Nếu pt [1] có 2 nghiệm thì giaiPT sẽ trả về 2 , gán x1 = [-b+√delta ] / 2a  x = [-b-√delta ] / 2a .

Code C

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

#include

#include

int giaiPT[float a, float b, float c,float &x1, float &x2]{

    float delta = b*b - 4*a*c;

    if[delta

Chủ Đề