“程序设计技术和方法”作业
  • 务必标明姓名和学号。算法请尽可能写得清晰规整,加上必要注释
  • 作业应按时独立完成,在要求的截止日期前交。超过日期一周之内,成绩递减1/2,其余类推
  • 请将独立的程序文件和其他文件在教学网上载,给自己的辅导老师,其他作业可用DOC或PDF格式的文件。
  • 各同学所指定的辅导老师见 “课程通知”
  • 凡是没有提出其他要求的习题,就应该写 Scheme 程序完成
  • 程序文件命名用统一形式:“PT-学号-作业序号.rkt” 或者 “PT-学号-作业序号.scm”,其他作业的文件也采用类似命名规则。如果一次作业有多个文件,再加上序号
辅导教师:
刘海洋 分工负责:数学学院和其他学院同学
徐源盛 分工负责:信息学院同学
MIT Scheme 系统入门(新扩充了不少内容,特别是 Edwin 的使用)   姚金宇有关 Scheme 入门的幻灯片
序号 布置日期 提交截止日期 作业内容
9 5.7 6.7 第二个大作业说明网页
8 4.16 4.30(已延长到5月7日) 第一次大作业。请在下面两个问题中任选一个完成:
7 4.9 4.16 1,完成练习3.23 并用它一些操作试验。

2,收集有关数字电路模拟的所有定义,在其基础上实现两个电路并做一些模拟(请自己找两个典型的简单电路)。将所做工作的一个简单报告和代码一起提交辅导老师。

6 4.2 4.9 完成下面练习:
  • 3.3
  • 3.5
5 3.26 4.2 完成并提交:
  • 2.75
  • 2.78
  • 2.80
  • 2.87
  • 2.88
附件 gen-arith.scm 已经给出了通用型操作算术系统的关键实现,以及一个有理数包。你需要按书上的内容添加其他需要的包,并完成习题。
为了方便,后面几个作业题可以写在同一个文件里面。
你的程序不仅包括定义,也应该包括对各个类型的一些测试代码,以验证你的定义可以正确工作。

自己阅读思考如下习题(不交):
2.76、2.77、2.81~2.85、2.92

4 3.19 3.26 完成下面练习:

扩充书上的求导程序(参考书上习题2.56,57,58,考虑三角函数等常用函数),并尽可能做一些结果表达式的化简。与做好的程序一起上交一个说明文件,说明你做的扩充和其他工作。在程序里加必要的注释,帮助批改作业的老师理解你的程序。

阅读和考虑书上的下面问题(不交):
查看有关painter部分的习题,试着完成几个系统要求做和过程。
阅读书上有关集合的树形实现和Huffman编码部分,弄懂相关过程,考虑相关习题。

3 3.12 3.19 请完成下面练习:2.18,2.20,2.27,2.41
2 3.5 3.12 请完成下面作业: 1.29,1.33, 1.37, 1.40, 1.44

选做和思考(不交): 1.32, 1.34, 1.35, 1.46

1 2.26 3.5 下面内容需要完成,并交给你的辅导老师:
书中习题 1.8,1.11, 1.16,1.18,1.28

请尽可能自己做做下面习题(不交)

  • 查读语言手册(或 Racket 手册)中有关基本数据类型的部分
  • 思考习题 1.5,1.6,1.10,1.20,1.26
本页及相关页面(除另声明者外)由裘宗燕创建维护,可自由用于各种学习活动。其他使用需得到作者许可。