BỘ GIÁO DỤC VÀ ĐÀO TẠO
BỘ GIAO THÔNG VẬN TẢI
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM
--------- oOo --------
BÁO CÁO CUỐI KỲ
MƠN HỌC: LẬP TRÌNH LOGIC VÀ RÀNG BUỘC
Nội dung: Ngữ nghĩa của chương trình Prolog
TP.HCM.3 NĂM 2023
NHẬN XÉT CỦA GIẢNG VIÊN
I
MỤC LỤC
Phần 1: Lý thuyết……………………………………………………………………1
I. Quan hệ giữa Prolog và logich tốn học ...........................................................................................1
II. Các mức nghĩa của chương trình Prolog ......................................................................................... 2
II.1. Nghĩa khai báo của chương trình Prolog ......................................................................................2
II.2. Khái niệm về gói mệnh đề ............................................................................................................3
II.3. Nghĩa Logich của các mệnh đề .................................................................................................... 4
II.4. Nghĩa thủ tục của Prolog .............................................................................................................. 5
II.5. Tổ hợp các yếu tố khai báo và thủ tục ........................................................................................10
III. Sắp đặt thứ tự các mệnh đề và các đích ....................................................................................... 11
III.1. Nguy cơ lặp các vịng lặp vơ hạn .............................................................................................. 11
III.2. Thay đổi thứ tự mệnh đề và đích trong chương trình ............................................................... 11
Phần 2: Bài tập...........................................................................................................20
Bài 1: .................................................................................................................................................. 19
Bài 2: .................................................................................................................................................. 20
Bài 3: .................................................................................................................................................. 22
Bài 4: .................................................................................................................................................. 23
Bài 5: .................................................................................................................................................. 23
Bài 6: .................................................................................................................................................. 24
Bài 7: .................................................................................................................................................. 24
Bài 8: .................................................................................................................................................. 25
Bài 9: .................................................................................................................................................. 27
Bài 10: ................................................................................................................................................ 27
II
Phần 1: Lý thuyết
I. Quan hệ giữa Prolog và logich toán học
1
II. Các mức nghĩa của chương trình Prolog
II.1. Nghĩa khai báo của chương trình Prolog
2
II.2. Khái niệm về gói mệnh đề
3
II.3. Nghĩa Logich của các mệnh đề
4
II.4. Nghĩa thủ tục của Prolog
5
6
7
8
9
II.5. Tổ hợp các yếu tố khai báo và thủ tục
10
III. Sắp đặt thứ tự các mệnh đề và các đích
III.1. Nguy cơ lặp các vịng lặp vơ hạn
III.2. Thay đổi thứ tự mệnh đề và đích trong chương trình
11
12
13
14
15
Phần 2: BÀI TẬP
16
17
18
BÀI LÀM
Bài 1:
1. Kết quả nhận được khi thực hiện truy vấn "?-flies(X)" trong chương trình Prolog
trên là:
X = percy ;
X = tweety ;
X = peter ;
X = concorde ;
X = jumbo ;
X = fred ;
Hình 1. Chạy chương trình bài 1 trên phần mềm SWI-Prolog
19
Bài 2:
20
Có quay lui. Vì khi xét đến trường hợp thất bại, prolog sẽ quay lui về trước đó
để xét 1 hướng khác, khi khơng cịn khả năng xét nào nữa sẽ đưa ra False.
21
Hình 2. Chạy chương trình bài 2 trên phần mềm SWI-Prolog
Bài 3:
translate(Number,Word):-(Number=1,Word=one).
translate(Number,Word):-(Number=2,Word=two).
translate(Number,Word):-(Number=3,Word=three).
Hình 3. Chạy chương trình bài 3 trên phần mềm SWI-Prolog
22