NGƠN NGỮ LẬP TRÌNH
45 tiết = 3 đơn vị học trình
✿
Giảng viên: Nguyễn Văn
Linh
✿
E-mail:
✿
Tel: (84) (71) 831301
✿
Nguyễn Văn Linh Programing
Language Chapter 1
1
CHƯƠNG 6:
LẬP TRÌNH HÀM
•
•
Ngơn ngữ lập trình hàm
•
Giới thiệu.
•
Hàm toán học.
•
Dạng hàm.
•
Bản chất của lập trình hàm.
Ngơn ngữ LISP
Nguyen Van Linh Programing
Language Chapter 8
2
NGÔN NGỮ LISP
v
Giới thiệu.
v
Các khái niệm cơ bản.
v
Các hàm.
v
Đệ quy.
v
Biến toàn cục và biến cục bộ.
v
Các hàm nhập xuất.
v
Hướng dẫn sử dụng Lisp.
Nguyen Van Linh Programing
Language Chapter 8
3
LISP: GIỚI THIỆU
•
Được J. MAC CARTHY viết năm 1958.
•
Phát triển mạnh vào đầu những năm 80.
•
Cú pháp đơn gỉan.
•
Là mợt ngơn ngữ mạnh.
•
Mềm dẻo và dễ phát triển.
•
Áp dụng trong lĩnh vực trí tuệ nhân tạo.
Nguyen Van Linh Programing
Language Chapter 8
4
CÁC KHÁI NIỆM CƠ BẢN
•
•
•
Ngun tử (Atom): Sớ, kí hiệu.
Danh sách: Dãỹ có thứ tự các nguyên tử
hoặc danh sách, nằm trong cặp dấu ngoặc
đơn ().
Biểu thức và nguyên tắc lượng giá:
•
Sớ.
•
Ký hiệu.
•
Danh sách.
Nguyen Van Linh Programing
Language Chapter 8
5
HÀM ĐỊNH NGHĨA TRƯỚC
•
Các hàm sớ học: +, -, *, /, 1+, 1-
•
Các hàm so sánh: <, >, <=, >=, =, eq.
•
•
Các hàm thao tác trên danh sách: CAR, CDR,
CONS và LIST.
Các vị từ kiểm tra: (atom a), (numberp n), (listp
l), (symbol s),...
•
Các hàm logic AND, OR, NOT.
•
Các hàm điều khiển IF, COND, PROGN, PROG1
Nguyen Van Linh Programing
Language Chapter 8
6
HÀM DO NGƯỜI DÙNG ĐỊNH
NGHĨA
•
Cú pháp:
(defun <tên hàm> (Các tham sớ hình thức)
<biểu thức>
)
•
Ví dụ:
(defun binh_phuong (n)
(* n n)
)
(defun lap_phuong (n)
(* n (binh_phuongNguyen Van Linh Programing
n))
Language Chapter 8
7
ĐỆ QUY
v
v
v
Một trường hợp “nguyên tố” để kết thúc việc gọi
đệ quy.
Lời gọi đệ quy phải bao hàm yếu tố dẫn đến
trường hợp “nguyên tố”.
Ví du: Tính n giai thừa
(defun giai_thua (n)
(if (= n 0) 1 ; Trường hợp “nguyên tố”
(* n (giai_thua (1- n)))
)
)
Nguyen Van Linh Programing
Language Chapter 8
8
BIẾN TOÀN CỤC &
BIẾN CỤC BỘ
v
v
v
(SETQ <tên biến> <biểu thức>).
(LET ((var1 E1) (var2 E2) ... (vark Ek))
Ek+1 ... En)
Hạn chế sử dụng biến toàn cục.
Nguyen Van Linh Programing
Language Chapter 8
9
CÁC HÀM NHẬP XUẤT
•
LOAD( <tên tập tin>).
•
(READ)
•
(PRINT e)
•
(PRINC e)
•
(TERPRI)
Nguyen Van Linh Programing
Language Chapter 8
10
HƯỚNG DẪN SỬ DỤNG
CHƯƠNG TRÌNH
•
•
Soạn thảo chương trình:
•
Sử dụng bất kỳ editor nào.
•
Phần
̀ mở rợng .LSP.
•
Trong mợt tập tin, có thể định nghĩa nhiều hàm.
Gọi thực hiện XLISP:
•
Trong Windows 3.x.
•
Trong Windows 9x.
•
Sử dụng menu File-Open/Load để mở tập tin chương
trình.
Nguyen Van Linh Programing
Language Chapter 8
11