Re: [心得] AutoLISP 的 Hello, world!\n

看板Cad_Cae (電腦輔助設計)作者 (sjgau)時間19年前 (2005/11/20 17:04), 編輯推噓3(300)
留言3則, 3人參與, 最新討論串6/9 (看更多)
指令: (load "f03") no= 1, ratio= 1.0 no= 2, ratio= 2.0 no= 3, ratio= 1.5 no= 4, ratio= 1.66667 no= 5, ratio= 1.6 no= 6, ratio= 1.625 no= 7, ratio= 1.61538 no= 8, ratio= 1.61905 no= 9, ratio= 1.61765 no= 10, ratio= 1.61818 no= 11, ratio= 1.61798 no= 12, ratio= 1.61806 no= 13, ratio= 1.61803 no= 14, ratio= 1.61804 no= 15, ratio= 1.61803 no= 16, ratio= 1.61803 no= 17, ratio= 1.61803 no= 18, ratio= 1.61803 no= 19, ratio= 1.61803 no= 20, ratio= 1.61803 no= 21, ratio= 1.61803 no= 22, ratio= 1.61803 no= 23, ratio= 1.61803 no= 24, ratio= 1.61803 no= 25, ratio= 1.61803 no= 26, ratio= 1.61803 no= 27, ratio= 1.61803 no= 28, ratio= 1.61803 no= 29, ratio= 1.61803 no= 30, ratio= 1.61803 31 ; file: f03.lsp ;| 費氏數列前後項的比值 把費氏數列中的每一項用前一項來除,我們得到一個新數列: 1, 2, 1.5, 1.67, 1.6, 1.63, 1.615, 1.619, 1.618, ..... |; (defun f03 (no /) (cond ((<= no 0) 1) ((= no 1) 1) (t (+ (f03 (- no 2)) (f03 (- no 1)))) ) ) ; end of f03() ; main() begin here ; for no= 1 to 30 do ... (setq no 1) (while (<= no 30) (setq n1 (f03 (- no 1))) (setq n2 (f03 no)) (setq x (/ (float n2) (float n1))) (princ (strcat "no= " (itoa no) ", ratio= ")) (princ x) (princ "\n") (setq no (1+ no)) ) ; end of while() ; end of main() ※ 引述《HiEArO (xsd)》之銘言: : 謝謝你仔細的回答 我是第一次執行lisp程式 : 不曉得執行的流程 : ※ 引述《sjgau (sjgau)》之銘言: : : 以下,應該是 正確的 : : (defun f2(n / ) : : ; : : ) : : 我把 函數名稱改成 f2 : : 執行的方法是 : : (load "tmp.lsp") : : (f2 10) : 這兩行可以說是關鍵所在 : 我之前是有load進去,但是不曉得怎麼跑 : 經過第二行和以下執行結果的示範 : 我了解了 非常感謝回答 你的解答真的很詳細 : 若可以的話 可以教教我DEFINE的用法嗎?謝謝 : : 還有,第0項 和 第1項的答案都是 1 : : 還有,為了擔心 n < 0 : : 所以, : : if (n <= 0) return 1; : : 令: (f2 0) : : 1 : : 指令: (f2 1) : : 1 : : 指令: (f2 2) : : 2 : : 指令: (f2 3) : : 3 : : 指令: (f2 5) : : 8 : : 指令: (f2 10) : : 89 : : 指令: (f2 20) : : 10946 : : 指令: (f2 25) : : 121393 : : 指令: (f2 30) : : 1346269 : : (defun f2 (n / ) : : (cond ((<= n 0) 1) : : ((= n 1) 1) : : (t : : (+ (f2 (- n 1)) : : (f2 (- n 2)) : : ) : : ) : : ) : : ) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.243.237.65

11/20 18:56, , 1F
原來費氏數列還有這種特性~
11/20 18:56, 1F

11/22 01:14, , 3F
大師拜倒,我還在 try
11/22 01:14, 3F
文章代碼(AID): #13W3mE8i (Cad_Cae)
討論串 (同標題文章)
文章代碼(AID): #13W3mE8i (Cad_Cae)