Tìm đạo hàm của biểu thức

52 598 0
Tìm đạo hàm của biểu 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

Luận Văn Tốt Nghiệp Đại Học Tìm Đạo Hàm Lời cảm ơn Xin trân trọng cảm ơn Trờng ĐH Vinh và khoa CNTT Trờng Đại Học Vinh đã tạo điều kiện tổ chức cho chúng em đợc thực hiện làm luận văn tốt nghiệp này. Cảm ơn tất cả các giáo viên đã từng giảng dạy em trong suốt thời gian học tại trờng để em có đợc kiến thức nh ngày hôm nay và cảm ơn sự động viên góp ý nhiệt tình của các bạn trong và ngoài lớp. Đặc biệt cảm ơn thầy giáo Tiến sỹ Nguyễn Trung Hòa trởng khoa CNTT đã tận tình hớng dẫn và giúp đỡ cho em trong suốt thời gian chuẩn bị và làm luận văn tốt nghiệp. Nếu không có thầy em khó có thể hoàn thành đợc tốt luận văn này. Trong quá trình làm luận văn mặc dù bản thân em đã rất cố gắng để hoàn thành tốt chơng trình trong khoảng thời gian cho phép, nhng không thể tránh đ- ợc những thiếu sót. Vì vậy, em rất mong đợc sự góp ý của các thầy cô và các bạn để chơng trình đợc hoàn thiện hơn. Vinh, ngày tháng năm 2005 Sinh viên: Lê Thị Thanh Hơng. Lê Thị Thanh Hơng. Lớp 41E4 Tin Khoa CNTT - Trờng ĐH Vinh. - 1 - Luận Văn Tốt Nghiệp Đại Học Tìm Đạo Hàm I- Đặt vấn đề: Lĩnh vực tin học mặc dù ra đời muộn hơn những lĩnh vực khác, song tốc độ phát triển của nó lại rất nhanh và ngày càng phát triển mạnh mẽ. Có thể nói rằng, ngày này công nghệ tin học đã xâm nhập vào tất cả các ngành tạo ra cho đời sống xã hội với một phơng thức hoạt động hoàn toàn mới mẻ, sáng tạo, nhanh chóng mà không làm mất đi sự chính xác. Đặc biệt đó là ứng dụng tin học vào lĩnh vực toán học để xử lý các bài toán nhanh chóng đa đến kết quả. Trong toán học, khái niệm đạo hàm đã quen thuộc với chúng ta khi còn học phổ thông và chúng còn thờng xuyên đợc sử dụng. 1.1 - Vai trò của đạo hàm: 1.1.1 Trong thực tiễn , đạo hàm có vai trò tơng đối quan trọng, bởi có một số vấn đề nếu không sử dụng đạo hàm thì rất khó để giải quyết nh: Đối với chuyển động thẳng xác định bởi phơng trình S = f(t), thì vận tốc tức thời của một chất điểm tại thời điểm t 0 chính bằng đạo hàm của hàm số S = f(t) tại t 0 . V(t 0 ) = S(t 0 ) Gia tốc tức thời tại thời điểm t 0 của chuyển động thẳng lại chính là đạo hàm của hàm số biểu thị vận tốc tại thời điểm t 0 . a(t 0 ) = V(t 0 ) Hoặc khi ta cần tìm cờng độ dòng điện tức thời của dòng điện tại thời điểm t 0 ta chỉ cần tính đạo hàm của điện lợng Q tại t 0 . I(t 0 ) = Q(t 0 ) Còn có nhiều ứng dụng khác sử dụng đến đạo hàm. Từ đó, ta có thể thấy đạo hàm có thể giúp chúng ta giải quyết một số vấn đề trong cuộc sống 1.1.2 Trong lĩnh vực toán học khái niệm đạo hàm rất quen thuộc. Phép tính đạo hàm bắt nguồn từ bài toán tiếp tuyến. Bài toán này đợc đặt ra một cách tự Lê Thị Thanh Hơng. Lớp 41E4 Tin Khoa CNTT - Trờng ĐH Vinh. - 2 - Luận Văn Tốt Nghiệp Đại Học Tìm Đạo Hàm nhiên sau khi Đề các đã phát minh ra sự biểu diễn của các hàm số bằng đồ thị mà chúng ta đã đợc học ở chơng trình sơ cấp (xác định cực trị, điểm uốn). Khi lên đến chơng trình toán cao cấp ta vấn phải sử dụng đạo hàm để giải một số các bài toán khác nh: giải gần đúng phơng trình một ẩn (phơng pháp Niu-tơn trong phơng pháp tính hay công thức Taylo). Nhng việc tìm đạo hàm bằng ph- ơng pháp thủ công lại rất phức tạp. Vì vậy, chơng trình tìm đạo hàm của một biểu thức tồn tại dới dạng chuỗi có thể giúp ngời sử dụng nhanh chóng tìm đợc đạo hàm nhờ u điểm về tốc độ của máy tính. 1.2 - Các phơng pháp tính đạo hàm. 1.2.1 Phơng pháp tính gần đúng bằng số. + Ưu điểm: có thuật toán để tính nhanh, khai thác đợc khả năng của máy tính. + Nhợc điểm: sai số lớn và sai số càng bị tích lũy khi phải tính đạo hàm cấp cao. 1.2.2 Phơng pháp tính đúng. + Ưu điểm: không có sai số phơng pháp, bởi cho đạo hàm nh là một biểu thức của hàm số và tận dụng đợc các kết quả lý thuyết về các phép toán của đạo hàm. + Nhợc điểm: khó xây dựng giải thuật và khó cài đặt. 1.3 Các tài liệu: 1.3.1 Hiện tại đã có một số phần mềm thể hiện việc tính biểu thức đạo hàm (Mathematica, Mathlab, Maple, ). Tuy nhiên, những phần mềm này là các hộp đen dới dạng tệp chơng trình EXE, nó chỉ giúp chúng ta thực hiện các yêu cầu nhng lại không cho chúng ta biết để làm đợc nh vậy thì phải sử dụng giải thuật nào. 1.3.2 Ngoài các phần mềm trên thì hiện nay cha có tài liệu nào trình bày về thuật toán và chơng trình nguồn thể hiện việc tính biểu thức đạo hàm đợc phổ biến ở Việt Nam. Lê Thị Thanh Hơng. Lớp 41E4 Tin Khoa CNTT - Trờng ĐH Vinh. - 3 - Luận Văn Tốt Nghiệp Đại Học Tìm Đạo Hàm Vì vậy, việc viết một chơng trình nguồn để tính đúng đạo hàm dới dạng một biểu thức là có ích. Đây cũng là lý do em chọn đề tài này. II- Nội dung luận văn. 2.1- Bài toán đặt ra: Đầu vào là ngời sử dụng nhập một biểu thức và kết quả đầu ra là một biểu thức đạo hàm của biểu thức nhập vào. 2.2- Ph ơng pháp chung : Giải quyết bài toán đặt ra đạt đợc những yêu cầu sau: - Kết quả thu đợc chính xác và gọn nên khi tính đạo hàm phải sử dụng kết quả đạo hàm của tổng, hiệu, tích, thơng của các biểu thức, đạo hàm của các hàm số cơ bản và của các hàm hợp. - Trong một số trờng hợp phức tạp phải khai thác đợc một số giải thuật có u thế có trong lập trình, đặc biệt là giải thuật đệ quy để có thể hình dung thuật toán rõ ràng. Từ đó, giải thuật đa ra sơ bộ nh sau: B ớc 1 : Nếu trong biểu thức cần tính đạo hàm có chứa: - Các ký tự kiểu chữ hoa thì đổi ký tự đó sang chữ thờng. - Ký tự cách trống thì loại bỏ ra khỏi biểu thức. - Kiểm tra biểu thức đa vào có đúng là biểu thức toán học không (tức toán hạng, phép toán và các ký hiệu có đúng với quy tắc đã đặt ra). B ớc2 : Xét trong biểu thức cần tính đạo hàm phép toán nào đợc thực hiện sau cùng (tức phép toán này sẽ dùng để tách thành các toán hạng tơng ứng với nó). B ớc 3 : Tách biểu thức đầu vào thành một hoặc hai biểu thức con và phép toán để thực hiện tính đạo hàm tơng ứng với phép toán vừa tách. B ớc 4 : Khi biểu thức con là: + Các hàm số cơ bản thì đạo hàm đợc gán kết quả (tức đệ quy ở mức cơ sở). + Các biểu thức con nhỏ hơn thì ta sử dụng giải thuật đệ quy để tính đạo hàm của biểu thức con nhỏ hơn đó. Lê Thị Thanh Hơng. Lớp 41E4 Tin Khoa CNTT - Trờng ĐH Vinh. - 4 - Luận Văn Tốt Nghiệp Đại Học Tìm Đạo Hàm 2.3- Các giải thuật cụ thể: Khi thực hiện xử lý biểu thức cần tính đạo hàm chúng ta phải tìm phép toán nào đợc thực hiện tìm đạo hàm trớc để tiến hành tách biểu thức con (toán hạng) tơng ứng với phép toán đó: Nếu phép toán cần thực hiện là hai ngôi nh: + , - , / , ^ , log( , can( thì tách ra hai biểu thức con và một phép toán. + Biểu thức con đứng trớc phép toán gọi là toán hạng thứ nhất (bieuthuc1). + Biểu thức con đứng sau phép toán gọi là toán hạng thứ hai (bieuthuc2). Nếu phép toán đó là một ngôi nh là: sin( , cos( , tg( ,thì tách ra một biểu thức con (bieuthuc1) và một phép toán. Giải thuật khi xử lý mà chúng ta sử dụng là giải thuật đệ quy. Bởi các biểu thức con (toán hạng) đợc tách ra đó có thể rơi vào các trờng hợp là biến, hằng số (biểu thức số) hoặc biểu thức con có chứa biến. - Nếu là biến, hằng số hay biểu thức số. (Ví dụ: biểu thức số là (12-6/2) cũng đợc xem là hằng số tơng đơng với 9 nhờ vào hàm value) thì ta đa ra kết quả đạo hàm trực tiếp (trờng hợp đệ quy ở mức cơ sở). - Nếu là biểu thức con chứa biến thì ta phải sử dụng đệ quy để tìm đạo hàm của biểu thức con này. Ví dụ: Giả sử thủ tục tìm đạo hàm là một hàm có tên dham và kết quả trả về là một chuỗi. a) Cho biểu thức: 12-x Ta tách đợc toán hạng thứ nhất là hằng số 12, toán hạng thứ hai là biến x và phép toán hai ngôi là dấu trừ thì kết quả trực tiếp là: dham(12-x)=-1. b) Cho biểu thức: (12*sin(2)+8/4)-x Ta tách đợc toán hạng thứ nhất là biểu thức số (12*sin(2)+8/4) và xem nó nh một hằng số, toán hạng thứ hai là biến x, phép toán là dấu trừ thì kết quả là: dham((12*sin(2)+8/4)-x)=-1. Lê Thị Thanh Hơng. Lớp 41E4 Tin Khoa CNTT - Trờng ĐH Vinh. - 5 - Luận Văn Tốt Nghiệp Đại Học Tìm Đạo Hàm c) Cho biểu thức: (12*sin(x)+8/4)-x Ta tách biểu thức thứ nhất là biểu thức con biến (12*sin(x)+8/4), biểu thức thứ hai là biến x và phép toán là dấu trừ thì ta phải sử dụng đệ quy để tìm đạo hàm của biểu thức con có chứa biến. Khi đó, dham((12*sin(x)+8/4)-x)=dham((12*sin(x)+8/4)) + -1 2.3.1 - Giải thuật tách biểu thức thành phép toán và toán hạng. B ớc 1 : Xét lần lợt từng ký tự từ trái sang phải của biểu thức, bắt đầu từ ký tự đầu tiên. Các khả năng xảy ra với ký tự đang xét: a) Chữ số từ 0-9, chữ cái từ a-z hoặc dấu chấm (.) thì ta ghép ký tự đó vào cuối chuỗi đợc cất trong biến trung gian tu. b) Dấu chấm than (!) và nội dung của biến trung gian là chuỗi số thì ta ghép dấu ! vào cuối chuỗi cất trong biến trung gian. Còn nếu nội dung của biến trung gian đó khác biểu thức số thì thông báo Phải nhập giai thừa của một số. c) Ngoặc mở ( - Ghép ký tự đó vào cuối chuỗi đợc cất trong biến trung gian tu. - Tăng biến đếm số lần xuất hiện ngoặc lên 1. - Nếu nội dung trong biến trung gian tu mà không thuộc dạng: sin(, cos(, can(, và biến đếm ngoặc mở bằng 1 (ngoac=1) ta kiểm tra: Nếu trong biến trung gian không có sự xuất hiện các phép toán: +,- ,*,/,^,! thì thông báo Hàm nhập vào sai. - Nếu nội dung trong biến trung gian tu mà có dạng: sin(, cos(, can(, biến đếm ngoặc mở bằng 1 (ngoac=1) và dau bằng rỗng thì ta gán giá trị của biến trung gian cho biến cất phép toán là dau và xóa biến trung gian về rỗng. d) Dấu phẩy (,) - Nếu biến đếm ngoặc bằng 0 thì thông báo Dấu phẩy nhấp không đúng. - Nếu biến đếm ngoặc bằng 1 ta kiểm tra biến dấu (phép toán): + Phép toán có dạng can( hoặc log( thì Lê Thị Thanh Hơng. Lớp 41E4 Tin Khoa CNTT - Trờng ĐH Vinh. - 6 - Luận Văn Tốt Nghiệp Đại Học Tìm Đạo Hàm Gán nội dung trung gian trong biến tu cho biến bieuthuc1 lu toán hạng thứ nhất. Xóa biến trung gian tu về rỗng. + Phép toán có dạng hàm một ngôi nh: sin(, cos(, arctan(, thì thông báo Hàm sơ cấp này không có dấu phẩy. + Phép toán có dạng + , - , * , / , ^ thì ghép ký tự , vào sau biến vào cuối chuỗi đợc cất trong biến trung gian tu. - Nếu biến đếm ngoặc khác 1 thì ghép ký tự , vào sau biến vào cuối chuỗi đợc cất trong biến trung gian tu. e) Ngoặc đóng ) - Nếu phép toán là can( hoặc log(, biến trung gian khác rỗng, bieuthuc1, bieuthuc2 đều bằng rỗng và biến đếm ngoặc bằng 1 thì thông báo Hàm căn hoặc log nhập sai. - Nếu ký tự đang xét là ký tự cuối cùng, biến đếm ngoặc 1, biến dau chứa phép toán là các hàm cơ bản dạng sin(, cos( ,can(, log(, và toán hạng thứ nhất (bieuthuc1) khác rỗng thì ta chỉ cần giảm biến đếm ngoặc đi 1. - Ngợc lại, ghép ký tự ) vào cuối chuỗi cất trong biến trung gian tu và giảm biến đếm ngoặc đi 1. f) Phép toán hai ngôi + , - , * , / , ^ : - Nếu biến đếm ngoặc là 0. + Phép toán sau cùng của biểu thức ở thời điểm hiện tại (cất trong biến dau) là phép toán một ngôi dạng sin(, cos(, tg(,thì ghép chuỗi (phép toán) trong biến dau vào đầu chuỗi cất trong biến trung gian tu tạo thành toán hạng thứ nhất (bieuthuc1), phép toán sau cùng bây giờ sẽ là ký tự đang xét, xóa biến tu về rỗng. + Phép toán sau cùng của biểu thức đang xét ở thời điểm hiện tại (cất trong biến dau) là phép toán hai ngôi dạng can( hoặc log( thì ta nối chuỗi (phép toán) trong biến dau vào đầu nội dung trong biến bieuthuc1, còn ký tự ,, nội Lê Thị Thanh Hơng. Lớp 41E4 Tin Khoa CNTT - Trờng ĐH Vinh. - 7 - Luận Văn Tốt Nghiệp Đại Học Tìm Đạo Hàm dung trong biến trung gian tu tạo thành biểu thức một (toán hạng) và ) vào cuối. Phép toán cần tìm đạo hàm sẽ là ký tự đang xét và xóa biến trung gian tu về rỗng. Ví dụ: dau=can( bieuthc1=4 tu=x+1 Kết quả sau khi nối biethuc1=can(4,x+1). + Phép toán lu trong biến dau cũng là phép toán hai ngôi + , - , * , / , ^ thì xét thứ tự u tiên giữa phép toán là ký tự đang xét và phép toán đợc cất trong biến dau: Thứ tự u tiên của phép toán trong biến dau lớn hơn hoặc bằng thứ tự u tiên của phép toán là ký tự đang xét thì Ta nối phép toán trong biến dau cùng với nội dung cất trong biến trung gian tu vào sau toán hạng thứ nhất cất trong biến bieuthuc1. Phép toán cần tìm đạo hàm bây giờ sẽ là ký tự đang xét. Xóa biến trung gian tu về rỗng. Ngợc lại, nối ký tự đang xét vào cuối chuỗi cất trong biến trung gian tu. + Phép toán trong biến dau là xâu rỗng thì Phép toán cần tìm đạo hàm sẽ chính là ký tự đang xét. Ta cất ký tự đang xét vào trong biến dau, toán hạng thứ nhất (bieuthuc1) sẽ là nội dung cất trong biến trung gian tu. Xóa tu về rỗng. - Nếu biến đếm ngoặc bằng 1 thì ghép ký tự đang xét vào cuối chuỗi cất trong biến trung gian tu. B ớc 2 : Khi đã xét xong ký tự cuối cùng thì kiểm tra phép toán trong biến dau: Lê Thị Thanh Hơng. Lớp 41E4 Tin Khoa CNTT - Trờng ĐH Vinh. - 8 - Luận Văn Tốt Nghiệp Đại Học Tìm Đạo Hàm - Nếu phép toán trong biến dau là phép toán một ngôi nh sin(, cos(, hoặc biến dau chứa xâu rỗng thì toán hạng thứ nhất bằng nội dung trong biến trung gian tu. Ví dụ: Tìm đạo hàm của biểu thức: A= x thì khi tách bieuthuc1=x còn phép toán bằng rỗng và bieuthuc2 cũng bằng rỗng. - Phép toán trong biến dau là phép toán hai ngôi nh can(, log(, + , - , * , / , ^ thì ta gán biểu thức hai (toán hạng) bằng nội dung trong biến trung gian tu. Các ví dụ sau khi tách chuỗi biểu thức: a) Cho biểu thức: sin(x+1) thì sau khi tách dau=sin( bieuthuc1=x+1 bieuthuc2= b) Cho biểu thức: can(2,x+5) thì sau khi tách dau=can( bieuthuc1=2 bieuthuc2=x+5 c) Cho biểu thức: 25+x^2-8*x thì sau khi tách dau=+ bieuthuc1=25 bieuthuc2=x^2-8*x d) Cho biểu thức: 25+x^2+8*x thì sau khi tách dau=+ bieuthuc1=25+x^2 bieuthuc2=8*x 2.3.2 - Giải thuật xử lý biểu thức cần tính đạo hàm. Tách biểu thức cần tính đạo hàm thành phép toán và toán hạng: 2.3.2.1 Phép toán không ngôi (kết quả sau khi tách không có phép toán chỉ có một toán hạng). 2.3.2.1.1 Toán hạng là biến thì kết quả đạo hàm là 1. Ví dụ: x thì đạo hàm sẽ là 1. Lê Thị Thanh Hơng. Lớp 41E4 Tin Khoa CNTT - Trờng ĐH Vinh. - 9 - Luận Văn Tốt Nghiệp Đại Học Tìm Đạo Hàm 2.3.2.1.2 Toán hạng là hằng số thì kết quả đạo hàm là 0. Ví dụ: 204 đạo hàm sẽ bằng 0. 2.3.2.1.3 Toán hạng là biểu thức con chứa biến mà hai đầu là cặp dấu ngoặc đơn đóng một biểu thức con nhỏ hơn thì ta thực hiện loại bỏ cặp dấu ngoặc đơn ở hai đầu. Sau đó, tách biểu thức đã loại bỏ cặp dấu ngoặc đơn và tiếp tục kiểm tra cho đến khi gặp trờng hợp đệ quy ở mức cơ sở hoặc tồn tại phép toán một hoặc phép toán hai ngôi. 2.3.2.2 Phép toán một ngôi (kết quả sau khi tách là một toán hạng và một phép toán). 2.3.2.2.1 Toán hạng (bieuthuc1) là biến. Ta xét từng trờng hợp cụ thể của phép toán có các dạng sau: - sin( thì đạo hàm tơng ứng với nó là cos(+ bieuthuc1 +) - cos( thì đạo hàm tơng ứng với nó là -sin(+ bieuthuc1 +) - arctan( thì đạo hàm tơng ứng với nó là '1/(1+' + bieuthuc1 + '^2)' - arcotg( thì đạo hàm tơng ứng với nó là '-1/(1+'+bieuthuc1+'^2)' - arccos( thì đạo hàm tơng ứng với nó là '-1/can(2,1-'+bieuthuc1+'^2)' - arcsin( thì đạo hàm tơng ứng với nó là '1/can(2,1-'+bieuthuc1+'^2)' - sqr( thì đạo hàm tơng ứng với nó là '2*'+bieuthuc1 - ln( thì đạo hàm tơng ứng với nó là '1/'+bieuthuc1 - exp( thì đạo hàm tơng ứng với nó là 'exp('+bieuthuc1+')' - sqrt( thì đạo hàm tơng ứng với nó là '1/(2*can(2,'+bieuthuc1+'))' - tg( thì đạo hàm tơng ứng với nó là '1/cos('+bieuthuc1+')^2' - cotg( thì đạo hàm tơng ứng với nó là '1/sin('+bieuthuc1+')^2' - log( thì đạo hàm tơng ứng với nó là '1/('+bieuthuc1+'*ln(10))' 2.3.2.2.2 Toán hạng (bieuthuc1) là hằng số hoặc biểu thức số thì đạo hàm sẽ là 0 (trừ trờng hợp hàm cotg() là vô nghĩa). 2.3.2.2.3 Toán hạng là (bieuthuc1) là biểu thức con chứa biến thì Lê Thị Thanh Hơng. Lớp 41E4 Tin Khoa CNTT - Trờng ĐH Vinh. - 10 -

Ngày đăng: 19/12/2013, 09:59

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan