Bài giảng Ngôn ngữ lập trình - Chương 8 - Lập trình hàm
Nguyen Van Linh - Programing Language - Chapter 81CHƯƠNG 8: LẬP TRÌNH HÀMNgô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 82NGÔN NGỮ LISPGiớ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 83LISP: 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 84CÁC KHÁI NIỆM CƠ BẢNNguyên tử (Atom): Số, kí hiệu.Danh sách: Dã̃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à nguyên tắc lượng giá:•Số.•Ký hiệu.•Danh sách. Nguyen Van Linh - Programing Language - Chapter 85HÀ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 86HÀM DO NGƯỜI DÙNG ĐỊNH NGHĨACú 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 87ĐỆ QUYMộ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 88BIẾ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 . En)Hạn chế sử dụng biến toàn cục. Nguyen Van Linh - Programing Language - Chapter 89CÁ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 810HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNHSoạ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 8 BIẾN TOÀN CỤC & BIẾN CỤC BỘ (SETQ <tên biến> <biểu thức>). (LET ((var 1 E 1 ) (var 2 E 2 ) (var k E k )) E k+1 E n ) Hạn chế sử dụng biến toàn cục. . Nguyen Van Linh - Programing Language - Chapter 81 CHƯƠNG 8: 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 82 NGÔN NGỮ LISPGiới thiệu.Các khái niệm