yufei113 发表于 2008-12-18 13:51:00

[求助]那为高手帮我看看!

本帖最后由 作者 于 2008-12-18 14:31:29 编辑 <br /><br /> <p>(defun c:5text3()<br/>;以下值apt,aa,bb,cc须由用户输入<br/>(setq apt (getpoint"\n请输入左下方的点:"))<br/>(setq aa (getdist"\n请输入边长A:"))<br/>(setq bb (getdist"\n请输入边长B:"))<br/>(setq cc (getdist"\n请输入边长C:"))<br/>;以下ss,hh,mm,ang_ap由程序计算<br/>(setq ss (/(+ aa bb cc) 2))<br/>(setq hh (* 2 sqrt(/(* ss (- ss aa) (- ss bb) (- ss cc)) aa)))<br/>(setq mm (sqrt(- (* cc cc) (* aa aa))))<br/>(setq ang_ap (atan(/hh mm)))<br/>;以下根据apt,aa,bb,cc,ang_ap配合polar函数定bpt,cpt坐标<br/>(setq bpt (polar apt 0 aa))<br/>(setq cpt (polar apt ang_ap cc))<br/>;以下由apt,bpt,cpt配合line函数成图<br/>(command "line" apt bpt "")<br/>(command "line" apt cpt "")<br/>(command "line" cpt bpt "")<br/>(prin1)<br/>)<br/>(prompt"\n&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;c:5text3&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;")</p><p>(prin1)</p><p></p><p>本人初学lisp,那位帮我看看这个是什么问题运行不了呢????在线等哈!!!感谢感谢</p>

05625lcc 发表于 2008-12-18 14:22:00

本帖最后由 作者 于 2008-12-18 14:23:53 编辑 <br /><br /> <p>很明显,这一句</p><p>(prompt"\n&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;c:5text3&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;)少了个双引号</p><p>应该是(prompt"\n&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;c:5text3&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;")</p><p>如再有错误自己再看看</p>

yufei113 发表于 2008-12-18 14:29:00

05625lcc发表于2008-12-18 14:22:00static/image/common/back.gif很明显,这一句(prompt\"\n&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;c:5text3&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;)少了个双引号应该是(prompt\"\n&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&

<p>这个是我发帖子的时候的原因,运行程序提示到hh那里就错误了,不知道怎么回事,问题应该是</p><p>(setq hh (* 2 sqrt(/(* ss (- ss aa) (- ss bb) (- ss cc)) aa)))这句</p><p>但是我不知道怎么回事!着急哈</p>

05625lcc 发表于 2008-12-18 14:35:00

<p>这个也好说,少了对括号</p><p>(setq hh (* 2 (sqrt(/ (* ss (- ss aa) (- ss bb) (- ss cc)) aa))))</p><p>注意调用的是(sqrt )函数,不是sqrt</p>

yufei113 发表于 2008-12-18 14:40:00

05625lcc发表于2008-12-18 14:35:00static/image/common/back.gif这个也好说,少了对括号(setq hh (* 2 (sqrt(/ (* ss (- ss aa) (- ss bb) (- ss cc)) aa))))注意调用的是(sqrt )函数,不是sqrt

<p>谢谢你了啊,还是不可以啊,还是说那句是错的! </p><p>我把文件代码发上来你帮我看看哈!万分感谢了!</p>

05625lcc 发表于 2008-12-18 14:51:00

<p>我运行没错,这是我帮你修改后的程序,我觉得你的程序就是画三角形,里面有很多错误.想通过海伦公式反求一边上的高,对那语句</p><p><font face="Courier New" color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font face="Courier New" color="#0000ff">setq</font></a><font face="Courier New"> hh <font color="#ff0000">(</font></font><a href="http://www.mjtd.com/object/autolisp/42.htm" target="_black"><font face="Courier New" color="#0000ff">*</font></a><font face="Courier New">
                        <font color="#008000">2</font>
                        <font color="#ff0000">(</font></font><a href="http://www.mjtd.com/object/autolisp/sqrt.htm" target="_black"><font face="Courier New" color="#0000ff">sqrt</font></a><font face="Courier New"><font color="#ff0000">(</font>/ <font color="#ff0000">(</font></font><a href="http://www.mjtd.com/object/autolisp/42.htm" target="_black"><font face="Courier New" color="#0000ff">*</font></a><font face="Courier New"> ss <font color="#ff0000">(</font><font color="#008000">-</font> ss aa<font color="#ff0000">)</font>
                        <font color="#ff0000">(</font><font color="#008000">-</font> ss bb<font color="#ff0000">)</font>
                        <font color="#ff0000">(</font><font color="#008000">-</font> ss cc<font color="#ff0000">)</font><font color="#ff0000">)</font> aa<font color="#ff0000">)</font><font color="#ff0000">)</font><font color="#ff0000">)</font><font color="#ff0000">)</font><br/>逻辑错误了,自己想想</font></p><p>(defun c:5text3()<br/>;以下值apt,aa,bb,cc须由用户输入<br/>(setq apt (getpoint "\n请输入左下方的点:"))<br/>(setq aa (getdist "\n请输入边长A:"))<br/>(setq bb (getdist "\n请输入边长B:"))<br/>(setq cc (getdist "\n请输入边长C:"))<br/>;以下ss,hh,mm,ang_ap由程序计算<br/>(setq ss (/(+ aa bb cc) 2))<br/>(setq hh (/ (* 2 (sqrt (* ss (- ss aa) (- ss bb) (- ss cc)))) aa))<br/>(setq mm (sqrt (- (* cc cc) (* hh hh))))<br/>(setq ang_ap (atan (/ hh mm)))<br/>;以下根据apt,aa,bb,cc,ang_ap配合polar函数定bpt,cpt坐标<br/>(setq bpt (polar apt 0 aa))<br/>(setq cpt (polar apt ang_ap cc))<br/>;以下由apt,bpt,cpt配合line函数成图<br/>(command "line" apt bpt "")<br/>(command "line" apt cpt "")<br/>(command "line" cpt bpt "")<br/>(prin1)<br/>)<br/>(prompt"\n&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;c:5text3&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;")</p><p>(prin1)</p><p></p><p><font face="Courier New"></font></p>

yufei113 发表于 2008-12-18 15:11:00

本帖最后由 作者 于 2008-12-18 15:22:59 编辑 <br /><br /> <p>非常感谢,看了半天书,第一次写这个东西,菜鸟的很啊!我好好想想了!</p><p>楼上的太感谢了,原来是犯的数学错误!!!!!以后牢牢记住!</p>

05625lcc 发表于 2008-12-18 15:20:00

呵呵,我也是从菜鸟过来的,开始学出现错误很正常,也是学习的方法.慢慢来
页: [1]
查看完整版本: [求助]那为高手帮我看看!