Tải bản đầy đủ (.pptx) (11 trang)

Bài giảng Ngôn ngữ lập trình - Chương 6: Lập trình hàm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (129.54 KB, 11 trang )

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
Giới thiệu.
Các khái niệm cơ bản.
Các hàm.
Đệ quy.
Biến toàn cục và biến cục bộ.
Các hàm nhập xuất.
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


CAC KHAI NIÊM CƠ BAN
• Ngun tử (Atom): Sớ, kí hiệu.
• Danh sách: Daã̃y 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à ngun 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_phuong n))
)
Nguyen Van Linh - Programing
Language - Chapter 8

7


ĐỆ QUY
 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Ộ
(SETQ <tên biến> <biểu thức>).
(LET ((var1 E1) (var2 E2) ... (vark Ek)) Ek+1 ...
E n)

Hạn chế sử dụng biến toàn cục.

Nguyen Van Linh - Programing
Language - Chapter 8

9


CAC HÀM NHẬP XUẤT

• LOAD( <tên tâp tn>).





(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



×