Ngôn ngữ lập trình hàm

12 402 1
Ngôn ngữ lập trình hàm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

NGÔN NGỮ LẬP TRÌNH HÀM Bộ môn Công nghệ phần mềm Khoa Công nghệ thông tin & Truyền thông Đại học Cần Thơ NGÔN NGỮ LẬP TRÌNH HÀM  Ngôn ngữ lập trình hàm được thiết kế dựa trên các hàm toán học (ngôn ngữ không ra lệnh)  Hàm là một sự tương ứng giữa các phần tử của một tập hợp (miền xác định) với các phần tử của một tập hợp khác (miền giá trị)  Bản chất ngôn ngữ lập trình hàm: mô phỏng các hàm toán học; chương trình là các định nghĩa hàm và áp dụng hàm; thực hiện chương trình là đánh giá các áp dụng hàm NGÔN NGỮ LISP  Ðược J. MAC CARTHY viết năm 1958  Sử dụng nhiều trong lĩnh vực trí tuệ nhân tạo  Cú pháp đơn giản, chỉ có cấu trúc danh sách (List Processing Language)  Là một ngôn ngữ mạnh, mềm dẻo NGÔN NGỮ LISP  Nguyên tử (atom): đối tượng cơ bản của LISP, có thể là số hay ký hiệu  Số: viết ở hệ thập phân, có thể là số thực, số nguyên. Ví dụ: 15, -20, 18.25, 172.4E+3  Ký hiệu (symbol): chuỗi các ký tự (trừ ký tự đặc biệt, dấu ngoặc, khoảng trống). Ví dụ: tong, a, ds  Danh sách: dãy có thứ tự của các phần tử cách nhau ít nhất một khoảng trống và đặt nằm trong cặp dấu ngoặc đơn. Phần tử của danh sách có thể là một nguyên tử hoặc là một danh sách. Ví dụ: (1 2), (+ 2 3), (2 a), () NGÔN NGỮ LISP  Biểu thức: là một nguyên tử hoặc một danh sách  Quy tắc định trị biểu thức:  Số: giá trị là chính số đó  Ký hiệu: giá trị quy định trước của LISP hoặc giá trị của người dùng đã gán cho ký hiệu  Danh sách: (E 0 E 1 E 2 E n ) Một hàm mà LISP đã biết V 1 V 2 V n Áp dụng hàm E 0 lên tập V 1 , V 2 , V n  giá trị biểu thức định trị định trị định trị NGÔN NGỮ LISP  Ví dụ: định trị biểu thức sau: (+ 5 (* 2 3) (- 8 7) ) Hàm ‘+’ LISP đã biết V 1 = 5 V 2 = 6 V 3 = 1 Áp dụng hàm + lên tập V 1 , V 2 , V 3  giá trị biểu thức = 5+6+1 = 12  Chú ý: LISP luôn cố gắng thực hiện định trị biểu thức. Nếu muốn LISP không định trị, phải dùng hàm quote hoặc ký hiệu nháy đơn ‘ trước biểu thức. Ví dụ: ‘(+ 5 3), ‘tong, ‘(a b) NGÔN NGỮ LISP  Các hàm được định nghĩa trước trong LISP  Hàm số học: làm việc trên số và trả về kết quả số. Một số hàm cơ bản: +, -, *, /, 1+, 1 Ví dụ: (+ 2 3), (1+ 5)  Hàm so sánh: thực hiện so sánh, trả về T (đúng) hoặc NIL (sai).  So sánh số: <, <=, >, >=, =. Ví dụ: (< 5 7)  So sánh bằng dùng cho 2 nguyên tử: eq. Ví dụ: (eq 2 3), (eq ‘tuong ‘duong)  So sánh bằng dùng cho 2 đối tượng bất kỳ: equal. Ví dụ: (equal 3 5), (equal ‘(a b) ‘(1 2)) NGÔN NGỮ LISP  Các hàm được định nghĩa trước trong LISP  Hàm xử lý danh sách: CAR, CDR, CONS, LIST  Hàm (CAR L): trả về phần tử đầu tiên của danh sách L  Hàm (CDR L): trả về danh sách sau khi bỏ đi phần tử đầu tiên trong danh sách L  Hàm (CONS x L): trả về danh sách sau khi thêm phần tử x vào đầu danh sách L  Hàm (LIST E 1 E 2 E n ): trả về danh sách gồm các phần tử là giá trị của các biểu thức E 1 , E 2 , , E n NGÔN NGỮ LISP  Các hàm được định nghĩa trước trong LISP  Các hàm kiểm tra: atom, numberp, symbolp, listp  Hàm (atom x): trả về t nếu x là một nguyên tử, ngược lại trả về nil  Hàm (numberp x): trả về t nếu x là số, ngược lại trả về nil  Hàm (symbolp x): trả về t nếu x là ký hiệu, ngược lại trả về nil  Hàm (listp x): trả về t nếu x là danh sách, ngược lại trả về nil NGÔN NGỮ LISP  Các hàm được định nghĩa trước trong LISP  Các hàm logic: AND, OR, NOT  Hàm (AND E 1 E 2 E n ): định trị các biểu thức từ trái sang phải. Nếu gặp một biểu thức là NIL thì dừng và cho kết quả là NIL. Nếu tất cả các biểu thức đều khác NIL thì lấy giá trị của biểu thức E n  Hàm (OR E 1 E 2 E n ): định trị các biểu thức từ trái sang phải. Nếu gặp một biểu thức khác NIL thì dừng và lấy kết quả của biểu thức đó. Nếu tất cả biểu thức là NIL thì kết quả là NIL  Hàm (NOT E): trả về NIL nếu giá trị của E khác NIL, ngược lại trả về T [...]...NGÔN NGỮ LISP Các hàm đư c đ nh nghĩa trư c trong LISP Hàm r nhánh khi n: (IF E1 E2 E3), n u E1 khác NIL tr v k t qu E2, ngư c l i tr v E3 Hàm l a ch n: (COND (ĐK1 BT1) (ĐK2 BT2) (ĐKn BTn) (T BTn+1) ) NGÔN NGỮ LISP Hàm do ngư i l p trình đ nh nghĩa Đ nh nghĩa hàm: (defun (danh sách các tham s ) ) G i hàm: (tên hàm tham s ) Ví d : (defun bp(n) . NGÔN NGỮ LẬP TRÌNH HÀM Bộ môn Công nghệ phần mềm Khoa Công nghệ thông tin & Truyền thông Đại học Cần Thơ NGÔN NGỮ LẬP TRÌNH HÀM  Ngôn ngữ lập trình hàm được thiết kế dựa trên các hàm. (ĐK n BT n ) (T BT n+1 ) ) NGÔN NGỮ LISP  Hàm do người lập trình định nghĩa  Định nghĩa hàm: (defun <tên hàm& gt;(danh sách các tham số) <biểu thức> )  Gọi hàm: (tên hàm tham số)  Ví dụ:. ngôn ngữ lập trình hàm: mô phỏng các hàm toán học; chương trình là các định nghĩa hàm và áp dụng hàm; thực hiện chương trình là đánh giá các áp dụng hàm NGÔN NGỮ LISP  Ðược J. MAC CARTHY viết

Ngày đăng: 22/10/2014, 22:49

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan