1.1程序设计的基本元素
来源:互联网 发布:男朋友只有11厘米知乎 编辑:程序博客网 时间:2024/06/14 14:07
计算机程序的构造和解释(笔记)
1.1 程序设计的基本元素
1.1.1 表达式
前缀表达式:运算符在所有的对象左边
中缀表达式 以及 后缀表达式 定义见维基百科url
1.1.2 命名和环境
变量:名字标志符
环境:解释器必须维护的某种存储能力,以便保持有关的名字-值的轨迹
1.1.3 组合式的求值
树形表示法:
1.1.4 复合过程
Lisp的用法及格式:
1.1.5 过程应用的代换模型
实际参数: 组合式里那些运算对象的值
形式参数:局部环境中的变量
- 正则序: 完全展开而后约归,
- 应用序: 先求值参数而后应用
这里注意: 二者求值一般相同,但也有例外,例如下面习题:
课本习题1.5答案
1.1.6 条件表达式和谓词:
LISP的条件表达式形式为:
谓词:
(<p1> < e> ) 表达式中的第一个表达式<p>,它的值将被解释为真或者假
SCHEME 使用#f 表示flase ; 使用 #t 表示true;
1.1.7 实例: 采用牛顿法求平方根
- 说明性描述(是什么), 行动性描述(怎么做)
牛顿法求平方根法:
一般编程
double sqr(double n) { double k=1.0; while(abs(k*k-n)>1e-9) { k=(k+n/k)/2; } return k;}
迭代公式: X(n+1)=[X(n)+p/Xn]/2
C++ 实现
int main(){ double i = 1; double p; cin >> p; while (abs(i*i - p) > 0.00001) { i = (i + p / i) / 2; cout << i << endl; } cout << i << endl; cin >> p; return 0;}
1.1.8 过程作为黑箱抽象
约束变量: 在过程体中,形式参数的具体名字是什么没有关系;若一个变量不是被约束的,则它为自由的。
作用域: 一个名字的意义被约束于的那一集表达式称为这个名字的作用域。
捕获: 将自由变量变为约束变量
阅读全文
0 0
- 1.1程序设计的基本元素
- SICP第一章——构造过程抽象之程序设计的基本元素(1.1)笔记及习题解答
- Java的基本程序设计
- 程序设计的基本方法
- 程序设计的基本目标
- 程序设计的基本元素、过程和计算---SICP学习笔记(1)
- HTML的基本元素
- java的基本元素
- UML的基本元素
- HTML5的基本元素
- HTML的基本元素
- Java程序设计的基本结构
- 汇编语言程序设计的基本方法
- java基本的程序设计结构
- 程序设计的一些基本问题
- Java的基本程序设计结构
- Java的基本程序设计3
- Java的基本程序设计结构
- linxu-07
- linxu-08
- linxu-09
- C++STL学习小结
- linxu-10
- 1.1程序设计的基本元素
- Reactor模式详解
- 11.1-五个Qs
- Winedit 10的使用方法,网上修改注册表的已经不管用了。
- 击中与击不中变换
- 【CTF】用python PIL将RGB值转化为图片
- 重定位和链接
- 欢迎使用CSDN-markdown编辑器
- 安卓接口回调