Nguyễn Văn Linh - Programing Language - Chapte
r 2
1
CHƯƠNG 9:
LẬP TRÌNH LOGIC
GIỚI THIỆU.
•
Bài toán được mô tả dưới dạng biểu thức
logic các vị từ.
•
Để giải được bài toán, cần có một cơ sở tri
thức.
•
Khi có một yêu cầu, hệ thống sẽ dựa vào
cơ sở tri thúc để suy diễn.
NGÔN NGỮ PROLOG.
Nguyễn Văn Linh - Programing Language - Chapte
r 2
2
NGÔN NGỮ PROLOG
Giới thiệu.
•
Được Philippe Roussel, Alian Calmerour
phát triển vào đầu thập niên 70.
Cấu trúc chương trình.
Nguyễn Văn Linh - Programing Language - Chapte
r 2
3
SỰ CÀI ĐẶT
Tổ chức dữ liệu trong bộ nhớ: Biểu diễn
bởi phần cứng.
Cài đặt các phép toán: Sử dụng phép
toán phần cứng; Tạo các thủ tục hoặc
hàm; Chuỗi các dòng mã lệnh.
Nguyễn Văn Linh - Programing Language - Chapte
r 2
4
KIỂU DỮ LIỆU SỐ
Số nguyên.
Miền con của số nguyên (Subranges).
Số thực dấu chấm động (Floating-point
real numers).
Nguyễn Văn Linh - Programing Language - Chapte
r 2
5
SỐ NGUYÊN
Sự đặc tả các thuộc tính: Kiểu dữ liệu
nguyên.
Ðặc tả các phép toán:
•
Các phép toán số học.
•
Các phép toán quan hệ.
•
Phép gán trị.
Cài đặt: Sử dụng phần cứng.
Nguyễn Văn Linh - Programing Language - Chapte
r 2
6
MIỀN CON
CỦA SỐ NGUYÊN
Sự đặc tả:
•
Một dãy các số nguyên trong một khoảng
đã định.
•
Các phép toán tương tự như kiểu số
nguyên.
Cài đặt:
•
Tốn ít bộ nhớ hơn.
•
Kiểm tra kiểu tốt hơn.
Nguyễn Văn Linh - Programing Language - Chapte
r 2
7
SỐ THỰC
DẤU CHẤM ĐỘNG
Đặc tả:
•
Một dãy có thứ tự từ một số âm nhỏ nhất
đến một số dương lớn nhất có thể lưu trữ
được bởi phần cứng.
•
Các phép toán: Tương tự số nguyên + Các
hàm
Cài đặt:
•
Sử dụng biểu diễn của phần cứng: Phần
định trị và phần mũ.
Nguyễn Văn Linh - Programing Language - Chapte
r 2
8
KIỂU LIỆT KÊ
Đặc tả:
•
Liệt kê danh sách các hằng trực kiện có thứ tự.
•
Các phép toán: quan hệ, gán, xác định phần tử
đứng trước/sau một phần tử.
Cài đặt:
•
Mỗi trực kiện được biểu diễn bởi một số nguyên
không âm, chỉ cần một số bit để biểu diễn cho một
giá trị.
•
Cài đặt các phép toán dựa vào các phép toán trên
số nguyên.
Nguyễn Văn Linh - Programing Language - Chapte
r 2
9
KIỂU LOGIC
Đặc tả:
•
Có thể xem như là một kiểu liệt kê: (FALSE,
TRUE).
•
Các phép toán: NOT, AND, OR.
Cài đặt:
•
Sử dụng một đơn vị nhớ (bite/word) để lưu trữ
một giá trị logic.
•
Sử dụng một bit trong đơn vị nhớ để lưu 0 và 1.
•
Sử dụng cả đơn vị nhớ để lưu 0 và khác 0.
Nguyễn Văn Linh - Programing Language - Chapte
r 2
10
KIỂU KÝ TỰ
Sự cần thiết phải có kiểu ký tự:
•
Tất cả dữ liệu từ thiết bị nhập, xuất đều là
ký tự, chuỗi ký tự.
•
Có một sự chuyển đổi tự động từ ký tự
(chuỗi ký tự) thành số khi nhập hay xuất.
•
Ngôn ngữ vẫn cần xử lý ký tự một cách
trực tiếp (văn bản).
•
Dựa vào kiểu ký tự để xây dựng kiểu chuỗi
ký tự.
Nguyễn Văn Linh - Programing Language - Chapte
r 2
11
KIỂU KÝ TỰ
Đặc tả:
•
Một liệt kê các ký tự được định nghĩa bởi
ngôn ngữ, tương ứng với các ký tự chuẩn
của phần cứng và hệ điều hành.
•
Các phép toán: Quan hệ, phép gán.
Cài đặt:
•
Sử dụng phần cứng và hệ điều hành.