NGƠN NGỮ LẬP TRÌNH 45 tiết = đơn vị học trình ✿ Giảng viên: Nguyễn Văn Linh ✿ E-mail: nvlinh@ctu.edu.vn ✿ Tel: (84) (71) 831301 ✿ Nguyễn Văn Linh Programing Language Chapter 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 NGÔN NGỮ LISP v Giới thiệu v Các khái niệm 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 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 lĩnh vực trí tuệ nhân tạo Nguyen Van Linh Programing Language Chapter 8 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 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 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 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 HÀM DO NGƯỜI DÙNG ĐỊNH NGHĨA • Cú pháp: (defun (Các tham số hình thức) ) • Ví dụ: (defun binh_phuong (n) (* n n) ) (defun lap_phuong (n) (* n (binh_phuongNguyen Van Linh Programing n)) Language Chapter 8 ĐỆ 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) ; Trường hợp “nguyên tố” (* n (giai_thua (1- n))) ) ) Nguyen Van Linh Programing Language Chapter 8 BIẾN TOÀN CỤC & BIẾN CỤC BỘ v v v (SETQ ) (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 CÁC HÀM NHẬP XUẤT • LOAD( ) • (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 ...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 ... 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... Nguyen Van Linh Programing Language Chapter 8 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 danh sách: CAR, CDR,