Giáo trình Lập trình logic trong prolog: Phần 2 - NXB Đại học Quốc gia

Nối tiếp phần 1, phần 2 sách gồm: Chương 4 trình bày cấu trúc danh sách và các phép xử lý cơ bản trên danh sách của prolog; chương 5 trình bày kỹ thuật lập trình nâng cao với prolog. Phần phụ lục giới thiệu ngôn ngữ lập trình SWI-Prolog, hướng dẫn cách cài đặt sử dụng phần mềm này và một số chương trình ví dụ tiêu biểu viết trong SWI Prolog đã chạy có kết quả. Cuốn sách này dùng làm giáo trình cho sinh viên ngành Tin học và những bạn đọc muốn tìm hiểu thêm về kỹ thuật lập trình cho lĩnh vực trí tuệ nhân tạo, . | CHƯƠNG 4 Cấu trúc danh sách Chương này trình bày khái niệm về danh sách, một trong những cấu trúc đơn giản nhất và thông dụng nhất, cùng với những chương trình tiêu biểu minh hoạ cách vận dụng danh sách trong Prolog. Cấu trúc danh sách tạo nên một môi trường lập trình thuận tiện của ngôn ngữ Prolog. I. Biểu diễn cấu trúc danh sách Danh sách là kiểu cấu trúc dữ liệu được sử dụng rộng rãi trong các ngôn ngữ lập trình phi số. Một danh sách là một dãy bất kỳ các đối tượng. Khác với kiểu dữ liệu tập hợp, các đối tượng của danh sách có thể trùng nhau (xuất hiện nhiều lần) và mỗi vị trí xuất hiện của đối tượng đều có ý nghĩa. Danh sách là cách diễn đạt ngắn gọn của kiểu dữ liệu hạng phức hợp trong Prolog. Hàm tử của danh sách là dấu chấm “.”. Do việc biểu diễn danh sách bởi hàm tử này có thể tạo ra những biểu thức mập mờ, nhất là khi xử lý các danh sách gồm nhiều phần tử lồng nhau, cho nên Prolog quy ước đặt dãy các phần tử của danh sách giữa các cặp móc vuông. Chẳng hạn .(a,.(b,[ ])). Là danh sách [ a, b ]. Danh sách các phần tử anne, tennis, tom, skier (tên người) được viết : [ anne, tennis, tom, skier ] chính là hàm tử : . ( anne, .( tennis, .( tom, .( skier, [ ] ) ) ) ) Cách viết dạng cặp móc vuông chỉ là xuất hiện bên ngoài của một danh sách. Như đã thấy ở mục trước, mọi đối tượng cấu trúc của Prolog đều có biểu diễn cây. Danh sách cũng không nằm ngoại lệ, cũng có cấu trúc cây. Làm cách nào để biểu diễn danh sách bởi một đối tượng Prolog chuẩn ? Có hai khả năng xảy ra là danh sách có thể rỗng hoặc không. Nếu danh sách rỗng, nó được viết dưới dạng một nguyên tử : [ ] 95 96 Lập trình lôgic trong Prolog Nếu danh sách khác rỗng, có thể xem nó được cấu trúc từ hai thành phần (pair syntax) : 1. Thành phần thứ nhất, được gọi là đầu (head) của danh sách. 2. Thành phần thứ hai, phần còn lại của danh sách (trừ ra phần đầu), được gọi là đuôi (tail) của danh sách, cũng là một danh sách. Trong ví dụ trên thì đầu là anne, còn đuôi là danh sách : [ tennis, tom, skier .

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã 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.