nhinhinhi
-
Số lượng nội dung
3 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi nhinhinhi
-
-
dạ, em cảm ơn ạ!
em có thể thử làm câu 1 với repeat được không ạ?
23 phút trước, 7o7 đã nói:Bạn mới học lisp mà đã viết kiểu đệ qui rồi. Đệ qui nếu làm không khéo dễ tạo vòng lặp dài vô tận, đó là lỗi bạn gặp phải.
Tôi có cách viết đơn giản hơn dùng repeat.
(defun tdd (x / S KQ) (setq s x kq 0) (repeat s (setq kq (if (= (rem x 2) 0) (+ kq x) (- kq x)) x (1- x)) ) kq )
-
Em chào mọi người ạ, em là sinh viên mới học về cad và lisp. Em có 2 bài tập chưa biết làm ạ:
1. tạo hàm tính mũ: Mu (A n), với n nguyên.
2. tính tổng dãy số đổi dấu TDD n, ví dụ n=8 thì chương trình sẽ tính 8-7+6-5+4-3+2-1; n=7 thì sẽ là -7+6-5...-1
(câu 2 em có thử làm như sau: (DEFUN TDD (X)
(SETQ Y (REM X 2))
(IF (= Y 0) (- X (+ (- X 1) (TDD (- X 2))) 1)) (+ X (- (- X 1)) (TDD (- X 2))) 1)nhưng máy báo lỗi: Hard error occurred ***
internal stack limit reached (simulated) )Mong các anh chị giúp em ạ, em cảm ơn mọi người!
Lập trình lisp cơ bản
trong AutoLisp
Đã đăng · Trả lời báo cáo
em cảm ơn anh nhiều ạ! :>>>