PHẦN MỞ ĐẦU I. Lý do chọn đề tài Đổi mới phƣơng pháp dạy học đã và đang là yêu cầu trọng tâm và thƣờng xuyên của các cơ sở giáo dục trong hệ thống giáo dục nƣớc ta. Phƣơng pháp dạy học đƣợc đổi mới theo định hƣớng: “Lấy học sinh làm trung tâm, tích cực hóa năng lực hoạt động học tập của học sinh”. Để đáp ứng nhu cầu của tình hình mới, thực hiện có hiệu quả công tác giảng dạy ; ngƣời giáo viên không ngừng nghiên cứu học hỏi và vận dụng vào thực tế.
Đặc biệt với sự phát triển nhanh chóng của công nghệ thông tin (CNTT) đã và đang đƣợc ứng dụng sâu rộng vào tất cả các lĩnh vực trong cuộc sống. Đặc biệt, đối với ngành giáo dục và đào tạo, CNTT có tác động mạnh mẽ, làm thay đổi nội dung, phƣơng pháp dạy và học. CNTT là phƣơng tiện để tiến tới “Xã hội học tập”. CNTT trở thành công cụ hỗ trợ đắc lực cho công tác dạy học nhất là theo định hƣớng đổi mới hiện nay.
Sau khi kết thúc học phần toán về quy hoạch tuyến tính tôi nhận thấy đây là một dạng toán phức tạp. Bài toán quy hoạch tuyến tính có tên tiếng Anh là linear programming. Đây là lĩnh vực toán học nghiên cứu các bài toán tối ƣu mà hàm mục tiêu và các ràng buộc đều là các hàm và các phƣơng trình, bất phƣơng trình tuyến tính. Để tìm đƣợc lời giải tối ƣu hay giá trị tối ƣu của bài toán chúng ta phải trải qua rất nhiều bƣớc, giải nhiều phƣơng trình, bất phƣơng trình tuyến tính phức tạp.
Tôi nhận thức đƣợc rằng việc ứng dụng công nghệ thông tin phục vụ việc đổi mới phƣơng pháp dạy học là một trong những phƣơng pháp tích cực nhất, hiệu quả nhất trong việc đổi mới phƣơng pháp dạy học và chắc chắn sẽ đƣợc sử dụng rông rãi trong toán học Vì vậy , tôi mạnh dạn quyết định học tập và nghiên cứu một phần mềm cho giảng dạy và học tập. Trong rất nhiều phần mềm đƣợc sử dụng phổ biến nhƣ : ngôn ngữ lập trình Pascal, ngôn ngữ lập trình C, C#, visual Basic, Java, …đều đƣợc đƣa vào giảng dạy trong các nhà trƣờng. Tuy nhiên, tôi đã lựa chọn một phần 1 mềm mà nó trợ giúp nhiều trong nhiều lĩnh vực khác nhau nhất là toán học nhƣng chƣa đƣợc sử dụng phổ biến hiện nay ở nƣớc ta là phần mềm toán học Mathematica. Hiện nay, Mathematica là một phần mềm đang dần đƣợc sử dụng và giảng dạy tại nhiều trƣờng đại học, là công cụ hỗ trợ trong việc đổi mới phƣơng pháp giảng dạy ở nhiều môn học: Toán học, vật lý, hoá học, sinh học, công nghệ, toán kinh tế, tối ƣu hoá, bảo mật thông tin, … Phần mềm Mathematica là công cụ tính toán mạnh, giải quyết hầu hết các loại bài toán đại số và giải tích mà còn là bộ phần mềm hỗ trợ đồ họa rất hữu ích.
Việc sử dụng Mathematica đem đến cho ngƣời dùng nhiều tiện dụng. Đặc biệt trong giảng dạy toán cao cấp, Mathematica giúp các giảng viên truyền đạt kiến thức một cách đầy đủ; học viên có thể sử dụng Mathematica để tiếp thu, thực hành, kiểm định kết quả tính toán một cách trực quan, chính xác. Tuy nhiên, một khó khăn đối với nghiên cứu phần mềm này là số đầu sách viết bằng tiếng Việt về Mathematica còn hạn chế, ít có trên thị trƣờng tạo khó khăn khi nghiên cứu và học tập. Mục đích, đối tƣợng, phạm vi nghiên cứu của luân văn Luận văn sẽ tập trung giới thiệu, nghiên cứu các khái niệm cơ bản và ứng dụng của Mathematica để giải quyết những bài toán MIN, MAX và quy hoạch tuyến tính.
Những khái niệm khác trong toán học cơ bản nhƣ các phép tính số học đối với phƣơng trình, bất phƣơng trình tuyến tính, bất đẳng thức tuyến tính, ma trận , … rất hay gặp nhƣng trong thực tế có những trƣờng hợp ta mất rất nhiều thời gian và công sức để giải quyết, thậm chí khó có thể ra đƣợc kết quả. Tuy nhiên, phần mềm toán học Mathematica sẽ cho ta đáp án nhanh nhất và chính xác nhất có thể. Ngoài ra, khi chuẩn bị bài tập về MIN, MAX và quy hoạch tuyến tính để ngƣời học có thể rèn luyện kỹ năng thì Mathematica là công cụ hỗ trợ tuyệt vời cho giáo 2 viên, giảng viên khi chuẩn bị đề bài và kiểm tra kết quả. Với ứng dụng này thì Mathematica là một sự trợ giúp không hề nhỏ cho giáo viên, giảng viên trong công tác giảng dạy.
Các luận điểm cơ bản và đóng góp mới của tác giả Trên thực tế luận văn chỉ trình bày các dạng bài toán quen thuộc về MIN, MAX và quy hoạch tuyến tính, các ứng dụng của Mathematica khi giải quyết các bài toán đó. Tuy nhiên tác giả cũng chỉ ra thêm các phƣơng pháp để xử lý nhanh các bài toán liên quan để Mathematica là công cụ đắc lực khi thay đổi đề toán. Phƣơng pháp nghiên cứu - Tham khảo và dịch các tài liệu tiếng Anh. - Tìm hiểu giáo trình cơ bản đƣợc học.
- Tìm hiểu qua thực tế giảng dạy ở các trƣờng Đại học, cao đẳng trên địa bàn Hà Nội - Tổng hợp và trình bày. 3 CHƢƠNG 1: TỔNG QUAN VỀ PHẦN MỀM MATHEMATICA 1. 1 Giới thiệu về phần mềm Mathematica Phần mềm tính toán Mathematica lần đầu tiên đƣợc hãng Wolfram Resesearch phát hành vào năm 1988. Đây là một hệ thống phần mềm làm toán nhờ máy tính, nó bao gồm các tính toán bằng kí hiệu, tính toán bằng số, vẽ đồ thị và là ngôn ngữ lập trình.
Lần đầu tiên khi version 1 của Mathematica đƣợc phát hành, mục đích chính của phần mềm này là đƣa vào sử dụng cho các ngành khoa học vật lý, công nghệ và toán học, nhƣng cùng với thời gian Mathematica trở thành phần mềm quan trọng trong nhiều lĩnh vực khác. Ngày nay Mathematica không những đƣợc sử dụng trong các ngành khoa học tự nhiên nhƣ vật lý, sinh học, toán học, hóa học, công nghệ mà nó đã trở thành một phần mềm quan trọng của các ngành khoa học xã hội cũng nhƣ kinh tế. Trong công nghệ ngày nay ngƣời ta đã sử dụng Mathematica trong công tác thiết kế. Trong kinh tế Mathematica lại là công cụ mạnh để tiến hành mô hình hóa các bài toán kinh tế phức tạp.
Mathematica cũng là một trong các công cụ quan trọng trong khoa học máy tính cũng nhƣ trong lĩnh vực phát triển phần mềm. Tuy phần quan trọng của Mathematica nằm trong lĩnh vực khoa học kỹ thuật nhƣng nó cũng là một công cụ mạnh trong lĩnh vực giáo dục đào tạo.000 ngƣời sử dụng Mathematica có 28% là các k ỹ sƣ, 21% các nhà khoa học, 20% các nhà vật lý, 12% các nhà toán học, 12% các nhà doanh nghiệp, các nhà khoa học xã hội và nhân văn. Số ngƣời sử dụng Mathematica ngày càng tăng. Theo số liệu gần đây tất cả các công ty có trong Fortune 50, hầu hết 15 bộ chủ chốt của chính phủ Hoa Kỳ và 50 trƣờng đại học lớn nhất thế giới sử dụng Mathematica.
Có nhiều xuất bản định kỳ và khoảng 200 quyển sách liên quan đến Mathematica đã đƣợc công bố. Bản thân Mathematica đƣợc coi là một hệ thống đại số máy tính tiện lợi cho nhiều đối tƣợng sử dụng khác nhau. Mathematica có nhiều version do liên tục đƣợc 4 cải tiến và hoàn thiện : 1.và đến nay thì phiên bản 10 đã ra đời nhƣng phiên bản 8.0 vẫn đƣợc sử dụng nhiều. Một số quy tắc cơ bản khi sử dụng phần mềm Mathematica: - Mathematica phân biệt chữ hoa chữ thƣờng, các hàm của nó đều bắt đầu bằng chữ hoa.
- Các biến đi theo hàm đều đƣợc đặt trong ngoặc vuông, cú pháp hình thức nhƣ sau: Ham[Expr] : ví dụ: Cos[x], sin[x]. - Để thực hiện một câu lệnh, ta dùng tổ hợp phím “Shift + Enter”. - Để kết thúc một câu lệnh ta đặt dấu chấm phẩy (;), nếu không có dấu (;) thì kết quả sẽ đƣợc hiển thị bên dƣới. - Cần phân biệt các dấu [], [[]], {}, ().
+ Cặp ngoặc () dùng để ngoặc các biểu thức toán học. + Cặp ngoặc [] dùng để chứa các đối số, biến số của lệnh của hàm. + Cặp ngoặc {} dùng để liệt kê các miền cho đối số, liệt kê các công việc, dùng cho các mảng hoặc ma trận. - Lệnh N[expr] dùng để hiển thị kết quả thành số thập phân.
Ví dụ : nếu bạn gõ Cos[1] thì kết quả hiển thị chỉ là Cos[1], nếu bạn gõ N[cos[1],6] thì kết quả trả về sẽ là 0. - Không đƣợc chạy nhiều chƣơng trình cùng một lúc vì các biến vẫn còn lƣu lại giá trị của nó, khi đó kết quả trả của bạn sẽ bị sai, để khắc phục, bạn chỉnh lại nhƣ sau Evaluation/ Quit Kernel / Local. - Cách đặt biến bình thƣờng nhƣ a, b, c, x, y, z…… không đƣợc đặt XY_a, XY – a, không đƣợc dùng các chữ cái sau để đặt tên biến C, D, E, I, N. 5 - Tổ hợp Ctrl + K để tìm các hàm có tên giống nhau ở phần đầu.
- Lệnh ?Int* để tìm tất cả các hàm bắt đầu bằng “Int” tƣơng tự với ?*Q hay ?*Int* - Cần phân biệt List và Matrix trong Mathematica. Nếu viết {1, 2, 3, 4} thì đây là một list gồm 4 phần tử, còn nếu viết {{1}, {2}, {3}, {4}} thì đây là một matrix 4 dòng 1 cột, đối với 1 list thì không thể dùng hàm chuyển vị Transpose đƣợc, tuy nhiên bạn có thể sử dụng các phép toán ma trận giữa Matrix và list, kết quả vẫn đúng nhƣ khi tính toán giữa các ma trận. - Phân biệt giữa các ký hiệu := , = , và == - Dùng tổ hợp phím “Shift + Enter” để in ra kết quả. Ví dụ : x:= 1 là lệnh gán giá trị 1 cho hằng số X, x =1 là lệnh gán giá trị 1 cho biến x (x có thể thay đổi giá trị trong khi thực hiện chƣơng trình).
x == 1 là so sánh các giá trị vế trái x có bằng giá trị vế phải 1 hay không.2 Các phép tính toán học với số, biểu thức và hàm 1.1 Tính toán số 1. Các toán tử số học: Mathematica thực hiện các phép tính số học nhƣ một máy tính tay bình thƣờng. + : Phép cộng - : Phép trừ * : Phép nhân 6 / : Phép chia ^ : Luỹ thừa ! : Phép giai thừa < : Nhỏ hơn <= : Nhỏ hơn hoặc bằng > : Lớn hơn >= : Lớn hơn hoặc bằng Ví dụ : - Phép cộng : In[53]:= Out[53]:= - Phép chia In[54]:= Out[54]:= Không thể in ra kết quả do lỗi phép tính chia 0. Chú ý: Dấu cách (space) trong Mathematica cũng đƣợc sử dụng nhƣ dấu nhân.