Re: [心得] AutoLISP 的 Hello, world!\n
http://xserve.math.nctu.edu.tw/people/cpai/carnival/fibonacci/03.htm
※ 引述《sjgau (sjgau)》之銘言:
: 指令: (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程式
: : 不曉得執行的流程
: : 這兩行可以說是關鍵所在
: : 我之前是有load進去,但是不曉得怎麼跑
: : 經過第二行和以下執行結果的示範
: : 我了解了 非常感謝回答 你的解答真的很詳細
: : 若可以的話 可以教教我DEFINE的用法嗎?謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.243.237.65
推
11/21 10:34, , 1F
11/21 10:34, 1F
推
11/21 10:50, , 2F
11/21 10:50, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 8 之 9 篇):
Cad_Cae 近期熱門文章
PTT數位生活區 即時熱門文章