找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 15944|回复: 5
打印 上一主题 下一主题

LISP教學-02 如何定義一個函數

[复制链接]
跳转到指定楼层
1
发表于 2004-6-7 08:54:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
在 AutoCAD 指令行下面,想要計算
sin(0.5)= ?
只要輸入
(sin 0.5) [Enter]
  
即可得到 0.479426
0.5 是 弳度 radian
  
如果經常需要計算 x^3
可以編輯一個 LISP 程式,內容如下
  
; 這行是註解
  
(defun cubic(x / ); 這樣也是註解
    (* x x x)
); end of defun
  
(princ); 為何要多這一行,以後解釋
; ------------------------------------------------------
  
假設,存檔到 C:\test02.lsp
回到 AutoCAD 指令行下面,輸入以下指令
(load "c:/test02.lsp")
  
(cubic 2) [Enter]
即可看到答案:8
  
試試看
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2004-6-7 11:19:25 | 只看该作者
AutoLISP 就是 括號( 對 括號)
括號要成對。
  
定義一個函數 或 副程式
  
(defun name(參數 / 區域變數)
    ; 這裡放函數裡面的程式行
); end of defun name()
  
參數和 / 之間,要空一格。
/ 和區域變數之間,也要空一格。
  
name 是函數或副程式的名稱
函數裡面的做後一行的計算結果,
就是這個函數的 return-value
3
发表于 2004-6-8 10:27:00 | 只看该作者
試試看
以上的函數 cubic
  
輸入以下的指令
(cubic 10000)
  
會得到明顯錯誤的答案,有人知道是
為什麼嗎?
4
发表于 2004-6-8 13:31:42 | 只看该作者
sjgau wrote:
試試看  
  以上的函數 cubic  
  
  輸入以下的指令  
  (cubic 10000)  
  
  會得到明顯錯誤的答案,有人知道是  
  為什麼嗎?

  
我想是整數的關係吧! 若輸入
(cubic 10000.0)
則可得到正確的答案, 請老師補充說明更詳盡可以嗎?
5
发表于 2004-6-8 13:55:51 | 只看该作者
OK!
程式設計的口訣之一,如下:
  
整數運算,絕對不會有誤差。
運算結果超出允許的範圍,會產生錯誤的答案。
  
實數,浮點數的運算,一定會有誤差。
運算結果超出允許的範圍,會的到 0,
或是讓程式終止。
  
我們將在後續的討論中,在適當的時候,
繼續研究這個主題。
6
发表于 2004-6-8 16:16:52 | 只看该作者
我想是整數的關係吧! 若輸入  
(cubic 10000.0)  
則可得到正確的答案, 請老師補充說明更詳盡可以嗎?  
//我們以後會有機會詳細的研究
整數,浮點數的相關議題。
目前,先稍安勿躁。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-1-26 15:46 , Processed in 0.033926 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

快速回复 返回顶部 返回列表