Yêu cầu
Xây dựng chương trình giải phương trình bậc hai ax2 + bx + c = 0, với:- Input: Người dùng nhập vào giá trị a, b, c.
- Output: Hiển thị ra màn hình nghiệm của phương trình, biết rằng:
- Nếu a == 0: phương trình sẽ trở thành phương trình bậc nhất bx + c = 0, khi đó:
- Nếu b == 0:
- Nếu c == 0: phương trình có vô số nghiệm
- Nếu c != 0: phương trình vô nghiệm
- Nếu không (ngược lại b != 0): phương trình có nghiệm
x = -c/b
- Nếu b == 0:
- Nếu không (ngược lại a != 0):
- Tính delta = b*b - 4*a*c
- Nếu delta < 0: phương trình vô nghiệm
- Nếu delta == 0: phương trình có nghiệm kép x = -b / (2*a)
- Nếu delta > 0: phương trình có 2 nghiệm riêng biệt
- x1 = (-b + căn(delta)) / (2*a)
- x2 = (-b - căn(delta)) / (2*a)
- Nếu a == 0: phương trình sẽ trở thành phương trình bậc nhất bx + c = 0, khi đó:
Hướng dẫn giải
Lưu đồ (FlowChart)
Code
- Tạo file "lab_3_2.2.c"
- Nội dung file:
/* BÀI 2: XÂY DỰNG CHƯƠNG TRÌNH GIẢI PHƯƠNG TRÌNH 2.2 BẬC 2 Phương trình có dạng: ax2 + bx + c = 0 Input: Nhập vào từ bàn phím: a, b, c Output: Nghiệm của phương trình Biết rằng: Nếu a == 0, phương trình thành bx + c = 0 Ngược lại nếu a != 0 - Tính delta - Nếu delta < 0: Phương trình vô nghiệm - Nếu delta == 0: Phương trình có nghiệm kép x = -b/(2*a) - Nếu delta > 0: Phương trình có 2 nghiệm riêng biệt - X1 = (-b + căn(delta))/(2*a) - X2 = (-b – căn(delta))/(2*a) */ #include<stdio.h> #include<conio.h> #include<math.h> int main() { // 1. Khai báo biến float a, b, c; // 2. INPUT nhập liệu printf("Moi so a: "); scanf("%f", &a); printf("Moi so b: "); scanf("%f", &b); printf("Moi so c: "); scanf("%f", &c); // 3. PROCESS xử lý tính toán theo Nghiệp vụ Logic // 4. OUTPUT xuất ra màn hình printf("====== CHUONG TRINH GIAI PHUONG TRINH BAC HAI ======\n"); printf("Thong tin:\n"); printf("- Phuong trinh %fx2 + %fx + %f = 0 \n", a, b, c); printf("- Ket qua: "); if(a == 0) { // Phuong trinh tro thanh PTB1 bx + c = 0 if(b == 0) { if(c == 0) { printf("Phuong trinh vo so nghiem"); } else { printf("Phuong trinh vo nghiem"); } } else { float x; x = -c / b; printf("Phuong trinh co nghiem x = %f", x); } } else { float delta; delta = b*b - 4*a*c; if(delta < 0) { printf("Phuong trinh vo nghiem"); } else if(delta == 0) { float x; x = -b / 2*a; printf("Phuong trinh co nghiem kep x = %f", x); } else if(delta > 0) { float x1, x2; x1 = (-b + sqrt(delta)) / 2*a; x2 = (-b - sqrt(delta)) / 2*a; printf("\nPhuong trinh co nghiem kep x1 = %f \n", x1); printf("Phuong trinh co nghiem kep x2 = %f \n", x2); } } getch(); // Lenh dung man hinh return 0; }
Mục lục
Chương trình học
- Giới thiệu, cài đặt, cấu hình môi trường lập trình 1
-
Biến, Hằng số và Toán tử
6
- Các thao tác Nhập (input), Xuất (output) dữ liệu trong lập trình C #10975
- Lab 2.1 - Xây dựng chương trình tính toán Cộng Trừ Nhân Chia đơn giản #10971
- Lab 2.2 - Xây dựng chương trình tính Diện tích và Chu vi hình chữ nhật #10977
- Lab 2.3 - Xây dựng chương trình tính Diện tích và Chu vi hình tròn #10982
- Lab 2.4 - Xây dựng chương trình tính Điểm trung bình Toán Lý Hóa theo hệ số #10984
- Lab extra 2.1 - Xây dựng chương trình Quản lý thông tin Sinh viên đơn giản #10980
-
Câu lệnh rẽ nhánh, điều kiện IF ELSE và SWITCH CASE
5
- Lab 3.1 - Xây dựng chương trình Xếp loại kết quả học tập #11046
- Lab 3.2.1 - Xây dựng chương trình Giải phương trình Bậc nhất #11056
- Lab 3.2.2 - Xây dựng chương trình Giải phương trình Bậc hai #11061
- Lab 3.3 - Xây dựng chương trình Tính tiền điện #11068
- Lab 3.4 - Xây dựng menu chương trình bằng IF ELSE và SWITCH CASE #11072
-
Vòng lặp WHILE, DO WHILE và FOR
5
- Vòng lặp WHILE - Ví dụ cách hoạt động vòng lặp #11219
- Lab 4.1 - Tính trung bình tổng của các số tự nhiên chia hết cho 2 #11221
- Lab 4.2 - Xây dựng chương trình xác định Số nguyên tố #11222
- Lab 4.3 - Xây dựng chương trình xác định Số chính phương #11223
- Lab 4.4 - Xây dựng menu chương trình cho các bài tập trên #11224
- Hàm Function trong lập trình 3
-
Mảng Array trong Lập trình
5
- Lab 6.1 - Tính trung bình tổng các số chia hết cho 3 trong mảng #11353
- Lab 6.2 - Tìm giá trị lớn nhất (MAX) và nhỏ nhất (MIN) trong mảng #11355
- Lab 6.3 - Sắp xếp mảng theo thứ tự Giảm dần #11357
- Lab 6.4 - Tính Bình phương các phần tử trong mảng 2 chiều #11359
- Lab Extra 6.1 - Tính tổng các đường chéo của ma trận vuông NxN #11373
- Xử lý chuỗi String trong lập trình 4
- Kiểu dữ liệu có cấu trúc Struct và các thuật toán trong Lập trình 3
-
Assignment (Bài tập lớn) cuối khóa
11
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 1 #11454
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 1 - Kiểm tra số nguyên #11457
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 2 - Tìm Ước chung, Bội chung của 2 số #11466
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 3 - Tính tiền cho quán Karaoke #11470
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 4 - Tính tiền điện #11471
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 5 - Chức năng đổi tiền #11472
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 6 - Tính lãi suất vay ngân hàng #11473
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 7 - Vay tiền mua xe #11475
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 8 - Sắp xếp thông tin Sinh viên #11476
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 9 - Xây dựng game LOTT #11477
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 10 - Tính toán Phân số #11478
- Tài liệu tham khảo 1
- Kỳ thi cuối kỳ - Final Exam 1
Các bài học
Bài học trước Bài học tiếp theo
Chương trình học
Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...Chương trình học
- Giới thiệu, cài đặt, cấu hình môi trường lập trình 1
-
Biến, Hằng số và Toán tử
6
- Các thao tác Nhập (input), Xuất (output) dữ liệu trong lập trình C #10975
- Lab 2.1 - Xây dựng chương trình tính toán Cộng Trừ Nhân Chia đơn giản #10971
- Lab 2.2 - Xây dựng chương trình tính Diện tích và Chu vi hình chữ nhật #10977
- Lab 2.3 - Xây dựng chương trình tính Diện tích và Chu vi hình tròn #10982
- Lab 2.4 - Xây dựng chương trình tính Điểm trung bình Toán Lý Hóa theo hệ số #10984
- Lab extra 2.1 - Xây dựng chương trình Quản lý thông tin Sinh viên đơn giản #10980
-
Câu lệnh rẽ nhánh, điều kiện IF ELSE và SWITCH CASE
5
- Lab 3.1 - Xây dựng chương trình Xếp loại kết quả học tập #11046
- Lab 3.2.1 - Xây dựng chương trình Giải phương trình Bậc nhất #11056
- Lab 3.2.2 - Xây dựng chương trình Giải phương trình Bậc hai #11061
- Lab 3.3 - Xây dựng chương trình Tính tiền điện #11068
- Lab 3.4 - Xây dựng menu chương trình bằng IF ELSE và SWITCH CASE #11072
-
Vòng lặp WHILE, DO WHILE và FOR
5
- Vòng lặp WHILE - Ví dụ cách hoạt động vòng lặp #11219
- Lab 4.1 - Tính trung bình tổng của các số tự nhiên chia hết cho 2 #11221
- Lab 4.2 - Xây dựng chương trình xác định Số nguyên tố #11222
- Lab 4.3 - Xây dựng chương trình xác định Số chính phương #11223
- Lab 4.4 - Xây dựng menu chương trình cho các bài tập trên #11224
- Hàm Function trong lập trình 3
-
Mảng Array trong Lập trình
5
- Lab 6.1 - Tính trung bình tổng các số chia hết cho 3 trong mảng #11353
- Lab 6.2 - Tìm giá trị lớn nhất (MAX) và nhỏ nhất (MIN) trong mảng #11355
- Lab 6.3 - Sắp xếp mảng theo thứ tự Giảm dần #11357
- Lab 6.4 - Tính Bình phương các phần tử trong mảng 2 chiều #11359
- Lab Extra 6.1 - Tính tổng các đường chéo của ma trận vuông NxN #11373
- Xử lý chuỗi String trong lập trình 4
- Kiểu dữ liệu có cấu trúc Struct và các thuật toán trong Lập trình 3
-
Assignment (Bài tập lớn) cuối khóa
11
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 1 #11454
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 1 - Kiểm tra số nguyên #11457
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 2 - Tìm Ước chung, Bội chung của 2 số #11466
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 3 - Tính tiền cho quán Karaoke #11470
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 4 - Tính tiền điện #11471
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 5 - Chức năng đổi tiền #11472
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 6 - Tính lãi suất vay ngân hàng #11473
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 7 - Vay tiền mua xe #11475
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 8 - Sắp xếp thông tin Sinh viên #11476
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 9 - Xây dựng game LOTT #11477
- Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 10 - Tính toán Phân số #11478
- Tài liệu tham khảo 1
- Kỳ thi cuối kỳ - Final Exam 1
Bài học trước Bài học tiếp theo
Menu Tiện ích
Menu Hướng dẫn Học tập
❤🧡💛💚💙💜 Học là phải THỰC HÀNH ❤🧡💛💚💙💜
Thực hiện các bước tuần tự theo nội dung Bài học nhé!