当前位置: 首页 > news >正文

扩充练习—有理函数

练习2.92 通过加入强制性的变量序扩充多项式程序包,使多项式的加法和乘法能对其有不同变量的多项式进行。
;;其实就是实现多项式变量的转换
;;比如多项式(y+1)x2也可以看作(x2)y+x^2
;;两者是相同的,主要是看变量的不同

点击查看代码

(define (term->poly term old-var new-var)(define (make-term-poly term var)(make-term var (adjoin term (the-empty-termlist))))(define (change-var old-order old-var new-var)(let ((tmp-term (make-term old-order 1)))(let ((tmp-poly (make-term-poly tmp-term old-var)))(let ((new-term (make-term 0 tmp-poly)))(make-term-poly new-term new-var)))))(let (p1 (obj->poly (coeff term) new-var))(p2 (change-var (order term) old-var new-var))(mul-poly p1 p2)))(define (term->polylist L old-var new-var)(if (empty-list? L)(make-poly new-var (the-empty-termlist))(add-poly (term->poly (first-term L) old-var new-var)(term->polylist (rest-of-termlist L) old-var new-var))))

练习2.93 修改有理数算数包,采用通用型操作。

点击查看代码
(define (install-ractional-package)(define (number x) (car x))(define (denom x) (cadr x))(define (make-rat n d) (cons n d))(define (add-rat x y)(make-rat (add (mul (number x) (denom y))(mul (number y) (denom x)))(mul (denom x) (denom y))))(define (sub-rat x y)(make-rat (sub (mul (number x) (denom y))(mul (number y) (denom x)))(mul (denom x) (denom y))))(define (mul-rat x y)(make-rat (mul (number x) (number y))(mul (denom x) (denom y))))(define (div-rat x y)(make-rat (mul (number x) (denom y))(mul (denom x) (number y))))(define (tag x) (attach-tag 'ractional x))(put 'add '(ractional ractional)(lambda (x y) (tag (add-rat x y))))(put 'sub '(ractional ractional)(lambda (x y) (tag (sub-rat x y))))(put 'mul '(ractional ractional)(lambda (x y) (tag (mul-rat x y))))(put 'div '(ractional ractional)(lambda (x y) (tag (div-rat x y))))(put 'make 'ractional(lambda (n d) (tag (make-rat n d)))))
(define (make-ractional n d)((get 'make 'ractional) n d))
(define (number-rat x) (car (contents x)))
(define (denom-rat x) (cdr (contents x)))
http://www.jsqmd.com/news/280089/

相关文章:

  • 教师必看!国内发成绩小程序大盘点
  • Agentic-KGR:多智能体强化学习驱动的知识图谱本体渐进式扩展技术
  • 瞬维智能:房产获客的精准革命,让每一份投入都开出确定的花
  • 稀土合金回收利用:资源闭环新路径,产业盈利与环保双赢
  • 学Simulink--电机控制架构与算法实现​场景示例:基于Simulink的电机电流环PI参数整定仿真
  • P6822 [PA 2012 Finals] Tax 题解
  • 基于Springboot+Vue的校园二手书交易系统(源码+lw+部署文档+讲解等)
  • UVA1464 Traffic Real Time Query System 题解
  • B4172 学习计划 题解
  • 基于C++的《Head First设计模式》笔记——模式合作
  • 解码AI生态新范式,擘画智能未来新图景
  • 基于Springboot+Vue的校园设备维护报修系统(源码+lw+部署文档+讲解等)
  • 瞬维智能:以AI获客智能体重塑房产行业增长逻辑
  • 瞬维智能CEO刘哲先生受邀参加2025年火山引擎FORCE原动力大会
  • 完整教程:【华为云DevUI开发实战】
  • 基于Springboot+Vue的物品租赁管理系统(源码+lw+部署文档+讲解等)
  • 回收沃尔玛购物卡选对平台,京顺回收多赚的钱能再买两箱牛奶
  • 基于Springboot+Vue的乡村信息管理系统(源码+lw+部署文档+讲解等)
  • 实用指南:CentOS Stream 9入门学习教程,从入门到精通,Linux操作系统概述 —全面知识点详解(1)
  • 基于Springboot+Vue的乡镇卫生所医用物资进销存系统(源码+lw+部署文档+讲解等)
  • 基于Springboot+Vue的小型家政服务管理系统(源码+lw+部署文档+讲解等)
  • 吐血推荐专科生必用AI论文写作软件TOP9
  • 基于Springboot+Vue的图书馆座位预约系统(源码+lw+部署文档+讲解等)
  • ChatApis.dll文件丢失找不到 免费下载方法分享
  • 《深度!AI应用架构师助力企业数字化转型的策略深度剖析》
  • ABAP 采购订单开票(MIRO)报错:M8 504 开发票数量大于收货数量 (50 EA)
  • ChxAPDS.dll文件丢失找不到 免费下载方法分享
  • 基于Springboot+Vue的物流管理平台系统(源码+lw+部署文档+讲解等)
  • PPO 为何成了大模型微调“最后的底牌”?一篇真正能跑通的工程实战指南
  • 如何评估AI智能体的能源优化效果?AI应用架构师的指标体系