Nền tảng Kiến thức - Hành trang tới Tương lai
Card image

Chương trình học


  1. Giới thiệu, cài đặt, cấu hình môi trường lập trình 1
    1. Cài đặt trình soạn thảo code Dev C++
  2. Biến, Hằng số và Toán tử 6
    1. Các thao tác Nhập (input), Xuất (output) dữ liệu trong lập trình C
    2. Lab 2.1 - Xây dựng chương trình tính toán Cộng Trừ Nhân Chia đơn giản
    3. 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
    4. Lab 2.3 - Xây dựng chương trình tính Diện tích và Chu vi hình tròn
    5. 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ố
    6. Lab extra 2.1 - Xây dựng chương trình Quản lý thông tin Sinh viên đơn giản
  3. Câu lệnh rẽ nhánh, điều kiện IF ELSE và SWITCH CASE 5
    1. Lab 3.1 - Xây dựng chương trình Xếp loại kết quả học tập
    2. Lab 3.2.1 - Xây dựng chương trình Giải phương trình Bậc nhất
    3. Lab 3.2.2 - Xây dựng chương trình Giải phương trình Bậc hai
    4. Lab 3.3 - Xây dựng chương trình Tính tiền điện
    5. Lab 3.4 - Xây dựng menu chương trình bằng IF ELSE và SWITCH CASE
  4. Vòng lặp WHILE, DO WHILE và FOR 5
    1. Vòng lặp WHILE - Ví dụ cách hoạt động vòng lặp
    2. Lab 4.1 - Tính trung bình tổng của các số tự nhiên chia hết cho 2
    3. Lab 4.2 - Xây dựng chương trình xác định Số nguyên tố
    4. Lab 4.3 - Xây dựng chương trình xác định Số chính phương
    5. Lab 4.4 - Xây dựng menu chương trình cho các bài tập trên
  5. Hàm Function trong lập trình 3
    1. Lab 5.1 - Xây dựng chương trình tìm giá trị lớn nhất trong 3 số
    2. Lab 5.2 - Xây dựng hàm tính năm nhuận
    3. Lab 5.3 - Xây dựng hàm Hoán vị
  6. Mảng Array trong Lập trình 5
    1. Lab 6.1 - Tính trung bình tổng các số chia hết cho 3 trong mảng
    2. Lab 6.2 - Tìm giá trị lớn nhất (MAX) và nhỏ nhất (MIN) trong mảng
    3. Lab 6.3 - Sắp xếp mảng theo thứ tự Giảm dần
    4. Lab 6.4 - Tính Bình phương các phần tử trong mảng 2 chiều
    5. Lab Extra 6.1 - Tính tổng các đường chéo của ma trận vuông NxN
  7. Xử lý chuỗi String trong lập trình 4
    1. Lab 7.1 - Xây dựng chương trình đếm nguyên âm và phụ âm của 1 chuỗi
    2. Lab 7.2 - Xây dựng chương trình Đăng nhập bằng USERNAME và PASSWORD
    3. Lab 7.3 - Xây dựng chương trình sắp xếp chuỗi theo chữ cái
    4. Lab Extra 7.1 - Chương trình Quản lý thông tin Sinh viên
  8. Kiểu dữ liệu có cấu trúc Struct và các thuật toán trong Lập trình 3
    1. Lab 8.1 - Xây dựng chương trình lưu thông tin Sinh viên
    2. Lab 8.2 - Sắp xếp Sinh viên theo điểm tăng dần
    3. Lab 8.3 - Tìm kiếm Sinh viên
  9. Assignment (Bài tập lớn) cuối khóa 11
    1. Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 1
    2. 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
    3. 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ố
    4. 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
    5. 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
    6. 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
    7. 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
    8. Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 7 - Vay tiền mua xe
    9. 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
    10. 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
    11. 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ố
  10. Tài liệu tham khảo 1
    1. Kho sách, nguồn tài liệu tham khảo Lập trình C
  11. Kỳ thi cuối kỳ - Final Exam 1
    1. Tiêu chí chấm điểm Exam

Chương 3-Bài 3. Lab 3.2.2 - Xây dựng chương trình Giải phương trình Bậc hai

Tác giả: Dương Nguyễn Phú Cường
Ngày đăng: Hồi xưa đó

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 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)

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;
}

Các bài học

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


  1. Giới thiệu, cài đặt, cấu hình môi trường lập trình 1
    1. Cài đặt trình soạn thảo code Dev C++
  2. Biến, Hằng số và Toán tử 6
    1. Các thao tác Nhập (input), Xuất (output) dữ liệu trong lập trình C
    2. Lab 2.1 - Xây dựng chương trình tính toán Cộng Trừ Nhân Chia đơn giản
    3. 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
    4. Lab 2.3 - Xây dựng chương trình tính Diện tích và Chu vi hình tròn
    5. 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ố
    6. Lab extra 2.1 - Xây dựng chương trình Quản lý thông tin Sinh viên đơn giản
  3. Câu lệnh rẽ nhánh, điều kiện IF ELSE và SWITCH CASE 5
    1. Lab 3.1 - Xây dựng chương trình Xếp loại kết quả học tập
    2. Lab 3.2.1 - Xây dựng chương trình Giải phương trình Bậc nhất
    3. Lab 3.2.2 - Xây dựng chương trình Giải phương trình Bậc hai
    4. Lab 3.3 - Xây dựng chương trình Tính tiền điện
    5. Lab 3.4 - Xây dựng menu chương trình bằng IF ELSE và SWITCH CASE
  4. Vòng lặp WHILE, DO WHILE và FOR 5
    1. Vòng lặp WHILE - Ví dụ cách hoạt động vòng lặp
    2. Lab 4.1 - Tính trung bình tổng của các số tự nhiên chia hết cho 2
    3. Lab 4.2 - Xây dựng chương trình xác định Số nguyên tố
    4. Lab 4.3 - Xây dựng chương trình xác định Số chính phương
    5. Lab 4.4 - Xây dựng menu chương trình cho các bài tập trên
  5. Hàm Function trong lập trình 3
    1. Lab 5.1 - Xây dựng chương trình tìm giá trị lớn nhất trong 3 số
    2. Lab 5.2 - Xây dựng hàm tính năm nhuận
    3. Lab 5.3 - Xây dựng hàm Hoán vị
  6. Mảng Array trong Lập trình 5
    1. Lab 6.1 - Tính trung bình tổng các số chia hết cho 3 trong mảng
    2. Lab 6.2 - Tìm giá trị lớn nhất (MAX) và nhỏ nhất (MIN) trong mảng
    3. Lab 6.3 - Sắp xếp mảng theo thứ tự Giảm dần
    4. Lab 6.4 - Tính Bình phương các phần tử trong mảng 2 chiều
    5. Lab Extra 6.1 - Tính tổng các đường chéo của ma trận vuông NxN
  7. Xử lý chuỗi String trong lập trình 4
    1. Lab 7.1 - Xây dựng chương trình đếm nguyên âm và phụ âm của 1 chuỗi
    2. Lab 7.2 - Xây dựng chương trình Đăng nhập bằng USERNAME và PASSWORD
    3. Lab 7.3 - Xây dựng chương trình sắp xếp chuỗi theo chữ cái
    4. Lab Extra 7.1 - Chương trình Quản lý thông tin Sinh viên
  8. Kiểu dữ liệu có cấu trúc Struct và các thuật toán trong Lập trình 3
    1. Lab 8.1 - Xây dựng chương trình lưu thông tin Sinh viên
    2. Lab 8.2 - Sắp xếp Sinh viên theo điểm tăng dần
    3. Lab 8.3 - Tìm kiếm Sinh viên
  9. Assignment (Bài tập lớn) cuối khóa 11
    1. Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 1
    2. 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
    3. 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ố
    4. 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
    5. 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
    6. 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
    7. 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
    8. Assignment (Bài tập lớn) cuối khóa - đề 1 - parse 2 - chức năng 7 - Vay tiền mua xe
    9. 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
    10. 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
    11. 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ố
  10. Tài liệu tham khảo 1
    1. Kho sách, nguồn tài liệu tham khảo Lập trình C
  11. Kỳ thi cuối kỳ - Final Exam 1
    1. Tiêu chí chấm điểm Exam

Bài học trước Bài học tiếp theo