Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Có hai phương pháp để nạp các hàm tự định nghĩa cho XLISP: • Phương pháp 1: Copy và dán khối - Trong Notepad, đánh dấu khối một hàm tự định nghĩa và copy khối (Edit/Copy hoặc Ctrl-C). - Trong XLISP, dán khối tại dấu chờ lệnh (Edit/Paste hoặc Ctrl-Ins). - Với phương pháp này thì khi viết các hàm, không nên viết một dòng lệnh quá dài. - Nếu khối hàm dán vào không có lỗi thì tên hàm sẽ xuất hiện và ta có thể sử dụng được hàm đó. - Phương pháp này rất phù hợp với. | Chương VIII Lập trình hà Biếu thức Biêu thức là một nguyên tử hoặc một danh sách. Biêu thức luôn có một giá trị mà việc định trị nó theo nguyên tắc sau Nếu biêu thức là một số thì giá trị của biêu thức là giá trị của số đó. Ví dụ 25 25 Nếu biêu thức là một ký hiệu thì giá trị của biêu thức có thê là - Được xác định trước bởi LISP chẳng hạn t có giá trị là T TRUE và nil có giá trị là NIL một danh sách rỗng hoặc - Một giá trị dữ liệu của người sử dụng hoặc trong chương trình được gán cho một biến. Biến không cần phải khai báo. Ví du setq a 3 Gán số 3 cho biến có tên a 3 a hỏi giá trị của ký hiệu a 3 Nếu biêu thức là một danh sách có dạng E0 E1 . En thì giá trị của biêu thức được xác định theo cách sau đây - Phần tử đầu tiên E0 phải là một hàm đã được LISP nhận biết. - Các phần tử E1 E2 . En được định trị tuần tự từ trái sang phải. Giả sử ta có các giá trị tương ứng là V1 V2 . Vn - Hàm E0 được áp dụng cho các đối V1 V2 . Vn. Giá trị của hàm E0 chính là giá trị của biêu thức. Ví dụ 5 3 6 14 4 3 5 12 - Chú ý Nếu biêu thức dùng hàm QUOTE hoặc dấu nháy đơn sẽ không được đánh giá Ví dụ 1 2 1 2 84 Chương VIII Lập trình hà 8.3.3 Các hàm Một chương trình của LISP là một hàm hoặc một hàm hợp. Các hàm có thể do LISP định nghĩa trước hoặc do lập trình viên tự định nghĩa. Một số hàm định nghĩa trước Các hàm số học - 1 1- MOD SQRT tác động lên các biểu thức số và cho kết quả là một số. Ví dụ 5 6 2 13 - 8 3 5 - 8 3 1 4 1 5 Tương đương 5 1 6 1- 5 Tương đương - 5 1 4 MOD 14 3 2 sqrt 9 Lấy căn bậc hai của 9 3 Các hàm so sánh các số và cho kết quả là T hoặc NIL Ví dụ 4 5 T 4 2 3 NIL EQ s1 s2 so sánh xem hai ký hiệu s1 và s2 có giống nhau hay không Ví dụ eq tuong tuong T eq tuong duong NIL eq 5 5 85 Chương VIII Lập trình hà T EQUAL o1 o2 so sánh xem đối tượng bất kỳ o1 và o2 có giống nhau hay không Ví dụ equal a b c a b c T equal a b c b a c NIL equal a a T Các hàm thao tác trên danh sách CAR CDR CONS và LIST - CAR L nhận vào danh sách L trả về phần tử đầu tiên của L. Ví du CAR 1 2 3 1