MSĐT: NL1-11TH001 TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÊN ĐỒ THỊ CÓ HƯỚNG ĐẶC TẢ ĐỀ TÀI Vận dụng các lý thuyết cơ bản về đồ thị để cài đặt chương trình cho phép biểu diễn đồ thị, kiểm tra tính liên thông và tìm đường đi ngắn nhất giữa 2 đỉnh cho trước bằng giải thuật Dijkstra trên đồ thị có hướng. YÊU CẦU CỦA ĐỀ TÀI Lý thuyết: - Các thao tác cơ bản về đồ họa. - Các khái niệm về đồ thị có hướng và đồ thị vô hướng - Các cách biểu diễn đồ thị, các phương pháp tìm kiếm trên đồ thị (tìm theo chiều rộng và chiều sâu) và tính liên thông. - Các giải thuật có liên quan như: kiểm tra tính liên thông, tìm đường đi ngắn nhất. - Những cấu trúc dữ liệu cần thiết để cài đặt chương trình. Chương trình: Phải có những chức năng cơ bản sau: - Cập nhật dữ liệu về đồ thị. - Biểu diễn đồ thị trên màn hình. - Kiểm tra tính liên thông. - Cho phép tìm đường đi ngắn nhất giữa 2 đỉnh bất kỳ.
Trang 1MSĐT: NL1-11TH001
TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÊN ĐỒ THỊ CÓ HƯỚNG
ĐẶC TẢ ĐỀ TÀI
Vận dụng các lý thuyết cơ bản về đồ thị để cài đặt chương trình cho phép biểu diễn
đồ thị, kiểm tra tính liên thông và tìm đường đi ngắn nhất giữa 2 đỉnh cho trước bằng giải
thuật Dijkstra trên đồ thị có hướng.
YÊU CẦU CỦA ĐỀ TÀI
Lý thuyết:
- Các thao tác cơ bản về đồ họa.
- Các khái niệm về đồ thị có hướng và đồ thị vô hướng
- Các cách biểu diễn đồ thị, các phương pháp tìm kiếm trên đồ thị (tìm theo chiều rộng và chiều sâu) và tính liên thông.
- Các giải thuật có liên quan như: ki ểm tra tính liên thông, tìm đường đi ngắn nhất.
- Những cấu trúc dữ liệu cần thiết để cài đặt chương trình.
Chương trình: Phải có những chức năng cơ bản sau:
- Cập nhật dữ liệu về đồ thị.
- Biểu diễn đồ thị trên màn hình.
- Kiểm tra tính liên thông.
- Cho phép tìm đường đi ngắn nhất giữa 2 đỉnh bất kỳ.
MÔI TRƯỜNG CÀI ĐẶT :
Ngôn ngữ lập trình sử dụng : Pascal, C, C ++, C#
TÀI LIỆU THAM KHẢO :
1 Bài giảng: Toán rời rạc II
2 Lý Thuyết Đồ Thị - PTs Nguyễn Cam & PTs Chu Đ ức Khánh.
3 Toán rời rạc – Nguyễn Đức Nghĩa & Nguyễn Tô Thành
4 “Tóan rời rạc ứng dụng trong tin học” dịch từ quyển Discrete Methamatíc and Its Application – Mc Graw Hill.
5 Data Structures and Algorithms - A Aho, J Ullman
6 Chương trình = Cấu trúc dữ liệu + Giải thuật – Wirth
Trang 2MSĐT: NL1-11TH002
TÌM CÔNG THỨC TỐI TIỂU CỦA MỘT HÀM BOOL BẰNG
PHƯƠNG PHÁP KARNAUGH
ĐẶC TẢ ĐỀ TÀI :
Có những vấn đề có thể mô tả được bằng một hàm bool Dựa vào hàm bool này
người ta có thể thiết kế mạch điện mà sự vận hành của mạch điện giải quyết được vấn đề đã
mô tả Người ta quan tâm đến những mạch điện đơn giản.
Mạch điện đơn giản dựa trên một hàm bool đơn giản Có nhiều cách để tìm hàm bool
đơn giản từ lớp các hàm bool cùng mô t ả một vấn đề Đề tài này nghiên cứu một trong các cách đó, đó là phương pháp Karnaugh, áp d ụng trên hàm bool 4 biến.
YÊU CẦU CỦA ĐỀ TÀI :
Về lý thuyết :
- Trình bày cơ sở lý thuyết của phương pháp Karnaugh.
- Trình bày giải thuật và lưu đồ xử lý các thủ tục được cài đặt.
Về lập trình: Cài đặt các thủ tục chính sau đây
- Output là công thức tối tiểu dạng text.
- Khuyến khích làm giao diện đồ họa thân thiện
MÔI TRƯỜNG CÀI ĐẶT :
- Ngôn ngữ sử dụng : C, VB, C#, Java
TÀI LIỆU THAM KHẢO :
- Bài giảng Toán rời rạc 1 – Khoa CNTT
Trang 3MSĐT: NL1-11TH003
TÌM CÂY KHUNG TR ỌNG SỐ NHỎ NHẤT BẰNG GIẢI THUẬT
PRIM
ĐẶC TẢ ĐỀ TÀI
Vận dụng các lý thuyết c ơ bản về đồ thị để cài đặt chương trình cho phép biểu diễn
đồ thị, kiểm tra tính liên thông và tìm cây có tr ọng số nhỏ nhất bằng giải thuật Prim
YÊU CẦU CỦA ĐỀ TÀI
Lý thuyết:
- Các thao tác cơ bản về đồ họa.
- Các khái niệm về đồ thị có hướng và đồ thị vô hướng
- Các cách biểu diễn đồ thị, các ph ương pháp tìm kiếm trên đồ thị (tìm theo chiều rộng và chiều sâu) và tính liên thông.
- Giải thuật kiểm tra tính li ên thông và giải thuật Prim tìm cây khung có trọng số nhỏ nhất.
- Những cấu trúc dữ liệu cần thiết để c ài đặt chương trình.
Chương trình: Phải có những chức năng c ơ bản sau:
- Cập nhật dữ liệu về đồ thị.
- Biểu diễn đồ thị trên màn hình.
- Kiểm tra tính liên thông.
- Cho phép tìm cây có trọng lượng nhỏ nhất.
MÔI TRƯỜNG CÀI ĐẶT :
Ngôn ngữ lập trình sử dụng: Pascal, C, C++, VB, C#, Java
TÀI LIỆU THAM KHẢO :
1 Bài giảng: Lý Thuyết Đồ thị - Phan Tấn Tài
2 Lý Thuyết Đồ Thị - PTs Nguyễn Cam & PTs Chu Đức Khánh.
3 Tóan rời rạc – Nguyễn Đức Nghĩa & Nguyễn Tô Th ành
4 “Tóan rời rạc ứng dụng trong tin học” dịch từ quyển Discrete Methamatíc and Its
Application – Mc Graw Hill.
5 Data Structures and Algorithms - A Aho, J Ullman
6 Chương trình = Cấu trúc dữ liệu + Giải thuật - Wirth
Trang 4MSĐT: NL1-11TH004
BÀI TOÁN TỔ CHỨC THI CÔNG
ĐẶC TẢ ĐỀ TÀI
Vận dụng các lý thuyết c ơ bản về đồ thị để cài đặt chương trình cho phép biểu diễn
đồ thị, biểu diễn đồ thị sau khi xếp hạng, xác định các thời điểm sớm nhất, trễ nhất của từng
công việc, thời gian hoàn thành công trình và v ẽ sơ đồ GANT thể hiện kế hoạch ho àn thành công trình.
YÊU CẦU CỦA ĐỀ TÀI
Lý thuyết:
- Các thao tác cơ bản về đồ họa.
- Các khái niệm về đồ thị có hướng và đồ thị vô hướng
- Các phép biểu diễn đồ thị.
- Giải thuật xếp hạng trên đồ thị, giải thuật xác định các thời gian sớm nhất v à thời gian trễ nhất.
- Những cấu trúc dữ liệu cần thiết để c ài đặt chương trình.
Chương trình: Phải có những chức năng c ơ bản sau:
- Cập nhật dữ liệu về bài toán tổ chức thi công.
- Biểu diễn đồ thị trước và sau khi xếp hạng lên màn hình.
- Xác định các thời điểm sớm nhất, trễ nhất của từng công việc, thời gian ho àn thành công trình
- Vẽ sơ đồ GANT
MÔI TRƯỜNG CÀI ĐẶT :
Ngôn ngữ lập trình sử dụng: Pascal, C, C++, VB, C#, Java
TÀI LIỆU THAM KHẢO :
1 Bài giảng: Lý Thuyết Đồ thị - Phan Tấn Tài
2 Lý Thuyết Đồ Thị - PTs Nguyễn Cam & PTs Chu Đức Khánh.
3 Tóan rời rạc – Nguyễn Đức Nghĩa & Nguyễn Tô Thành
4 “Tóan rời rạc ứng dụng trong tin học” dịch từ quyển Discrete Methamatíc and Its Application – Mc Graw Hill.
5 Data Structures and Algorithms - A Aho, J Ullman
Trang 5Yêu cầu phải bố trí lịch thi sao cho hai mô n thi của cùng một giáo viên không được
rơi vào hai ngày liên tiếp nhau.
Biết rằng không có giáo vi ên nào có nhiều hơn 4 môn thi.
YÊU CẦU CỦA ĐỀ TÀI
Về lý thuyết : Tìm hiểu và trình bày các khái niện cơ bản về :
- Đồ thị và các khái niệm cơ bản về đồ thị có hướng, đồ thị vô hướng.
- Các thủ tục (hàm) có liên quan đến giao diện của màn hình đồ họa.
- Đường đi và chu trình Hamilton.
- Thiết lập thuật toán của đề t ài và minh họa kết quả bằng đồ thị Hamilton.
Về lập trình:
- Viết chương trình dựa vào thuật toán đã thiết lập.
- Giao diện thân thiện với người sử dụng.
- Kết quả cho ra là một đồ thị với màu sắc phân biệt.
MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ sử dụng : C, Delphi, Visual Basic, Visual C++
TÀI LIỆU THAM KHẢO:
- Đặng Huy Ruận, Lý thuyết đồ thị và ứng dụng, Nhà xuất bản khoa học và kỹ
thuật - Hà nội 2000.
- Phạm văn Thiều, Đặng Hữu Thịnh Toán rời rạc ứng dụng trong tin học Nhà
xuất bản Khoa học và Kỹ thuật, Hà Nội - 1997
- KENNETH H ROSEN Discrete Mathematics and Its Applications McGraw - Hill, 1994.
Trang 6MSĐT: NL1-11TH006
TÌM CÔNG THỨC TỐI TIỂU CỦA MỘT HÀM BOOL BẰNG
PHƯƠNG PHÁP CONSENSU S
ĐẶC TẢ ĐỀ TÀI
Có những vấn đề có thể mô tả đ ược bằng một hàm bool Dựa vào hàm bool này
người ta có thể thiết kế mạch điện m à sự vận hành của mạch điện giải quyết được vấn đề đã
mô tả Người ta quan tâm đến những mạch điện đ ơn giản.
Mạch điện đơn giản dựa trên một hàm bool đơn giản Có nhiều cách để t ìm hàm bool
đơn giản từ lớp các hàm bool cùng mô tả một vấn đề Đề tài này nghiên cứu một trong các cách đó, đó là phương pháp Consensus.
YÊU CẦU CỦA ĐỀ TÀI
Về lý thuyết :
- Trình bày cơ sở lý thuyết của phương pháp Consensus.
- Trình bày giải thuật và lưu đồ xử lý các thủ tục được cài đặt.
Về lập trình : Cài đặt các thủ tục chính sau đây
- Đọc công thức hàm bool
- Xác định dạng tuyển chuẩn tắc
- Xác định các nguyên nhân nguyên tố
- Xác định công thức tối tiểu
Về demo :
- Input là công thức của một hàm bool dạng text được đọc từ bàn phím hay từ tập tin văn bản.
- Output là công thức tối tiểu dạng text
MÔI TRƯỜNG CÀI ĐẶT :
- Ngôn ngữ sử dụng : Pascal, C, C++, Visual C, …
TÀI LIỆU THAM KHẢO :
- Bài giảng Toán rời rạc 1 – Khoa CNTT
- Bài giảng Cấu trúc dữ liệu v à Giải thuật - Khoa CNTT
Trang 7Bài toán như vậy có thể xuất hiện trong rất nhiều ứng dụng thực tế Chẳng hạn khi
cần xác định cường độ lớn nhất của d òng vận tải giữa hai nút của một bản đồ giao thông Một thí dụ khác là nếu xét đồ thị tương ứng với một hệ thống đ ường ống dẫn dầu, trong đó các ống tương ứng với các cung, điểm phát có thể coi l à tàu chở dầu, điểm thu là bể chứa, còn các điểm nối giữa các ống là các nút của đồ thị, khả năng thông qua của các cung t ương
ứng với tiết diện các ống Cần phải t ìm luồng dầu lớn nhất có thể b ơm dầu từ tàu chở dầu
Ford-Chương trình
- Cho phép tạo trực tiếp một đồ thị có trọng số.
- Xác đỉnh điềm bắt đầu.
- Tính và hiển thị luồng cực đại lên màn hình.
MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ lập trình: Pascal, C, C++, Visual C, Borland C,…
TÀI LIỆU THAM KHẢO
- Đặng Huy Ruận, Lý thuyết đồ thị và ứng dụng, Nhà xuất bản khoa học và kỹ
thuật - Hà nội 2000.
- Phạm văn Thiều, Đặng Hữu Thịnh Toán rời rạc ứng dụng trong tin học Nhà
xuất bản Khoa học và Kỹ thuật, Hà Nội - 1997
KENNETH H ROSEN Discrete Mathematics and Its Applications McGraw
-Hill, 1994.
Trang 8-Dữ liệu đầu ra: Lưu kết quả mã hóa/ giải mã vào file.
YÊU CẦU CỦA ĐỀ TÀI:
- Về lý thuyết : Các vấn đề lý thuyết cần tìm hiểu.
Các khái niệm mã hóa dữ liệu
Qui trình mã hóa dữ liệu, giải mã dữ liệu
Mã hóa dữ liệu theo phương pháp Caesar
- Về lập trình: Viết một chương trình hoàn chỉnh gồm các chức năng.
Mã hóa/ giải mã file dữ liệu khi biết tên file dữ liệu và tên file kết quả
Nhận đoạn text từ bàn phím, mã hóa và lưu vào file kết quả
MÔI TRƯỜNG CÀI ĐẶT:
- Cấu hình máy : trung bình
- Ngôn ngữ sử dụng : sinh viên có thể sử dụng C/C++, Visual C++, Visual Basic, Delphi,
và các ngôn ngữ lập trình liên quan
TÀI LIỆU THAM KHẢO :
1.Toán học rời rạc ứng dụng trong tin học – KENNETH H.ROSEN (Phạm Văn Thiều, ĐặngHữu Thịnh dịch)
2 Giáo trình Lý thuyết thông tin – Khoa CNTT-ĐHCT
3 Các tài liệu có liên quan khác về kỹ thuật lập trình
Trang 9MSĐT: NL1-11TH009
TÌM HIỂU PHƯƠNG PHÁP CHIA ĐÔI Đ Ể TÍNH GẦN ĐÚNG
NGHIỆM THỰC CỦA MỘT PHƯƠNG TRÌNH
ĐẶC TẢ ĐỀ TÀI
Nghiệm thực của một phương trình f(x) là số thực a thỏa f(a) = 0.
Để tìm nghiệm thực của một phương trình cần tìm hiểu khoảng cách li nghiệm Nếu
[a,b] là một khoảng trong đó hàm f(x) liên tục và đơn điệu, đồng thời f(a).f(b) <0 thì [a,b]
được gọi là một khoảng cách li nghiệm của ph ương trình f(x).
Phương pháp chia đôi là t ìm cách thu nhỏ dần khoảng cách li nghiệm bằng cách chia đôi liên tiếp các khoảng cách li nghiệm đ ã tìm ra.
YÊU CẦU CỦA ĐỀ TÀI
Về lý thuyết :
Tìm hiểu và trình bày các khái niện cơ bản về :
- Nghiệm thực của phương trình một ẩn, ý nghĩa hình học của nghiệm.
- Sự tồn tại nghiệm thực của ph ương trình, minh họa trên đồ thị (cho ví dụ).
- Khoảng cách li nghiệm, minh họa trên đồ thị (cho ví dụ).
- Tìm hiểu phương pháp chia đôi, từ đó thiết lập thuật toán của ph ương pháp chia
đôi.
- Dựa vào thuật toán vẽ sơ đồ khối.
Về chương trình
- Viết chương trình dựa vào sơ đồ đã thiết lập.
- Xây dựng giao diện thân thiện với ng ười sử dụng.
- Kết quả chính xác.
MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ sử dụng : Pascal,C, Delphi, Visual Basic, Visual C++, Java
TÀI LIỆU THAM KHẢO:
1 Dương Việt Hằng, bài giảng PHƯƠNG PHÁP TÍNH, Khoa Công ngh ệ thông tin, Đại học Bạc Liêu.
2 GS Tạ Văn Đĩnh, PHƯƠNG PHÁP TÍNH, Nhà xu ất bản giáo dục, 1999.
3 Trần Văn Minh, PHƯƠNG PHÁP SỐ, Nhà xuất bản Khoa học kỹ thuật, H à nội 1998.
Trang 10MSĐT: NL1-11TH010
TÌM HIỂU PHƯƠNG PHÁP DÂY CUNG ĐỂ TÍNH GẦN ĐÚNG
NGHIỆM THỰC CỦA MỘT PHƯƠNG TRÌNH
ĐẶC TẢ ĐỀ TÀI
Nghiệm thực của một phương trình f(x) là số thực a thỏa f(a) = 0
Để tìm nghiệm thực của một phương trình cần tìm hiểu khoảng cách li nghiệm Nếu [a,b] l àmột khoảng trong đó hàm f(x) liên t ục và đơn điệu, đồng thời f(a).f(b) <0 th ì [a,b] được gọi là mộtkhoảng cách li nghiệm của ph ương trình f(x)
Phương pháp cung là t ìm cách thu nhỏ dần khoảng cách li nghiệm bằng cách t ìm giao điểmcủa dây cung nối A(a, f(a)) và B(b, f(b)) để tìm các khoảng cách li nghiệm mới
YÊU CẦU CỦA ĐỀ TÀI
Về lý thuyết :
Tìm hiểu và trình bày các khái niện cơ bản về :
- Nghiệm thực của phương trình một ẩn, ý nghĩa hình học của nghiệm
- Sự tồn tại nghiệm thực của phương trình, minh họa trên đồ thị (cho ví dụ)
- Khoảng cách li nghiệm, minh họa tr ên đồ thị (cho ví dụ)
- Tìm hiểu phương pháp dây cung, từ đó thiết lập thuật toán của ph ương pháp dây cung
- Dựa vào thuật toán vẽ sơ đồ khối
Về chương trình
- Viết chương trình dựa vào sơ đồ đã thiết lập
- Xây dựng giao diện thân thiện với ng ười sử dụng
- Kết quả chính xác
MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ sử dụng : Pascal, C, Delphi, Visual Basic, Visual C++, Java
TÀI LIỆU THAM KHẢO:
1 Dương Việt Hằng, bài giảng PHƯƠNG PHÁP TÍNH, Khoa Công ngh ệ thông tin, Đại họcBạc Liêu
2 GS Tạ Văn Đĩnh, PHƯƠNG PHÁP TÍNH, Nhà xu ất bản giáo dục, 1999
3 Trần Văn Minh, PHƯƠNG PHÁP SỐ, Nhà xuất bản Khoa học kỹ thuật, H à nội 1998
Trang 11MSĐT: NL1-11TH011
TÌM HIỂU PHƯƠNG PHÁP NEWTON (TI ẾP TUYẾN) ĐỂ TÍNH GẦN ĐÚNG NGHIỆM THỰC CỦA MỘT PHƯƠNG TRÌNH
ĐẶC TẢ ĐỀ TÀI
Nghiệm thực của một phương trình f(x) là số thực a thỏa f(a) = 0
Để tìm nghiệm thực của một phương trình cần tìm hiểu khoảng cách li nghiệm Nếu [a,b] l àmột khoảng trong đó hàm f(x) liên tục và đơn điệu, đồng thời f(a).f(b) <0 th ì [a,b] được gọi là mộtkhoảng cách li nghiệm của ph ương trình f(x)
Phương pháp cung là tìm cách thu nh ỏ dần khoảng cách li nghiệm bằng cách t ìm giao điểmcủa tiếp tuyến tại A(a, f(a)) hoặc tại B(b, f(b)) để t ìm các khoảng cách li nghiệm mới
YÊU CẦU CỦA ĐỀ TÀI
Về lý thuyết :
Tìm hiểu và trình bày các khái niện cơ bản về :
- Nghiệm thực của phương trình một ẩn, ý nghĩa hình học của nghiệm
- Sự tồn tại nghiệm thực của ph ương trình, minh họa trên đồ thị (cho ví dụ)
- Khoảng cách li nghiệm, minh họa tr ên đồ thị (cho ví dụ)
- Tìm hiểu phương pháp dây cung, từ đó thiết lập thuật toán của ph ương pháp dây cung
- Dựa vào thuật toán vẽ sơ đồ khối
Về chương trình
- Viết chương trình dựa vào sơ đồ đã thiết lập
- Xây dựng giao diện thân thiệ n với người sử dụng
- Kết quả chính xác
MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ sử dụng : Pascal, C, Delphi, Visual Basic, Visual C++, Java
TÀI LIỆU THAM KHẢO:
1 Dương Việt Hằng, bài giảng PHƯƠNG PHÁP TÍNH, Khoa Công ngh ệ thông tin, Đại họcBạc Liêu
2 GS Tạ Văn Đĩnh, PHƯƠNG PHÁP TÍNH, Nhà xu ất bản giáo dục, 1999
3 Trần Văn Minh, PHƯƠNG PHÁP SỐ, Nhà xuất bản Khoa học kỹ thuật, H à nội 1998
Trang 12MSĐT: NL1-11TH012
GIẢI HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH BẰNG
PHƯƠNG PHÁP CRAMER
ĐẶC TẢ ĐỀ TÀI
Có nhiều phương pháp giải một hệ phương trình tuyến tính với hệ số thực Đề t ài này
quan tâm đến việc trình bày các hệ số và nghiệm của hệ dưới dạng phân số Phương pháp được chọn là Cramer, dựa vào định thức.
YÊU CẦU CỦA ĐỀ TÀI
Về lý thuyết :
- Trình bày cơ sở lý thuyết của phương pháp Cramer.
- Trình bày cơ sở lý thuyết của phương pháp tính định thức.
- Trình bày giải thuật và lưu đồ xử lý các thủ tục được cài đặt.
Về lập trình : Cài đặt các thủ tục chính sau đây
- Các phép toán số học trên phân số
- Output là nghiệm của hệ phương trình
MÔI TRƯỜNG CÀI ĐẶT :
- Ngôn ngữ sử dụng : Pascal, C, C++, Visual C,…
TÀI LIỆU THAM KHẢO :
1 Dương Việt Hằng, bài giảng PHƯƠNG PHÁP TÍNH, Khoa Công ngh ệ thông tin, Đại họcBạc Liêu
2 GS Tạ Văn Đĩnh, PHƯƠNG PHÁP TÍNH, Nhà xu ất bản giáo dục, 1999
3 Trần Văn Minh, PHƯƠNG PHÁP SỐ, Nhà xuất bản Khoa học kỹ thuật, H à nội 1998
Trang 13MSĐT: NL1-11TH013
GIẢI HỆ PHƯƠNG TRÌNH TUYẾN TÍNH BẰNG PHƯƠNG PHÁP
GAUSSE, PHẦN TỬ CHÍNH
ĐẶC TẢ ĐỀ TÀI
Giải hệ phương trình tuyến tính theo các phương pháp: Gausse, ph ần tử chính.
YÊU CẦU CỦA ĐỀ TÀI
phương pháp căn bậc 2.
Chương trình (Demo):
- Cho phép nhập các hệ số của một hệ ph ương trình tuyến tính trong đó các hệ số
được nhập từ bàn phím, lấy các hệ số từ text file đ ã có sẳn.
VD: dạng của text file:
a11 a12- - - a1n a1,n+1
a21 a22- - - a2n a2,n+1
an1 an2- - - ann an, n+1
- Cho phép giải hệ phương trình vừa nhập theo phương pháp Gausse, phần tử chính.
- Hiển thị kết quả lên màn hình, ra text file theo th ứ tự của từng giai đoạn trong quá trình giải hệ Xác định kết quả cuối c ùng Trong trường hợp hệ có nhiều nghiệm th ì tìm tất
cả các nghiệm có thể có (L ưu ý trường hợp hệ vô số nghiệm).
- Viết phần giao diện để thực hiện các vấn đ ề trên.
MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ lập trình: Pascal, C, C++, Visual C, Borland C …
TÀI LIỆU THAM KHẢO
1 Dương Việt Hằng, bài giảng PHƯƠNG PHÁP TÍNH, Khoa Công ngh ệ thông tin, Đại họcBạc Liêu
2 GS Tạ Văn Đĩnh, PHƯƠNG PHÁP TÍNH, Nhà xu ất bản Giáo dục, 1999
3 Trần Văn Minh, PHƯƠNG PHÁP SỐ, Nhà xuất bản Khoa học kỹ thuật, H à nội 1998
4 Lê Đình Thịnh, PHƯƠNG PHÁP TÍNH, Nhà xu ất bản Giáo dục, 1999.
5 Nguyễn Đình Trí, TOÁN CAO CẤP, Nhà xuất bản Giáo dục, 1999.
Trang 14- Hiểu các kiểu dữ liệu cơ bản để có thể vận dụng nó để c ài đặt bảng giá trị một hàm
số (dùng cấu trúc dữ liệu đã học hoặc text file).
Chương trình
- Cho phép tính giá trị cho hàm số với bảng giá trị được nhập từ bàn phím, text file
VD: File text lưu bảng giá trị có dạng:
1 3 5 7 9 <- Đây là các giá trị của x
2 4 6 8 10 <- Đây là các giá trị của y
- Nhập giá trị x cần tính Ch ương trình tự xác định công thức ph ù hợp đề tính gia trị
cho y tương ứng sao cho sử dụng tối đa bảng dữ liệu đ ã nhập.
- Tính giá trị, sai số theo các công thức đ ã nêu trên.
- Hiển thị kết quả ra m àn hình, file (kết quả gồm có bảng giá trị đ ã cho ban đầu, kết quả của hàm ứng với giá trị x nào đó và sai số tương ứng của nó).
- Viết phần giao diện để thực hiện các vấn đề tr ên.
MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ lập trình: Pascal, C, C++, Visual C, Borland C,…
TÀI LIỆU THAM KHẢO
1 Dương Việt Hằng, bài giảng PHƯƠNG PHÁP TÍNH, Khoa Công ngh ệ thông tin, Đại họcBạc Liêu
2 GS Tạ Văn Đĩnh, PHƯƠNG PHÁP TÍNH, Nhà xu ất bản Giáo dục, 1999
3 Trần Văn Minh, PHƯƠNG PHÁP SỐ, Nhà xuất bản Khoa học kỹ thuật, H à nội 1998
4 Lê Đình Thịnh, PHƯƠNG PHÁP TÍNH, Nhà xu ất bản Giáo dục, 1999.
Trang 15- Hiểu các kiểu dữ liệu cơ bản để có thể vận dụng nó để c ài đặt bảng giá trị một hàm
số (dùng cấu trúc dữ liệu đã học hoặc text file).
Chương trình
- Cho phép tính giá trị cho hàm số với bảng giá trị được nhập từ bàn phím, text file
VD: File text lưu bảng giá trị có dạng:
1 3 5 7 9 <- Đây là các giá trị của x
2 4 6 8 10 <- Đây là các giá trị của y
- Nhập giá trị x cần tính Ch ương trình tự xác định công thức ph ù hợp đề tính gia trị
cho y tương ứng sao cho sử dụng tối đa bảng dữ liệu đã nhập.
- Tính giá trị, sai số theo các công thức đ ã nêu trên.
- Hiển thị kết quả ra m àn hình, file (kết quả gồm có bảng giá trị đ ã cho ban đầu, kết quả của hàm ứng với giá trị x nào đó và sai số tương ứng của nó).
- Viết phần giao diện để thực hiện các vấn đề tr ên.
MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ lập trình: Pascal, C, C++, Visual C, Borland C,…
TÀI LIỆU THAM KHẢO
1 Dương Việt Hằng, bài giảng PHƯƠNG PHÁP TÍNH, Khoa Công ngh ệ thông tin, Đại họcBạc Liêu
2 GS Tạ Văn Đĩnh, PHƯƠNG PHÁP TÍNH, Nhà xuất bản Giáo dục, 1999
3 Trần Văn Minh, PHƯƠNG PHÁP SỐ, Nhà xuất bản Khoa học kỹ thuật, H à nội 1998
4 Lê Đình Thịnh, PHƯƠNG PHÁP TÍNH, Nhà xu ất bản Giáo dục, 1999.
Trang 16f( ) Tuy nhiên co một số hàm f(x) mà việc tìm nguyên hàm rất khó khăn hoặc hàm f(x) không có công th ức cụ thể Đề tài này
quan tâm đến việc tính tích phân b
a
dx x
f( ) bằng cách chia đoạn [a, b] th ành các đoạn con bằng nhau và dùng công thức hình thang, công thức Simpson để tính.
YÊU CẦU CỦA ĐỀ TÀI
Về lý thuyết :
- Trình bày cơ sở lý thuyết của phương pháp hình thang.
- Trình bày cơ sở lý thuyết của phương pháp hình thang.
- Trình bày giải thuật và lưu đồ xử lý các thủ tục được cài đặt.
Về lập trình :
- Cho phép tính giá trị cho hàm số với bảng giá trị được nhập từ bàn phím, text file
VD: File text lưu bảng giá trị có dạng:
1 3 5 7 9 <- Đây là các giá trị của x
2 4 6 8 10 <- Đây là các giá trị của y Hoặc tính giá trị cho hàm số với a, b và số khoảng chia được nhập từ bàn phím, text file
- Tính gần đúng tích phân, sai số theo các công thức đ ã nêu phần lý thuyết.
- Hiển thị kết quả ra màn hình, kết quả gồm giá trị gần đúng của tích phân v à sai số
tương ứng của nó.
- Viết phần giao diện để thực hiện các vấn đề tr ên.
MÔI TRƯỜNG CÀI ĐẶT :
- Ngôn ngữ sử dụng : Pascal, C, C++, Visual C, …
TÀI LIỆU THAM KHẢO :
1 Dương Việt Hằng, bài giảng PHƯƠNG PHÁP TÍNH, Khoa Công nghệ thông tin, Đại họcBạc Liêu
2 GS Tạ Văn Đĩnh, PHƯƠNG PHÁP TÍNH, Nhà xu ất bản giáo dục, 1999
3 Trần Văn Minh, PHƯƠNG PHÁP SỐ, Nhà xuất bản Khoa học kỹ thuật, H à nội 1998
Trang 17YÊU CẦU CỦA ĐỀ TÀI :
Về lý thuyết:
- Nắm vững lý thuyết cơ bản về cấu trúc dữ liệu v à giải thuật
- Cách tổ chức của một cây sắp xếp ngo ài.
Về chương trình:
- Dữ liệu nhập vào dưới dạng file hoặc từ bàn phím chứa các thông tin sau : tổng số nút trên cây, một dãy giá trị các nút lá của cây.
- Xây dựng và hiển thị cây nhị phân với giá trị các nút tr ên màn hình đồ họa.
- Cài đặt quá trình thực hiện các giải thuật sau (thể hiện cây v à quá trình xử lý trên màn hình đồ họa) :
+ Duyệt cây nhị phân theo tiền tự, trung tự, hậu tự.
+ Tìm kiếm một nút trên cây với khóa được cung cấp.
+ Tìm kiếm và thêm vào trên cây nhị phân.
+ Tìm kiếm và loại bỏ trên cây nhị phân.
- Dịch chương trình sang file thực thi.
MÔI TRƯỜNG CÀI ĐẶT :
Ngôn ngữ lập trình sử dụng: Pascal, C, C++, VB, C#, Java
TÀI LIỆU THAM KHẢO
1 Nguyễn Văn Linh, Giáo trình Giải thuật – Khoa CNTT – ĐHCT :
http://www.dec.ctu.edu.vn/cit/gtrinh/gthuat /
2 A Aho, J Ullman, Data Structures and Algorithms
3 Wirth, Chương trình = Cấu trúc dữ liệu + Giải thuật
4 Nguyễn Trung Trực, Cấu trúc dữ liệu - ĐHBK Thành phố HCM
5 Robert Sedgewick, Cẩm nang thuật toán 1,2
Trang 18MSĐT : NL1-11TH018
ĐỀ TÀI: BÀI TOÁN ĐƯỜNG ĐI NGƯỜI GIAO HÀNG
(Kỹ thuật Quy hoạch động)
ĐẶC TẢ ĐỀ TÀI
Nội dung bài toán:
Xét bài toán rất nổi tiếng có tên là bài toán tìm đường đi của người giao hàng (TSP Traveling Salesman Problem): Có m ột người giao hàng cần đi giao hàng tại n thành phố Xuất phát
-từ một thành phố nào đó, đi qua các thành ph ố khác để giao hàng và trở về thành phố ban đầu Mỗithành phố chỉ đến một lần, khoảng cách từ một thành phố đến các thành phố khác là xác định được.Hãy tìm một chu trình (một đường đi khép kín thỏa m ãn điều kiện trên) sao cho tổng độ dài cáccạnh là nhỏ nhất
YÊU CẦU CỦA ĐỀ TÀI
Nắm vững cơ sở lý thuyết về cấu trúc dữ liệu Các kỹ thuật thiết kế giải thuật
Chương trình cần có các chức năng sau: Cho phép nhập v ào bài toán: số thành phố, khoảngcách giữa các thành phố (có thể lấy số liệu từ trong tập tin) Xuất ra ph ương án tìm được Nếu thểhiện dưới dạng đồ hoạ càng tốt
MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ lập trình sử dụng : Pascal, C, C++ hoặc Java, t ùy chọn
TÀI LIỆU THAM KHẢO
1) Data Structures and Algorithms - A Aho, J Ullman
2) Algorithms - R Sedgewick
3) Cấu trúc dữ liệu + Giải thuật = Chương trình – N.Wirth
4) Cấu trúc dữ liệu - Nguyễn Trung Trực, ĐHBK TP HCM
5) Giải thuật - Nguyễn Văn Linh - Khoa CNTT
Trang 19MSĐT : NL1-11TH019
ĐỀ TÀI: BÀI TOÁN ĐƯỜNG ĐI NGƯỜI GIAO HÀNG
(Kỹ thuật Nhánh cận)
ĐẶC TẢ ĐỀ TÀI
Nội dung bài toán:
Xét bài toán rất nổi tiếng có tên là bài toán tìm đường đi của người giao hàng (TSP Traveling Salesman Problem): Có m ột người giao hàng cần đi giao hàng tại n thành phố Xuất phát
-từ một thành phố nào đó, đi qua các thành ph ố khác để giao hàng và trở về thành phố ban đầu Mỗithành phố chỉ đến một lần, khoảng cách từ một th ành phố đến các thành phố khác là xác định được.Hãy tìm một chu trình (một đường đi khép kín thỏa m ãn điều kiện trên) sao cho tổng độ dài cáccạnh là nhỏ nhất
YÊU CẦU CỦA ĐỀ TÀI
Nắm vững cơ sở lý thuyết về cấu trúc dữ liệu Các kỹ thuật thiết kế giải thuật
Chương trình cần có các chức năng sau: Cho phép nhập v ào bài toán: số thành phố, khoảngcách giữa các thành phố (có thể lấy số liệu từ trong tập tin) Xuất ra ph ương án tìm được Nếu thểhiện dưới dạng đồ hoạ càng tốt
MÔT TRƯỜNG CÀI ĐẶT
Ngôn ngữ lập trình sử dụng: Pascal, C, C++ hoặc Java, t ùy chọn
TÀI LIỆU THAM KHẢO
1) Data Structures and Algorithms - A Aho, J Ullman
2) Algorithms - R Sedgewick
3) Cấu trúc dữ liệu + Giải thuật = Chương trình – N.Wirth
4) Cấu trúc dữ liệu - Nguyễn Trung Trực, ĐHBK TP HCM
5) Giải thuật - Nguyễn Văn Linh - Khoa CNTT
Trang 20MSĐT : NL1-11TH020
ĐỀ TÀI: BÀI TOÁN CÁI BA LÔ
(Kỹ thuật Quy hoạch động)
ĐẶC TẢ ĐỀ TÀI
Nội dung bài toán:
Cho một cái ba lô có thể đựng một trọng l ượng W và n loại đồ vật, mỗi đồ vật i có một trọnglượng gi và một giá trị vi Tất cả các loại đồ vật đều có s ố lượng không hạn chế Tìm một cách lựachọn các đồ vật đựng vào ba lô, chọn các loại đồ vật nào, mỗi loại lấy bao nhiêu sao cho tổng trọnglượng không vượt quá W và tổng giá trị là lớn nhất
YÊU CẦU CỦA ĐỀ TÀI
- Nắm vững cơ sở lý thuyết về cấu trúc dữ liệu Các kỹ thuật thiết kế giải thuật
- Chương trình cần có các chức năng sau: Cho phép nhập v ào bài toán: Trọng lượng của ba
lô, số loại đồ vật, trọng lượng và giá trị của từng loại đồ vật (có thể lấy dữ liệu từ trong tập tin).Xuất ra phương án: Số lượng từng vật được chọn, tổng trọng lượng và tổng giá trị của các vật đ ượcchọn
MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ lập trình sử dụng: Pascal, C, C++ hoặc Java
TÀI LIỆU THAM KHẢO
Giải thuật - Nguyễn Văn Linh - Khoa CNTT
Trang 21MSĐT : NL1-11TH021
ĐỀ TÀI: BÀI TOÁN CÁI BA LÔ
(Kỹ thuật Nhánh cận)
ĐẶC TẢ ĐỀ TÀI
Nội dung bài toán:
Cho một cái ba lô có thể đựng một trọng lượng W và n loại đồ vật, mỗi đồ vật i có một trọnglượng gi và một giá trị vi Tất cả các loại đồ vật đều có số lượng không hạn chế Tìm một cách lựachọn các đồ vật đựng vào ba lô, chọn các loại đồ vật nào, mỗi loại lấy bao nhiêu sao cho tổng trọnglượng không vượt quá W và tổng giá trị là lớn nhất
YÊU CẦU CỦA ĐỀ TÀI
- Nắm vững cơ sở lý thuyết về cấu trúc dữ liệu Các kỹ thuật thiết kế giải thuật
- Chương trình cần có các chức năng sau: Cho phép nhập vào bài toán: Trọng lượng của ba
lô, số loại đồ vật, trọng lượng và giá trị của từng loại đồ vật (có thể lấy dữ liệu từ trong tập tin).Xuất ra phương án: Số lượng từng vật được chọn, tổng trọng lượng và tổng giá trị của các vật đượcchọn
MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ lập trình sử dụng : Pascal, C, C++ hoặc Java, tùy chọn
TÀI LIỆU THAM KHẢO
Giải thuật - Nguyễn Văn Linh - Khoa CNTT
Trang 22MSĐT : NL1-11TH022
ĐỀ TÀI: CHUYÊN ĐỀ KỸ THUẬT QUY HOẠCH ĐỘNG
ĐẶC TẢ ĐỀ TÀI
Sưu tầm, tuyển chọn các bài toán có thể giải bằng kỹ thuật quy hoạch động
YÊU CẦU CỦA ĐỀ TÀI
Trình bày cơ sở xuất phát và nội dung kỹ thuật quy hoach động Tuyển chọn ít nhất 5 b àitoán có thể giải bằng kỹ thuật quy hoạch động Vớ i mỗi bài cần mô tả cấu trúc dữ liệu, giải thuậtthực hiện, độ phức tạp của giải thuật v à cài đặt chương trình
MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ lập trình sử dụng : Pascal, C, C++ hoặc Java, t ùy chọn
TÀI LIỆU THAM KHẢO
Giải thuật - Nguyễn Văn Linh - Khoa CNTT
Trang 23MSĐT : NL1-11TH023
ĐỀ TÀI: CHUYÊN ĐỀ KỸ THUẬT NHÁNH CẬN
ĐẶC TẢ ĐỀ TÀI
Sưu tầm, tuyển chọn các bài toán có thể giải bằng kỹ thuật nhánh cận
YÊU CẦU CỦA ĐỀ TÀI
Trình bày cơ sở xuất phát và nội dung kỹ thuật nhánh cận Tuyển chọn ít nhất 3 b ài toán cóthể giải bằng kỹ thuật nhánh cận Với mỗi b ài cần mô tả cấu trúc dữ liệu, giải thuật thực hiện, độphức tạp của giải thuật và cài đặt chương trình
MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ lập trình sử dụng : Pascal, C, C++ hoặc Java, t ùy chọn
TÀI LIỆU THAM KHẢO
Giải thuật - Nguyễn Văn Linh - Khoa CNTT
Trang 24MSĐT : NL1-11TH024
ĐỀ TÀI: BÀI TOÁN “8 QUÂN H ẬU”
ĐẶC TẢ ĐỀ TÀI:
Bài toán : Đặt 8 quân hậu trên bàn cờ vua 8*8 sao cho không có quân h ậu nào có thể tấn công được
con khác (theo luật chơi cờ vua), nghĩa là phải đặt các quân hậu sao cho không có hàng, c ột hoặcđường chéo nào trên bàn cờ có hơn 1 quân hậu Chẳng hạn, một cách đặt quân hậu đúng như sau :
YÊU CẦU CỦA ĐỀ TÀI:
- Cài đặt cấu trúc dữ liệu tổ chức bàn cờ
- Cài đặt thuật toán tìm kiếm sâu kết hợp quay lui theo nguyên
tắc : Trước tiên, đặt quân hậu vào ô thứ nhất của cột 1, rõ ràng
tất cả các ô của cột đó đã bị khống chế nên không thể đặt quân hậu khác Đặt tiếp một quân hậu vàocột thứ hai, hai ô đầu của cột đó đã bị cấm bởi quân hậu thứ nhất, do vậy ta đặt quân hậu vào ô thứ
ba Tiếp tục với cột thứ ba, ô đầu tiên có thể đặt quân hậu của cột này là ô thứ năm … Tiếp tục vớicác cột còn lại trên bàn cờ cho đến khi tìm được một lời giải đúng
- Hiển thị bàn cờ sau mỗi nước đi
- Dịch chương trình sang file thực thi
MÔI TRƯỜNG CÀI ĐẶT:
Ngôn ngữ lập trình sử dụng : Pascal, C, C++
TÀI LIỆU THAM KHẢO
1) A Aho, J Ullman, Data Structures and Algorithms
2) Wirth, Chương trình = Cấu trúc dữ liệu + Giải thuật
3) Nguyễn Trung Trực, Cấu trúc dữ liệu - ĐHBK tp HCM
4) Robert Sedgewick, Cẩm nang thuật toán 1,2
Q Q
Q Q
Q
Q
Q
Q