intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Mai Tan | Ngày: | Loại File: DOC | Số trang:2

290
lượt xem
86
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Thể theo yêu cầu của đông đảo bạn đọc, chúng tôi biên soạn lại cuốn Sá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ọc sinh và sinh viên nhằm cung cấp những kĩ thuật lập trình cơ bản để giải những bài toán khó trên máy tính.

Chủ đề:
Lưu

Nội dung Text: Sáng tạo trong Thuật toán và Lập trình

  1. 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 ốn Sá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 ọc sinh và sinh viên nhằm cung cấp những kĩ thuật lập trình cơ bản để giải nhữ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 sinh trong đầu khi vừa biết nội dung bài toán thì hoặc là ta thu đ ược kết qu ả sai hoặc là lời giải thu được sẽ không hữu hiệu theo nghĩa chương trình đòi hỏi quá nhiều bộ nhớ hoặc/và chạy quá lâu. Những thuật giải nảy sinh l ập tức trong đầu như vậy thường được gọi là thuật giải tự nhiên. Dĩ nhiên, khái niệ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 ải tự 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 ập và 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 thu tố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 ần bạn biết sử dụng một trong các ngôn ngữ lập trình: Pascal trong môi tr ường Turbo 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 ểu bài toán suy cho cùng là không quan trọng. Các kĩ thuật l ập trình và ph ương pháp xây dựng thuật giải cho những bài toán thường được dùng rộng rãi trong 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 ạn học sinh, sinh viên các trường đại học và những bạn đọc muốn tự hoàn thiện tri 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ác trường phổ thông. Nội dung sách gồm hai phần. Phần thứ nhất giới thi ệu vắ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 ới nhữ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 ằng ngôn ngữ lập trình Pascal và C# để bạn đọc tiện so sánh với l ời gi ải c ủa mì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ài tậ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ác kĩ 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ài toá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
  2. 2 Chương I. Giải một bài toỏn tin pháp tham lam, phương pháp quay lui và quy hoạch động . Các phương pháp này đều là không vạn năng theo nghĩa không thể dùng chúng để giải mọi bài toán tin. Trong thực tế, một phương pháp vạn năng như vậy là không hữu hiệu. Tuỳ theo nội dung bài toán mà ta chọn phương pháp phù hợp. Đó cũng là đ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ột số 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ài giả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ôi trường ngôn ngữ C# để các bạn sinh viên cùng tham khảo. Hi v ọng r ằng trong 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ình cụ 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ét và 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 cho các tập tiếp theo. Hà Nội, Lễ Hội Đạp Thanh - 2008 N.X.H
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2