TAILIEUCHUNG - Thuật Toán Và Thuật Giải 14

END; DSLuat ARRAY [1SO_LUAT] OF Luat; 9; VAR CacLuat DSLuat; PROCEDURE KhoiDong; BEGIN CacLuat[1].DK := ‘x = Vx’; CacLuat[2].DK := ‘y = 0’; CacLuat[3].DK := ‘y0’; 9; CacLuat[1].ThaoTac := ‘x:=0’; CacLuat[2].ThaoTac:= ‘y:=Vy’; CacLuat[3].ThaoTac:= ‘k:=min(Vx-x,y), x:=x+k, y:=y-k’; END; BEGIN WHILE (xz) AND (yz) DO | END DSLuat ARRAY OF Luat 9 VAR CacLuat DSLuat PROCEDURE KhoiDong BEGIN CacLuat 1 .DK x Vx CacLuat 2 .DK y 0 CacLuat 3 .DK y 0 9 CacLuat 1 .ThaoTac x 0 CacLuat 2 .ThaoTac y Vy CacLuat 3 .ThaoTac k min Vx-x y x x k y y-k END BEGIN WHILE x z AND y z DO BEGIN FOR i 1 TO SO_LUAT DO IF GiaTriBoolean CacLuat i .DK THEN ThucHien CacLuat i . ThaoTac END END. Chúng ta tạm cho rằng trong quá trình chương trình thi hành ta có thể dễ dàng thay đổi số phần tử mảng CacLuat các ngôn ngữ lập trình sau này như Visual C Delphi đều cho phép điều này . Với chương trình này khi muốn sửa đổi tri thức bạn chỉ cần thay đổi giá trị mảng Luat là xong. Tuy nhiên người dùng vẫn gặp khó khăn khi muốn bổ sung hoặc hiệu chỉnh tri thức. Họ cần phải nhập các chuỗi đại loại như x 0 hoặc k min Vx-x y .Các chuỗi này tuy có ý nghĩa đối với chương trình nhưng vẫn còn khá xa lạ đối với người dùng bình thường. Chúng ta cần giảm bớt khoảng cách này lại bằng cách đưa ra những chuỗi điều kiện hoặc thao tác có ý nghĩa trực tiếp đối với người dùng. Chương trình sẽ có chuyển đổi lại các điều kiện và thao tác này sang dạng phù hợp với chương trình. Để làm được điều trên. Chúng ta cần phải liệt kê được các trạng thái và thao tác cơ bản của bài toán này. Sau đây là một số trạng thái và thao tác cơ bản. o Trạng thái cơ bản Bình X đầy Bình X rỗng Bình X không rỗng Bình X có n lít nước. o Thao tác Đổ hết nước trong bình Đổ đầy nước trong bình Đổ nước từ bình A sang bình B cho đến khi B đầy hoặc A rỗng. Lưu ý rằng ta không thể có thao tác Đổ n lít nước từ A sang B vì bài toán đã giả định rằng các bình đều không có vạch chia hơn nữa nếu ta biết cách đổ n lít nước từ A sang B thì lời giải bài toán trở thành quá đơn giản. Múc đầy X Đổ z lít nước từ X sang Y Vì đây là một bài toán đơn giản nên bạn có thể dễ nhận thấy rằng các trạng thái cơ bản và thao tác chẳng có gì khác so với các điều kiện mà chúng ta đã đưa ra. Kế tiếp ta sẽ viết các đoạn chương trình cho phép người dùng nhập vào các luật dạng nếu . thì . .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.