写入下列三道题的LISP程序,并在实习报告中对运行结果截图,简略描述程序思路。
1、 有的两位数具有一种有趣的性质:该数的平方分成两个两位数,它们的和等于该数本身。例如:552=3025,而55=30+25,编程,找出具有这样性质的全部两位数
(defun c:xinzhi ( / n n1 n2 s) ;该数的平方分成两个两位数,它们的和等于该数本身。(setq n 10)(while (<= n 99) (setq n1 (/ ( * n n ) 100))(setq n2 ( - ( * n n ) (* n1 100)))(setq s (+ n1 n2))(if (= s n) (princ (strcat "\n" (rtos n)))) ;if_end(setq n (+ n 1))) ;while_end(princ)
) ;end
效果:
2、 编程,画极坐标方程R=1+2cos(2θ)在[0, 2π]内的曲线
(command "pline" ) ;画极坐标方程R=1+2cos(2θ)在[0, 2π]内的曲线
(setq n 0)
(repeat 3600
(command (polar (list 0 0) (/ n 57.3) ( + 1 ( * 2 ( cos ( * 2 (/ n 57.3) ) ) ) ) ))
(setq n ( + 0.1 n))
)
(command)
3、 编程,绘制阿基米德螺旋线
(command "pline" ) ;绘制阿基米德螺旋线
(setq n 0)
(repeat 1000
(command (polar (list 0 0) (/ n 57.3) n))
(setq n (1+ n))
)
(command)