Tiểu luận Lập trình cấu trúc C++ "Xây dựng lớp đa thức"

34 4.8K 3
Tiểu luận Lập trình cấu trúc C++ "Xây dựng lớp đa thức"

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đa thức là một trong những phạm trù toán học cơ bản, không chỉ học sinh ở nước ta mà còn ở tất cả các nước trên thế giới được tiếp cận khá sớm. Ở Việt Nam, ngay từ chương trình môn toán trung học cơ sở, học sinh đã được tiếp cận với khái niệm đa thức. Một trong những khái niệm mở đầu được đề cập tới đó là đa thức một biến.Có rất nhiều phép toán có thể thực hiện trên đa thức một biến như: cộng hai đa thức, trừ hai đa thức, nhân hai đa thức… Việc thực hiện các phép toán này đối với những đa thức nhỏ, có ít phần tử thì ta có thể thực hiện và kiểm tra tính đúng đắn một cách dễ dàng và nhanh chóng. Tuy nhiên, với những đa thức thực tế trong các lĩnh vực khoa học thường có số lượng phần tử rất lớn, có độ phức tạp rất cao, việc thực hiện tính toán thủ công làm chúng ta tốn khá nhiều thời gian và công sức mà độ tin cậy lại không cao. Khi đó, chiếc máy tính điện tử sẽ trở thành một trợ thủ đắc lực của bạn và một chương trình được viết ra có thể giúp bạn giải quyết những công việc trên một cách dễ dàng và nhanh chóng với độ chính xác cao.Để định nghĩa một kiểu dữ liệu mới đồng thời mang lại cho tất cả mọi người một công cụ hữu ích giúp thực hiện tất cả các phép toán thường gặp trên đa thức một biến, tôi đã quyết định lựa chọn đề tài “Cài đặt lớp đa thức”. Để có thể nắm rõ được những thuật toán được sử dụng cũng như cách thức tổ chức hoạt động của chương trình, mời các bạn tìm hiểu phần nội dung đề tài.

TRƯỜNG ĐH HỒNG ĐỨC KHOA CNTT&TT - - BÀI TIỂU LUẬN HỌC PHẦN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG C++ Đề tài: “Xây dựng lớp đa thức” SVTH : Bùi Hữu Giáp Lớp Đại học tin – K15 : MSV : 1261030003 Thanh Hóa, 11/2014 TRƯỜNG ĐH HỒNG ĐỨC KHOA CNTT&TT - - BÀI TIỂU LUẬN HỌC PHẦN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG C++ Đề tài: “Xây dựng lớp đa thức” SVTH : Bùi Hữu Giáp Lớp : Đại học tin – K15 MSV : 1261030003 GVHD : ThS Nguyễn Thị Xuân Đài Thanh Hóa, 11/2014 LỜI CẢM ƠN Trong trình học tập trường, chúng em học hỏi tiếp thu nhiều kiến thức đại cương chuyên ngành nhằm nâng cao vốn hiểu biết hành trang quý báu giúp chúng em vững bước vào đời Em xin gửi lời cảm ơn chân thành đến quý thầy cô giảng dạy chúng em suốt thời gian qua, khoa Công Nghệ Thông Tin truyền thông tất quý thầy cô trường Đại học Hồng Đức Đặc biệt em xin chân thành cảm ơn cô Nguyễn Thị Xuân Đài – người trực tiếp giảng dạy chúng em học phần Lập trình hướng đối tượng C++ người tận tình hướng dẫn em suốt thời gian thực đề tài Tuy nhiên, dù cố gắng thời gian có hạn nên tiểu luận em khó tránh khỏi thiếu sót Em mong nhận thơng cảm đóng góp ý kiến q thầy cô bạn để tiểu luận em hoàn chỉnh Em xin chân thành cảm ơn! Thanh Hóa, 11/2014 Sinh viên thực MỤC LỤC CHƯƠNG I: MỞ ĐẦU 1.1 Lí chọn đề tài 1.2 Mục tiêu nhiệm vụ đề tài 1.2.1 Mục tiêu đề tài 1.2.2 Nhiệm vụ đề tài 1.3 Khách thể, đối tượng phạm vi nghiên cứu 1.3.1 Khách thể nghiên cứu 1.3.2 Đối tượng phạm vi nghiên cứu 1.4 Các phương pháp nghiên cứu CHƯƠNG II: CƠ SỞ LÍ LUẬN 2.1 Khái niệm đa thức biến 2.2 Phép cộng trừ hai đa thức 2.3 Phép nhân hai đa thức 2.4 Phép chia có dư hai đa thức 2.5 Đạo hàm đa thức 2.6 Nguyên hàm đa thức CHƯƠNG III: NỘI DUNG 3.1 Xây dựng lớp phân số 3.2 Xây dựng lớp đơn thức 3.3 Lưu trữ chuẩn hóa đa thức 10 3.3.1 Lưu trữ 10 3.3.2 Chuẩn hóa 10 3.4 Xây dựng hàm tạo cho đa thức 11 3.5 Xây dựng toán tử cho đa thức 12 3.5.1 Nhóm tốn tử số học 12 3.5.2 Toán tử gán 16 3.5.3 Nhóm tốn tử gán phức hợp 17 i 3.5.4 Xây dựng toán tử vào 18 3.5.5 Nhóm tốn tử quan hệ 19 3.5.6 Nhóm tốn tử khác 19 3.6 Hàm tính đạo hàm đa thức 19 3.7 Hàm tính nguyên hàm đa thức 20 3.8 Hàm tính giá trị đa thức 21 3.9 Nhóm hàm khác đa thức 22 3.10 Xây dựng giao diện chương trình 22 CHƯƠNG IV: KẾT LUẬN 27 4.1 Tóm tắt kết nghiên cứu 27 4.2 Đề xuất hướng phát triển 27 TÀI LIỆU THAM KHẢO 29 ii Cài đặt lớp đa thức CHƯƠNG I: MỞ ĐẦU 1.1 Lí chọn đề tài Đa thức phạm trù tốn học bản, khơng học sinh nước ta mà tất nước giới tiếp cận sớm Ở Việt Nam, từ chương trình mơn tốn trung học sở, học sinh tiếp cận với khái niệm đa thức Một khái niệm mở đầu đề cập tới đa thức biến Có nhiều phép tốn thực đa thức biến như: cộng hai đa thức, trừ hai đa thức, nhân hai đa thức… Việc thực phép toán đa thức nhỏ, có phần tử ta thực kiểm tra tính đắn cách dễ dàng nhanh chóng Tuy nhiên, với đa thức thực tế lĩnh vực khoa học thường có số lượng phần tử lớn, có độ phức tạp cao, việc thực tính tốn thủ cơng làm tốn nhiều thời gian công sức mà độ tin cậy lại khơng cao Khi đó, máy tính điện tử trở thành trợ thủ đắc lực bạn chương trình viết giúp bạn giải công việc cách dễ dàng nhanh chóng với độ xác cao Để định nghĩa kiểu liệu đồng thời mang lại cho tất người công cụ hữu ích giúp thực tất phép toán thường gặp đa thức biến, định lựa chọn đề tài “Cài đặt lớp đa thức” Để nắm rõ thuật tốn sử dụng cách thức tổ chức hoạt động chương trình, mời bạn tìm hiểu phần nội dung đề tài 1.2 Mục tiêu nhiệm vụ đề tài 1.2.1 Mục tiêu đề tài Đề tài thực nhằm định nghĩa kiểu liệu đồng thời tạo chương trình thực tất phép toán thường gặp đa thức biến bao gồm: cộng hai đa thức, trừ hai đa thức, nhân hai đa thức… 1.2.2 Nhiệm vụ đề tài - Xây dựng lớp phân số - Xây dựng lớp đơn thức -1 GVHD: ThS Nguyễn Thị Xuân Đài SVTH: Bùi Hữu Giáp Cài đặt lớp đa thức - Tổ chức lưu trữ đa thức biến cụ thể - Chuẩn hóa đa thức theo quy tắc toán học - Xây dựng hàm tạo cho lớp - Xây dựng toán tử cho lớp - Xây dựng hàm tính đạo hàm đa thức - Xây dựng hàm tính nguyên hàm đa thức - Xây dựng giao diện cho chương trình 1.3 Khách thể, đối tượng phạm vi nghiên cứu 1.3.1 Khách thể nghiên cứu Cài đặt lớp đa thức chương trình demo thực tất phép tốn thường gặp đa thức biến 1.3.2 Đối tượng phạm vi nghiên cứu Lớp đa thức phép toán thường gặp đa thức biến 1.4 Các phương pháp nghiên cứu - Phương pháp thu thập tài liệu: thu thập tài liệu từ báo khoa học, trang web tin học số ebook đề tài nghiên cứu, giáo trình tài liệu học tập khác - Phương pháp phân tích tổng hợp tài liệu: từ tài liệu thu thập, tiến hành tìm hiểu, phân tích tồng hợp nội dung liên quan đến đề tài - Phương pháp chun gia: q trình nghiên cứu có góp ý, điều chinh từ giáo viên hướng dẫn - Phương pháp phân tích tổng hợp kinh nghiệm: sau trình tìm hiểu đúc kết kinh nghiệm, tiến hành tổng hợp hoàn thiện đề tài - Phương pháp thực nghiệm: sau cài đặt xong chương trình cần xây dựng số test tiêu biểu thực kiểm tra tính đắn dựa kết thu từ chương trình -2 GVHD: ThS Nguyễn Thị Xuân Đài SVTH: Bùi Hữu Giáp Cài đặt lớp đa thức CHƯƠNG II: CƠ SỞ LÍ LUẬN 2.1 Khái niệm đa thức biến Các đa thức biến (cũng gọi đa thức ẩn) có dạng P(x) = a0 + a1x + + an-1xn-1 + anxn với hệ số ∊ ℝ đa thức biến ℝ Nếu an ≠ P(x) đa thức biến bậc n Đa thức viết ngắn gọn nhờ ký hiệu xich-ma (x) = 2.2 Phép cộng trừ hai đa thức Cho hai đa thức: (x) = (x) = Khi phép cộng trừ hai đa thức P(x) Q(x) thực theo hệ số xk, tức { , } ( )+ ( )= ( ± ) 2.3 Phép nhân hai đa thức Cho hai đa thức: (x) = -3 GVHD: ThS Nguyễn Thị Xuân Đài SVTH: Bùi Hữu Giáp Cài đặt lớp đa thức (x) = Khi P(x) Q(x) đa thức có bậc m + n có hệ số xác định = 2.4 Phép chia có dư hai đa thức Với hai đa thức P(x) Q(x) bất kỳ, bậc đa thức Q deg(Q) ≥ 1, tồn đa thức S(x) R(x) thoả mãn đồng thời điều kiện: i P(x) = Q(x) S(x) + R(x) ii deg(R) < deg(Q) S(x) gọi thương số R(x) gọi số dư phép chia P(x) cho Q(x) 2.5 Đạo hàm đa thức Cho hàm số biến số thực y = ʄ(x) xác định khoảng (a; b) (khoảng (a; b)={x ∊ℝ | a < x < b}) Xét giá trị x0 ∊ (a; b) giá trị x ∊ (a; b) Đặt Δx = x − x0 x = x0 + Δx Δx gọi số gia đối số Đặt Δy = f(x) – f(x0) Δy gọi số gia hàm số Xét tỷ số Nếu Δx→0, tỷ số dần tới giới hạn giới hạn gọi đạo hàm hàm số y = f(x) điểm x0 kí hiệu ʄ'(x) hay ̇ ( ) ʄ (x) = lim ʄ( + Δx) − ʄ( ) → Công thức tính đạo hàm đa thức biến: (u + v)' = u' + v' (xα)' = α xα-1 2.6 Nguyên hàm đa thức -4 GVHD: ThS Nguyễn Thị Xuân Đài SVTH: Bùi Hữu Giáp Cài đặt lớp đa thức Cho hàm f xác định D ⊂ ℝ Hàm F nguyên hàm f F’(x) = f(x) với x ∊ D Cơng thức tính ngun hàm đa thức biến: (u + v)' = u' + v' (xα)' = α xα-1 -5 GVHD: ThS Nguyễn Thị Xuân Đài SVTH: Bùi Hữu Giáp Cài đặt lớp đa thức Toán tử khai báo bạn lớp, dùng để nhân hai đa thức p1 p2 với nhau, đa thức kết trả qua lời gọi hàm Toán tử thực cơng việc sau: - Khai báo vector rt có kiểu monomial dùng để lưu trữ tạm thời đa thức kết - Dùng hai vòng for lồng với hai biến i j để duyệt hai đa thức tương ứng p1 p2, đẩy giá trị tích p1[i] p2[j] vào rt - Tạo đa thức result từ vector rt, điều nhằm mục đích chuẩn hóa vector rt - Trả đa thức result thông qua lời gọi hàm  Toán tử chia lấy phần nguyên polynomial operator /(const polynomial &p1, const polynomial &p2) { if (p2==0) { cout

Ngày đăng: 24/11/2014, 10:07

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan