Sử dụng SymPy giải các phương trình sau
Viết hàm giải phương trình bậc nhất và phương trình bậc hai với tham số là các hệ số của phương trình. Kiến thức cần có
Định dạng đầu vào: Gồm hai dòng:
Định dạng đầu ra: Gồm nhiều dòng hiển thị tùy theo các trường hợp như sau:
Lưu ý:
Ví dụ2 3 5 8 Phuong trinh vo nghiem 1 0 0 Phuong trinh co vo so nghiem 1 3 6.8 Phuong trinh co mot nghiem duy nhat: x = -2.2666666666666666 2 4 4 1 Phuong trinh co nghiem kep: x1 = x2 = -0.5 2 -5 6.7 9 Phuong trinh co hai nghiem phan biet la: x1 = -0.8296332885075604 x2 = 2.1696332885075607 2 kteam 7 8.5 Dinh dang dau vao khong hop le! 4 1 7 8.5 Vui long chon mot trong hai chuc nang: 1. Giai phuong trinh bac nhat 2. Giai phuong trinh bac haiGợi ý
Code mẫuimport math #Dinh nghia ham def giai_pt_bac_nhat(a, b): if a == 0: if b == 0: return "Phuong trinh co vo so nghiem" return "Phuong trinh vo nghiem" return "Phuong trinh co mot nghiem duy nhat: \nx = {}".format(-b / a) def giai_pt_bac_hai(a, b, c): if a == 0: return giai_pt_bac_nhat(b, c) #Tinh delta delta = b * b - 4 * a * c #Kiem tra cac truong hop cua delta if delta > 0: x1 = float((-b + math.sqrt(delta)) / (2 * a)) x2 = float((-b - math.sqrt(delta)) / (2 * a)) return "Phuong trinh co hai nghiem phan biet la: \nx1 = {} \nx2 = {}".format(x1, x2) if delta == 0: x = -b / (2 * a) return "Phuong trinh co nghiem kep: \nx1 = x2 = {}".format(x) return "Phuong trinh vo nghiem" #Khoi lenh co the phat sinh loi try: #Doc dong du lieu dau tien chucNang = input() #Truong hop 1: Giai phuong trinh bac nhat if chucNang == '1': #Doc dong du lieu thu hai #Ep kieu du lieu sang so thuc a, b = map(float, input().split()) #Goi ham giai phuong trinh bac nhat print(giai_pt_bac_nhat(a, b)) #Truong hop 2: Giai phuong trinh bac hai elif chucNang == '2': a, b, c = map(float, input().split()) print(giai_pt_bac_hai(a, b, c)) else: print("Vui long chon mot trong hai chuc nang:\n1. Giai phuong trinh bac nhat\n2. Giai phuong trinh bac hai") #Khoi lenh duoc thuc thi khi loi xay ra except: print("Dinh dang dau vao khong hop le!")Kết luậnTrong bài này, Kteam đã hướng dẫn bạn cách viết hàm giải phương trình bậc nhất và phương trình bậc hai với tham số là các hệ số của phương trình. Thêm bài giải của bạn vào phần bình luận để được Kteam review code và fix lỗi (nếu có) trong livestream của khóa học này. Ở bài tiếp theo, chúng ta sẽ cũng nhau học cách VIẾT HÀM HIỂN THỊ TÍCH CỦA TỔNG CHỮ SỐ CHẴN VÀ TỔNG CHỮ SỐ LẺ CỦA MỘT SỐ TỰ NHIÊN Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên " Luyện tập - Thử Thách - Không ngại khó!" Tải xuống
Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới! Thảo luậnNếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
ĐẠI HỌC QUỐC GIA TP.HCMTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINĐỒ ÁN MÔN HỌC GVHD: PGS. TS. Đỗ Văn NhơnHVTH: Lê Thành NguyênMSHV: CH1301102TP HCM, Tháng 03 năm 2014MÔN: BIỂU DIỄN TRI THỨC VÀ SUY LUẬNTÌM HIỂU LẬP TRÌNH SYBOLICBỘ THƯ VIỆN SYMPY TRONG TÍNH TOÁN ĐẠI SỐ TRÊN MÁY TÍNHMỤC LỤC2DANH MỤC HÌNH, BẢNG3GVHD: PGS. TS. Đỗ Văn Nhơn HVTH: Lê Thành NguyênPHẦN 1: MỞ ĐẦUNgày nay, với sự phổ biến của máy tính điện tử cùng với sự bùng nổ về thông tinvà nhu cầu khai thác dữ liệu ngày càng cao trong nhiều lĩnh vực khác nhau như: kinh tế,xã hội, y tế, giáo dục, … Đồng thời, nhu cầu về các hệ thống có khả năng tổng hợp thôngtin và vận dụng sự hiểu biết của con người đưa ra những chỉ định, khuyến cáo, … đãđược đặt ra với sự ra đời của công nghệ tri thức. Từ đó, công nghệ tri thức được nghiên cứu nhằm đưa ra các mô hình tích lũy trithức (mô hình biểu diễn tri thức) của chuyên gia trên máy tính dưới dạng tập luật, tạo racác hệ thống có khả năng tư duy và suy nghĩ như con người, có khả năng suy luận đưa ranhững khuyến cáo, giải pháp tối ưu cho người dùng, đồng thời giúp con người nâng caobản thân. Việc lập luận trên dữ liệu và tri thức đã và đang mang lại cho con người nhữngthành công ngày càng tăng trong việc xử lý dữ liệu. Hiện nay, các ngành công nghệ trithức đang phát triển mạnh mẽ với nhiều hệ thống phục vụ trong nhiều cơ quan, xí nghiệp.Song song đó, các phương pháp suy diễn đã được nghiên cứu nhằm đảm bảo khảnăng giải quyết vấn đề trên các mô hình biểu diễn tri thức. Cùng với sự phát triển của cácmô hình biểu diễn tri thức, các phương pháp suy diễn hiện rất đa dạng và phong phú vàhầu hết là ở dưới dạng mô hình hoặc giải thuật mô phỏng và được cụ thể hóa ứng với mỗitrường hợp ứng dụng thực tế. Hiện nay, nhu cầu xây dựng các hệ chuyên gia ngày càngcao, đặc biệt, trong lĩnh vực giáo dục các phương pháp suy diễn đòi hỏi khả năng tínhtoán trên các dạng hàm, đa thức, giải phương trình,… với các biến và tham số không cốđịnh. Tuy nhiên, nếu sử dụng các ngôn ngữ lập trình thuần túy để giải quyết các bài toántrên là hết sức khó khăn.Từ những nhu cầu trên, các công cụ lập trình Symbolic đã ra đời và giải quyếtkhối lượng lớn các xử lý tính toán, nhất là tính toán symbolic như: Maple, Mathematica,… Tuy nhiên, các hệ thống này được thương mại với giá bản quyền đắt đỏ là cản trở lớncho các nhà phát triển các ứng dụng mã nguồn mở, các ứng dụng với quy mô nhỏ,…Trang 4GVHD: PGS. TS. Đỗ Văn Nhơn HVTH: Lê Thành NguyênTrong chuyên đề này sẽ nghiên cứu lập trình Symbolic với bộ thư viện mã nguồn mởSympy trên nên ngôn ngữ Python.Trang 5GVHD: PGS. TS. Đỗ Văn Nhơn HVTH: Lê Thành NguyênPHẦN 2: KHÁI QUÁT VỀ BIỂU DIỄN TRI THỨC2.1. TRI THỨCTri thức (Knowledge) là sự “hiểu biết” của người trong một phạm vi, lĩnh vực nàođó; được xem xét theo các mục tiêu hay các vấn đề nhất định[1].Ví dụ: − Tri thức về bệnh lao và khả năng điều trị bệnh lao của bác sĩ chuyên khoa LaoPhổi.− Tri thức về toán học đại số ở bậc trung học phổ thông và khả năng giải bải tậpcủa học sinh cấp III.Tri thức là một hệ thống phức tạp, đa dạng và trừu tượng bao gồm nhiều thành tốvới những mối liên hệ tác động qua lại [1] như: khái niệm, quan hệ, luật, sự kiện, … 2.2. BIỂU DIỄN TRI THỨCBiểu diễn tri thức (Knowledge Representation) là xây dựng mô hình biểu diễn trithức để đưa tri thức lên máy tổ chức lưu trữ và xử lý, đặc biệt là cho suy luận giải các vấnđề, các bài toán[1]. Tri thức trong thực tế rất đa dạng và phức tạp. Tùy những trường hợpcụ thể có thể sử dụng các cấu trúc dữ liệu cơ bản (dãy, danh sách, tập hợp, …), các cấutrúc trừu tượng (class) hoặc các ngôn ngữ đặc tả tri thức.2.3. CÁC PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC2.3.1. Biểu diễn dựa trên logic hình thứcSử dụng các biểu thức logic hình thức trong một hệ thống logic để diễn đạt các sựkiện và các luật trong cơ sở tri thức. Phép tính logic vị từ cấp 1 được sử dụng phổ biếnnhất và có cả một ngôn ngữ lập trình hỗ trợ cho phương pháp này. Đó là ngôn ngữ lậptrình PROLOG. Trong ngôn ngữ PROLOG, chỉ cần khai báo các sự kiện và các luật.Hệthống sẽ tiến hành giải quyết vấn đề được yêu cầu dựa trên tri thức được khai báo.Trang 6GVHD: PGS. TS. Đỗ Văn Nhơn HVTH: Lê Thành Nguyên2.3.2. Hệ luật dẫnMỗi luật dẫn được phát biểu dưới dạng:if |