Danh mục

Sáng tạo trong Thuật toán và Lập trình

Số trang: 2      Loại file: doc      Dung lượng: 31.00 KB      Lượt xem: 16      Lượt tải: 0    
Hoai.2512

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (2 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Thể theo yêu cầu của đông đảo bạn đọc, chúng tôi biên soạn lại cuốnSáng tạo trong Thuật toán và Lập trình với các bài Toán Tin nâng cao cho họcsinh và sinh viên nhằm cung cấp những kĩ thuật lập trình cơ bản để giảinhững bài toán khó trên máy tính.
Nội dung trích xuất từ tài liệu:
Sáng tạo trong Thuật toán và Lập trình Lời nói đầu Thể theo yêu cầu của đông đảo bạn đọc, chúng tôi biên soạn l ại cu ốnSáng tạo trong Thuật toán và Lập trình với các bài Toán Tin nâng cao cho h ọcsinh và sinh viên nhằm cung cấp những kĩ thuật lập trình cơ bản để giảinhững bài toán khó trên máy tính. Một bài toán tin được hiểu là khó nếu ta sử dụng thuật giải mới nảy sinhtrong đầu khi vừa biết nội dung bài toán thì hoặc là ta thu đ ược kết qu ả saihoặc là lời giải thu được sẽ không hữu hiệu theo nghĩa chương trình đòi hỏiquá nhiều bộ nhớ hoặc/và chạy quá lâu. Những thuật giải nảy sinh l ập tứctrong đầu như vậy thường được gọi là thuật giải tự nhiên. Dĩ nhiên, kháiniệm này chỉ là tương đối. Nếu bạn đã nắm vững nhiều dạng thuật giải vàđã từng thử sức với nhiều bài toán khó thì đến một lúc nào đó các thuật gi ảitự nhiên của bạn sẽ đáng tin cậy. Đó cũng chính là mục đích c ủa sự h ọc t ậpvà rèn luyện và cũng là ước mơ của người viết tập sách này. Để đọc sách không đòi hỏi bạn phải có tri thức gì đặc bi ệt. Để ti ếp thutốt và đóng góp cho việc hiệu chỉnh và cải ti ến nội dung cu ốn sách ch ỉ c ầnbạn biết sử dụng một trong các ngôn ngữ lập trình: Pascal trong môi tr ườngTurbo hoặc Free Pascal hoặc C#. Các kĩ thuật lập trình được minh hoạ qua những bài toán cụ thể tươngđương với trình độ nâng cao của học sinh và sinh viên. Hình thức phát bi ểubài toán suy cho cùng là không quan trọng. Các kĩ thuật l ập trình và ph ươngpháp xây dựng thuật giải cho những bài toán thường được dùng rộng rãitrong quá trình thiết kế và cài đặt các phần mềm ứng dụng trong th ực ti ễn,cho nên việc sớm làm chủ các tri thức này mới thật sự là c ần thiết. Chính vìvậy mà chúng tôi cho rằng nội dung cuốn sách có thể phù h ợp v ới các b ạnhọc sinh, sinh viên các trường đại học và những bạn đọc muốn tự hoàn thiệntri thức trong lĩnh vực giải thuật và lập trình. Thiết nghĩ cu ốn sách cũng cóthể được dùng làm tài liệu tham khảo để dạy ở các lớp chuyên tin c ủa cáctrường phổ thông. Nội dung sách gồm hai phần. Phần thứ nhất giới thi ệuvắn tắt về bản chất các phương pháp và kĩ thuật lập trình và các đề toán đ ểcác bạn thử sức. Phần thứ hai trình bày và phân tích chi tiết l ời gi ải cùng v ớinhững bình luận và xuất xứ của các bài toán. Trong tập sách này cũng cung cấp toàn văn các chương trình vi ết b ằngngôn ngữ lập trình Pascal và C# để bạn đọc tiện so sánh với l ời gi ải c ủamình. Cả hai phần đều đề cập đến nội dung của tám chương như sau. Chương thứ nhất trình bày sơ đồ chung để giải một bài toán tin. Các bàitập ở chương này hầu hết thuộc loại dễ giải. Chương thứ hai giới thiệu cáckĩ thuật sinh dữ liệu một cách tự động nhằm phục vụ cho việc ki ểm th ử(test) chương trình. Chương thứ ba trình bày các kĩ thuật quản lí bàn phím vàmàn hình. Chương thứ tư đề cập đến cách thức tổ chức dữ liệu cho một bàitoán tin. Ba chương tiếp theo giới thiệu ba trong số các phương pháp kháphổ biến thường được vận dụng trong thiết kế thuật giải. Đó là phương 2Chương I. Giải một bài toỏn tinpháp tham lam, phương pháp quay lui và quy hoạch động . Các phương phápnày đều là không vạn năng theo nghĩa không thể dùng chúng để giải mọi bàitoán tin. Trong thực tế, một phương pháp vạn năng như vậy là không hữuhiệu. Tuỳ theo nội dung bài toán mà ta chọn phương pháp phù hợp. Đó cũnglà điểm khó, đòi hỏi ở bạn đọc một quá trình tìm tòi và tích luỹ kinh nghiệm. Riêng chương cuối cùng của cuốn sách, chương thứ tám gi ới thi ệu mộtsố bài toán tin để bạn đọc tự phát hiện phương pháp giải. Những nội dung trong tập sách này được tập hợp và chỉnh lí t ừ các bàigiảng về thuật toán và lập trình, từ các cuốn sách Tìm đường trong mê cung,Bắn tàu trên biển và từ các bài viết của tác giả đăng trong tạp chí Tin học vànhà trường và một số lời giải hay của các bạn học sinh. Lần xuất bản này chúng tôi trình bày thêm các bài gi ải vi ết trong môitrường ngôn ngữ C# để các bạn sinh viên cùng tham khảo. Hi v ọng r ằngtrong các dịp khác chúng tôi sẽ cung cấp thêm các ph ương án gi ải v ới b ạnđọc. Tuy nhiên, suy cho cùng, môi trường lập trình chỉ mang tính minh ho ạ.Khi đã biết thuật toán, việc thể hiện thuật toán đó trong môi trường lập trìnhcụ thể chắc chắn là việc làm quen thuộc của bạn đọc. Xin được chân thành cảm ơn các em học sinh, sinh viên, các thầy cô giáo,bạn bè và đồng nghiệp đã chia sẻ kinh nghiệm và trợ giúp tài liệu, nh ận xétvà bình luận để hình thành nội dung cơ bản của cuốn sách. Chúng tôi hi vọng sẽ tiếp tục nhận được những ý kiến phê bình của bạnđọc về nội dung, chất lượng và hình thức trình bày để có thể định hướng chocác tập tiếp theo. Hà Nội, Lễ Hội Đạp Thanh - 2008 N.X.H ...

Tài liệu được xem nhiều: