lisp编程实例.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
lisp编程实例

Visual LISP 编程应用实例集 计算类程序 1.计算阶剩值n! (注意:采用了递归方式) (defun jsen (n) (if (= n 0) 1 (* n (jsen (1- n))))); 2.迭代计算() (defun ddai (x) (setq x1 0 x2 x e 1.0e-5 i 0) (while ( (abs (- x2 x1)) e) (setq x1 x2) (setq x2 (expt (+ x1 1) (/ 1 3.0))) (setq i (1+ i)));while (print x=) (princ x2) (print i=) (princ i) (princ));end 3.一元二次方程求解() (defun px2 (a b c) (setq d (- (expt b 2.0) (* 4 a c))) (cond (( d 0) (prompt \nNo root!)) ((= d 0) (progn (setq x (/ b (* -2.0 a))) (prompt \nOne root! x=) (princ x))) (( d 0) (progn (setq x1 (/ (- (sqrt d) b) (* 2.0 a)) x2 (/ (+ (sqrt d) b) (* -2.0 a))) (prompt \nTwo root! x1=) (princ x1) (prompt x2=) (princ x2))));cond (princ));end 4.成绩分析统计 注意:使用该程序前须将全班成绩输入一个数据文件中保存,格式为(78 89 67 ….) (defun sjfx (fname) (setq f (open fname r)) (setq lb nil) (while (setq sd (read-line f)) (setq lb (append lb (read sd)))) (close f) (setq xsum 0) (foreach x lb (setq xsum (+ x xsum))) (setq n (length lb) xb 0) (setq xbar (/ xsum (* 1.0 n))) (foreach x lb (setq xb (+ xb (* (- x xbar) (- x xbar))))) (setq xbzc (sqrt (/ xb (* 1.0 n)))) (repeat 18 (terpri)) (prompt ************ 统计结果 ******************) (terpri) (prompt (strcat 全班总平均分数 X= (rtos xbar 2 3))) (terpri) (prompt (strcat 标准差 δ= (rtos xbzc 2 3))) (terpri) (prompt (strcat Total number: N= (rtos n 2 0))) (terpri) (prompt ****************************************) (terpri) (princ));end 二、数据检索类 1.根据计算模数检索标准模数值(假定mc为1~10之间的任意值,以实参代入) (defun jsm (mc) (setq ml (1 1.25 1.5 2 2.5 3 4 5 6 8 10)) (setq m 0 n 0) (while ( m mc) (setq m (nth n ml) n (1+ n)));while (prompt (strcat \nm= (rtos m 2 1))) (princ));end 2.检索一类数据文件(一类数据文件必须存在,且数据格式必须统一) (defun js1 (fname kd / ft nt j x) (setq f (open fname r)) (setq ft (read (read-line f)) nt (read (read-line f))) (while (/= kd (car nt)) (setq nt (read (read-line f)))) ;while (setq j -1) (repeat (length nt) (setq j (1+ j) x (nth j ft)) (set x (nth j nt)));reapeat (close f) nt);end 3.检索二类数据文件(二类数据文件必须存在,且数据格式必须统一) (defun js2 (fname k

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档