• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
Sanfranciscoplacestogo

Sanfranciscoplacestogo

Show Search
Hide Search
  • Trang chủ
  • Cảnh Quan
  • Giáo Dục
  • Phong Thủy
  • Thủ Thuật
  • Kiến Thức Chung
HomeGiáo DụcViết ứng dụng giải phương trình bậc 2 và bậc 1
Giáo Dục

Viết ứng dụng giải phương trình bậc 2 và bậc 1

Rate this post

Rate this post

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

cach-giai-phuong-trinh-bac-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

<

0

)

{

        

x1

=

x2

=

0.0

;

        

return

0

;

    

}

    

else

if

(

delta

==

0

)

{

        

x1

=

x2

=

–

b

/

(

2

*

a

)

;

        

return

1

;

    

}

    

else

{

        

delta

=

sqrt

(

delta

)

;

        

x1

=

(

–

b

+

delta

)

/

(

2

*

a

)

;

        

x2

=

(

–

b

–

delta

)

/

(

2

*

a

)

;

        

return

2

;

    

}

}

int

main

(

)

{

    

float

a

,

b

,

c

;

    

float

x1

,

x2

;

    

do

{

        

printf

(

“Nhap a (a!=0): “

)

;

        

scanf

(

“%f”

,

&a);

        

printf

(

“Nhap b: “

)

;

        

scanf

(

“%f”

,

&b);

        

printf

(

“Nhap c: “

)

;

        

scanf

(

“%f”

,

&c);

    

}

    

while

(

!

a

)

;

// Nếu a=0 thì nhập lại

    

int

numNo

=

giaiPT

(

a

,

b

,

c

,

x1

,

x2

)

;

        

if

(

numNo

==

0

)

{

        

printf

(

“Phuong trinh da cho vo nghiem”

)

;

    

}

    

else

if

(

numNo

==

1

)

{

        

printf

(

“Phuong trinh da cho co nghiem kep x=%.4f”

,

x1

)

;

    

}

    

else

{

        

printf

(

“Phuong trinh da cho co hai nghiem phan biet\nx1=%.4f \nx2=%.4f”

,

x1

,

x2

)

;

    

}

}

 

0

1

2

3

4

5

6

7

 

Nhap a (a!=0): 3

Nhap b: -5

Nhap c: 2

Phuong trinh da cho co hai nghiem phan biet

x1=1.0000

x2=0.6667

 

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

44

45

46

 

#include

#include

using

namespace

std

;

int

giaiPT

(

float

a

,

float

b

,

float

c

,

float

&x1, float &x2){

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

    

if

(

delta

<

0

)

{

        

x1

=

x2

=

0.0

;

        

return

0

;

    

}

    

else

if

(

delta

==

0

)

{

        

x1

=

x2

=

–

b

/

(

2

*

a

)

;

        

return

1

;

    

}

    

else

{

        

delta

=

sqrt

(

delta

)

;

        

x1

=

(

–

b

+

delta

)

/

(

2

*

a

)

;

        

x2

=

(

–

b

–

delta

)

/

(

2

*

a

)

;

        

return

2

;

    

}

}

int

main

(

)

{

    

float

a

,

b

,

c

;

    

float

x1

,

x2

;

    

do

{

        

cout

<

<

“Nhap a (a!=0): “

;

        

cin

>

>

a

;

        

cout

<

<

“Nhap b: “

;

        

cin

>

>

b

;

        

cout

<

<

“Nhap c: “

;

        

cin

>

>

c

;

    

}

    

while

(

!

a

)

;

        

int

numNo

=

giaiPT

(

a

,

b

,

c

,

x1

,

x2

)

;

    

if

(

numNo

==

0

)

{

        

cout

<

<

“Phuong trinh da cho vo nghiem”

;

    

}

    

else

if

(

numNo

==

1

)

{

        

cout

<

<

“Phuong trinh da cho co nghiem kep x=%.4f”

<

<

x1

;

    

}

    

else

{

        

cout

<

<

“Phuong trinh da cho co hai nghiem phan biet”

<

<

endl

;

        

cout

<

<

“x1=”

<

<

x1

<

<

endl

;

        

cout

<

<

“x2=”

<

<

x2

<

<

endl

;

    

}

}

 

0

1

2

3

4

5

6

7

 

Nhap a (a!=0): 3

Nhap b: -5

Nhap c: 2

Phuong trinh da cho co hai nghiem phan biet

x1=1

x2=0.666667

 

Bài học của mình đến đây là kết thúc.


C – Bài tập 1.9: Giải biện luận phương trình bậc 2


Phiên bản web: https://braniumacademy.net/2020/08/21/giaivabienluanphuongtrinhbac2/
=============================================================================
Hướng dẫn giải biện luận phương trình bậc hai trong ngôn ngữ lập trình C. Học lập trình C cơ bản và nâng cao trên kênh thân triệu. thân triệu channellet’s grow together!

Reader Interactions

Trả lời Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Previous Post
Hình ảnh cấu tạo bộ phận sinh dục nữ 3d (điểm g cách tìm & kích thích)
Next Post
Lý thuyết, cách viết cấu hình e
Related Posts
5 Tháng Một, 2022

Có bao nhiêu nguyên tố hóa học lớp 8,9,10 dễ nhớ, bảng tuần hoàn các nguyên tố hóa học lớp 8, 9, 10

7 Tháng Một, 2022

Cách xác định vị trí của điểm cực đại cùng pha, ngược pha với nguồn trong giao thoa sóng hay, chi tiết

15 Tháng Một, 2022

Vợ nhặt – kim lân

Primary Sidebar

Bài Viết Mới
  • Помидоры по-корейски быстрого приготовления – 8 вкуснейших рецептов с пошаговыми фото
  • Как и сколько варить горошницу с замачиванием и без замачивания в кастрюле и мультиварке
  • Гречневая каша сколько воды на стакан гречки
  • Как сделать сыр сулугуни дома: рецепт с фото
  • Простые рецепты кляров для курицы

Chuyên mục

  • Ẩm Thực
  • Cảnh Quan
  • Giáo Dục
  • Kiến Thức Chung

Copyright © 2022 • Sanfranciscoplacestogo

  • Liên Hệ
  • Nội Quy
  • Giới Thiệu
  • Chính Sách Bảo Mật