SCIP 1.1 总结

1、计算过程:程序控制数据做事的过程。

2、四川话是中国话的方言,Scheme是Lisp的方言,

3、Lisp的最大特点:过程可以作为数据,即过程=数据。编译器就是这样:将程序当做数据处理。

4、使用Lisp的好处:更好地学习数据的结构程序的构造 ,以及两者的结合。

5、程序设计语言的组成:1、表达:数据(常量、变量)+过程(算数、逻辑、比较)

                                          2、组合:利用括号(结构、分支、循环)

                                          3、抽象:利用保留字来命名

6、Lisp预算符号的前缀:1.利于后面放置多参数。2.方便嵌套组合。

7、格式:统一级别、要运算的对象垂直对齐

8、命名:让符号与整个过程(或数据)建立对应关系,这就是抽象的方法。而名字与数据过程的组合,走向更高层次的抽象。

9、环境:存储  符号——对象(数据、过程) 对应关系的地方。

10、lisp解释器如何对组合式求值:1.求子表达式的值。2.将左边的运算符带入这些值中求值。1、2递归

11、在求值递归的最低层情况:数值+名字(名字对应对象或者操作符

12、特殊形式有专门的求值规则:如define 、def()

13、代换模型的计算过程:1.求子表达式的值 2.求左边运算符解释得到的过程 3.将值带入过程中

                                           (适合用于人工推演的程序的执行过程)

14、应用的计算步骤:先求值,再带入

       正常的计算步骤:先带入,再求值

15、Lisp条件表达式:(cond (<predicate><consequent expression>)

            受限条件表达式:(if (predicate)(consequent)(alternative))

16、谓词(断言):返回TRUE or FALSE 的表达式(过程)

17、复合谓词:逻辑运算符可以构造复合的谓词。and/or/not

18、问题求解模型:1)列出需求。  2、找出最低层的需求,细化,实现 。3、然后将其镶嵌在上层需求中。

19、数学函数:描述这个事物的特点。

       计算机科学函数:描述如何实现这个事物。

20、Lisp中的if表达式采用的是正常计算步骤先带入,再求值),这样其中一个很难算(递归)的话,可以避免。而在练习1.6中自己构造的new—if,会按照Lisp解释器的先求值,在带入的方式,导致计算量剧增。

21、Black—box:在使用一个程序是不应该去想它是如何实现的。

                               使用计算机时你在想CPU里的逻辑门怎么构造吗?

                               做数学题用套用公式的时候不应该去想他是如何实现的。

                               拉屎的时候你想你肛门处肌肉细胞组织,并相互配合的会拉得更舒服吗?

22、形式参数:被约束在自己那一级的约束变量,且不能与同级的自由变量(全局变量)同名。

                         比如你在(define (sum a b c)

                                                      (defne add a d h)

                        在sum函数内部定义add函数不能用a做参数,a是自由变量。

        局部名的必要性:让函数自己的参数不影响,更复杂,或者其他函数的构造

23、块结构:为了实现一个功能我们会创造多个函数,而功能与功能相互之间的函数重名了怎么办?为了让这些同名可能不同作用的函数不相互干扰,我们将它们嵌套在自己功能的块结构里。

24、块结构的另一个好处:由于函数要层层嵌套成功能,则上层的一些参数,可以直接作用于内部的低层次的函数了,这些参数的作用域扩大了。

 

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值