Microsoft PowerPoint - sicp01-3.ppt

Size: px
Start display at page:

Download "Microsoft PowerPoint - sicp01-3.ppt"

Transcription

1 1. 构造过程抽象 (3) 要点 : 高阶过程 : 以过程为参数和 / 或返回值的过程 lambda 表达式 let 表达式 用过程作为解决问题的通用方法 求函数的 0 点 求函数的不动点 返回过程值 过程是语言里的一等公民 (first-class object) 程序设计技术和方法裘宗燕, (1) 高阶过程 过程是抽象, 一个过程描述了一种对数据的复合操作 如求立方过程 : (define (cube x) (* x x x)) 换个方式, 也可以总直接写组合式 : (* 3 3 3) (* x x x) (* y y y) 不定义过程, 总基于系统操作描述, 不能提高描述的层次 虽然也能计算立方, 但程序里没建立立方的概念 将常用公共计算模式定义为过程并命名, 就是在程序里建立概念 过程抽象起着建立新概念的作用 基于定义好的过程编程, 就是基于更高级的新概念思考问题, 非常重要 程序设计技术和方法裘宗燕, (2)

2 高阶过程 只能以数值作为参数也限制了建立抽象的能力 例如 在一些计算模式里, 在某个 ( 某些 ) 地方可以使用不同的过程 要建立这类计算模式的抽象, 就需要以过程作为参数或返回值 高阶过程 : 以过程作为参数或返回值, 操作过程的过程 高阶过程是非常有用的抽象工具 语言允许定义高阶过程, 就能更好地支持描述复杂的程序, 因为它们为定义抽象提供了更多的可能性 常规语言也提供了一定的定义高阶过程的能力 一些语言里函数提供了过程参数 C/C++ 函数可以指向函数的指针参数, 用于传操作性的实参 但这些功能的能力都比较有限 Java C# 等引进 lambda 表达式, 是为了在这方面有所前进 程序设计技术和方法裘宗燕, (3) 高阶过程 下面要说明高阶过程抽象的价值 ( 后面章节有很多例子 ) 高阶过程有什么用, 应该怎样定义和使用 lambda 表达式的构造和使用 也帮助理解 Java 等语言引进相关功能的背景 需要高阶过程的一类情况 一些计算具有相似的模式, 只是其中涉及的几个操作不同 要利用这种公共模式, 就需要把这几个操作参数化 具有参数化操作的过程, 就是高阶过程 ( 一类情况 ) 以数值为参数的过程 ( 作为比较 ) 一些计算具有类似的情况, 只是其中牵涉的几个数值不同 要利用这种公共性, 就需要把几个被操作的数值参数化 这样就定义出了以数值为参数的过程 程序设计技术和方法裘宗燕, (4)

3 以过程为参数 考虑几个过程 : (define (sum-integers a b) (if (> a b) 0 (+ a (sum-integers (+ a 1) b)))) (define (sum-cubes a b) (if (> a b) 0 (+ (cube a) (sum-cubes (+ a 1) b)))) (define (pi-sum a b) (if (> a b) 0 (+ (/ 1.0 (* a (+ a 2))) (pi-sum (+ a 4) b)))) 收敛到 π/8 虽然细节有许多差异, 但它们有共同的模式 : 从某参数 a 到参数 b, 按一定步长, 对依赖于 a 的一些项求和 程序设计技术和方法裘宗燕, (5) 以过程作为参数 把其中的公共模式较严格地写出来 ( 标明变化的部分 ): (define (<pname> a b) (if (> a b) 0 (+ (<term> a) (<pname> (<next> a) b)))) 一些过程有公共的模式, 说明可能存在一个有用的抽象 如果编程语言的功能足够强, 就有可能利用和实现这种抽象 Scheme 允许以过程为参数, 上面抽象的实现很直接 : (define (sum term a next b) (if (> a b) 0 (+ (term a) (sum term (next a) next b)))) 参数 term 和 next 是计算一个项和计算下一 a 值的过程 程序设计技术和方法裘宗燕, (6)

4 以过程作为参数 几个函数都能基于 sum 定义 ( 只需提供具体的 term 和 next) (define (inc n) (+ n 1)) (define (sum-cubes a b) (sum cube a inc b)) (define (identity x) x) (define (sum-integers a b) (sum identity a inc b)) (define (pi-sum a b) (define (pi-term x) (/ 1.0 (* x (+ x 2)))) (define (pi-next x) (+ x 4)) (sum pi-term a pi-next b) ) 使用示例 : (sum-cubes 1 10) 3025 (* 8 (pi-sum )) 收敛非常慢, 收敛到 π sum 实现的是线性递归计算进程 练习 1.30 要求写完成同样功能的高阶过程, 要求它实现线性迭代 程序设计技术和方法裘宗燕, (7) 以过程作为参数 : 数值积分 如果某个抽象真有用, 那么一定能用它形式化很多概念 例如, 可以用 sum 实现数值积分, 公式是 其中 dx 是很小的步长值 实现和使用 : (define (integral f a b dx) (define (add-dx x) (+ x dx)) (* (sum f (+ a (/ dx 2.0)) add-dx b) dx)) (integral cube ) (integral cube ) x^3 在 [0, 1] 积分的精确值是 1/4 程序设计技术和方法裘宗燕, (8)

5 在 C 语言里以 过程 为参数 C 语言里不允许把函数为参数, 但允许函数指针参数 由于有类型, 函数指针参数也要声明指针的类型 首先声明 typedef double (*MF) (double); 可定义 ( 没用 inc, 加上后定义复杂一点, 也更灵活 ): double sum (MF f, double a, double b, double step) { double x = 0.0; for ( ; a <= b; a += step) x += f(a); return x; } 可以基于 sum 定义其他函数, 如 : double integral (MF f, double a, double b, double dx) { return sum(f, a + dx/2, b, dx) * dx; } 程序设计技术和方法裘宗燕, (9) 过程和命名 前面用 sum 时都为 term 和 next 定义了专门过程 如 (define (pi-sum a b) (define (pi-term x) (/ 1.0 (* x (+ x 2)))) (define (pi-next x) (+ x 4)) (sum pi-term a pi-next b) ) 这些过程只用一次, 为它们命名没价值 最好是能表达 那个返回其输入值加 4 的过程 等概念, 而不专门定义 pi-next 等命名过程 这实际上是一个数学问题 : f(x) = sin x + x 说了两件事 : 描述了一个函数, 并给它取了名字 实际上, 定义函数和给它命名是两件事 应该作为两件事, 分开做, 考虑如何说一个函数但不命名 程序设计技术和方法裘宗燕, (10)

6 用 lambda 构造过程 Scheme 通过 lambda 特殊形式处理这个问题, 求值 lambda 表达式 得到一个匿名过程 lambda 表达式把一段计算参数化, 抽象为一个 ( 匿名 ) 过程 例, 下面几个表达式都计算距离, 有共同的计算模式 (sqrt (+ (* 5 5) (* 8 8))) (sqrt (+ (* 11 11) (* 17 17))) (sqrt (+ (* ) (* ))) 可以考虑其共性的抽象, 建立相应的过程对象 描述相应过程对象的 lambda 表达式 : (lambda (x y) (sqrt (+ (* x x) (* y y)))) 求值这个表达式, 得到 求距离的过程对象 程序设计技术和方法裘宗燕, (11) 用 lambda 构造过程 利用 lambda 表达式重新定义 pi-sum: (define (pi-sum a b) (sum (lambda (x) (/ 1.0 (* x (+ x 2)))) a (lambda (x) (+ x 4)) b)) 两个 lambda 表达式 (lambda (x) (/ 1.0 (* x (+ x 2)))) 带有一个参数 x 的 lambda 表达式 表达式的体是 (/ 1.0 (* x (+ x 2))) (lambda (x) (+ x 4)) 带有一个参数 x 的 lambda 表达式 表达式的体是 (+ x 4) 程序设计技术和方法裘宗燕, (12)

7 用 lambda 构造过程 用同样技术定义积分函数 integral, 也不再定义局部函数 : (define (integral f a b dx) (* (sum f (+ a (/ dx 2.0)) (lambda (x) (+ x dx)) b) dx)) lambda 表达式的思想源自数学家 A. Church 提出的 λ- 演算 Church 当时也在研究计算的抽象表述问题 他在 1940 年代提出了 λ- 演算, 其工作的精髓是提出了一套数学记法和规则, 表示函数的描述与函数应用 已证明,λ- 演算是与图灵机等价的计算模型 λ- 演算可以看作抽象的编程语言, 它是编程语言理论研究的一个重要基础和工具, 在计算机科学领域具有重要地位 程序设计技术和方法裘宗燕, (13) Lambda 表达式 Scheme 里 lambda 表达式的一般形式 : (lambda (<formal-parameters>) <body>) 形式上与 define 类似, 有形式参数表和体 ( 但没有过程名 ) lambda 是特殊形式, 其参数不求值 实际上, 用 define 定义过程只是一种简写形式, 下面两种写法等价 : (define(plus4x)(+x4)) 定义一个过程并用 plus4 命名 (define plus4 (lambda (x) (+ x 4))) 给 plus4 关联一个过程对象 一般说 : (define (<name> <formals>) <body>) 相当于 (define <name> (lambda (<formals>) <body>)) Scheme 允许前一写法只是为了易用, 没有任何功能扩充 程序设计技术和方法裘宗燕, (14)

8 Lambda 表达式 求值 lambda 表达式建立一个新过程 建立的过程可以用在任何需要用过程的地方 在 Scheme 语言里, 过程也是对象 就像整数 字符串等, 都是对象 程序运行中可以建立各种对象 求值 lambda 表达式是建立过程对象的唯一方式 由于 lambda 表达式的值是过程, 因此可以作为组合式的运算符 : ((lambda (x y z) (+ x y (square z))) 1 2 3) 12 第一个子表达式求值得到一个过程 得到的过程应用到其他参数的值 ( 组合式的求值规则 ) 程序设计技术和方法裘宗燕, (15) Lambda 表达式 前面几个例子用 lambda 表达式作为过程的参数 组合式求值时先求值各参数表达式 对作为参数的 lambda 表达式求值得到相应过程, 它们被约束到形参, 然后在过程里面用 这样直接使用 lambda 表达式, 主要作用是 不引入过程名, 简单 ( 如果只用一次 ) 直接描述过程, 有可能使程序更清晰 这些还没表现出 lambda 表达式的本质价值 前面实例里的 lambda 表达式都是静态确定的 下面会看到在更复杂的环境中 lambda 表达式的价值 C 等常规语言没有 lambda 表达式 但至今为止的情况都可以用命名函数模拟 程序设计技术和方法裘宗燕, (16)

9 Lambda 表达式应用 : 保存中间信息 设要定义一个复杂函数, 例如 : 直接定义, 有些子表达式需要多次计算 如果子表达式计算非常耗费资源, 就会带来很大资源浪费 多次出现同一表达式, 造成代码依赖, 给程序维护修改带来困难 一种技术是引进临时变量保存中间信息 : 程序中常出现这类情况 需要引进辅助变量记录一段程序计算出的中间值 程序设计技术和方法裘宗燕, (17) 保存中间信息 Scheme 里的一种解决方法 : 定义一个内部辅助函数 (define (f x y) (define (f-helper a b) (+ (* x (square a)) (* y b) (* a b))) (f-helper (+ 1 (* x y)) (- 1 y)) ) 这里的技术是 : 1. 把各公共表达式抽象为辅助过程的参数, 定义辅助函数, 它基于这些参数描述所需计算, 从公共子表达式的值算出整个表达式的值 2. 在函数调用中以各公共表达式作为对应实参, 安排好过程返回值 对更复杂的情况, 也可以考虑多层分解 程序设计技术和方法裘宗燕, (18)

10 用 lambda 保存和传递中间信息 前面辅助函数可以用一个 lambda 表达式代替 定义 : 技术 (define (f x y) ( (lambda (a b) (+ (* x (square a)) (* y b) (* a b))) (+ 1 (* x y)) (- 1 y)) ) 为 lambda 表达式引进两个参数, 以公共表达式作为应用的对象 1, 用一个 lambda 表达式作为运算符, 其中公共表达式抽象为参数 2, 把实际的公共表达式作为运算对象 这种写法不太清晰 (lambda 表达式较长, 与参数的关系不易看清 ) 程序设计技术和方法裘宗燕, (19) Let 表达式 程序中经常需要这种结构,Scheme 引进 let 结构 ( 是上述 lambda 表达式的变形 ) 用于引进辅助变量, 传递中间结果 过程 f 可重新定义为 : (define (f x y) (let ((a (+ 1 (* x y))) (b (- 1 y)) ) (+ (* x (square a)) (* y b) (* a b))) ) let 引进了两个局部变量并分别约束值,let 体用这些变量完成计算 比较 : let 的局部变量约束在前计算在后, 更符合阅读习惯, 更清晰 用 lambda 时计算表达式在前, 实参 / 形实参约束关系不容易看清 程序设计技术和方法裘宗燕, (20)

11 let 和局部变量 let 表达式的一般形式 : (let ((<var 1 ><exp 1 >) (<var n ><exp n >)) <body>) 前面是一组变量 / 值表达式对, 表示建立约束关系 读作 : 令 <var 1 > 具有值 <exp 1 >, 且 <var 2 > 具有值 <exp 2 > 且 <var n > 具有值 <exp n > 做 <body> let 是 lambda 表达式的一种应用形式加上语法外衣, 等价于 : ((lambda (<var 1 >...<var n >) <body>) <exp 1 > <exp n >) 程序设计技术和方法裘宗燕, (21) let 和局部变量 在 let 结构里, 为局部变量提供值的表达式在 let 之外计算, 其中只能引用本 let 之外的变量 简单情况里看不出这种规定的意义 如果出现局部变量与外层变量重名, 就会看到这一规定的意义 例如 : (let ((x 3) (y (+ x 2))) (* x y)) let 头部的变量约束中把 y 约束到由外面的 x 求出的值 不是约束到这个 let 里面的 x 的值 如果外面的 x 约束值是 5, 表达式的值将是 21 请考虑与上面 let 对应的 lambda 表达式, 比较 ( 作为复习题 ) 程序设计技术和方法裘宗燕, (22)

12 作为通用方法的过程 高阶过程的功能很强大 表示高级的计算模式, 其中把一些操作参数化 解决的是一族问题 o 用一组适当过程实例化, 得到一个具体的过程 o 把具体计算过程用于适当的数据, 得到一个具体计算 可以同时做过程参数的实例化和提供被操作数据 也可以分步提供, 为程序的分解和设计提供了自由度 下面讨论两个更有趣的高阶函数实例, 研究两个通用问题的解决方法 : 找函数的 0 点 找函数的不动点基于这两个方法定义的抽象过程可用于解决许多具体问题 程序设计技术和方法裘宗燕, (23) 例 : 找方程的根 ( 函数零点 ) 问题 : 找区间里方程的根 : 区间 [a, b], 若 f(a) < 0 < f(b),[a, b] 中必有 f 零点 ( 中值定理 ) 折半法 : 取区间中点 x 计算 f(x) 如果 f(x) 是根 ( 在一定误差的意义下 ), 计算结束 否则根据 f(x) 的正负将区间缩短一半 在缩短的区间里继续使用折半法 易见, 上面操作做一次, 区间长度减半假设初始区间的长度为 L, 容许误差为 T 所需计算步数为 O(log(L/T)) 是对数时间算法 不难定义一个 Scheme 过程实现这个算法 程序设计技术和方法裘宗燕, (24)

13 函数零点 实现折半法的过程 : (define (search f neg-point pos-point) (let ((midpoint (average neg-point pos-point))) (if (close-enough? neg-point pos-point) midpoint (let ((test-value (f midpoint))) (cond ((positive? test-value) (search f neg-point midpoint)) ((negative? test-value) (search f midpoint pos-point)) (else midpoint)))))) 这里定义的是核心过程 参数应该是被处理函数 f 以及它的一个负值点和一个正值点, 只有保证参数正确, 才能得到正确结果 过程实现折半计算的基本过程, 以尾递归方式定义 程序设计技术和方法裘宗燕, (25) 函数零点 编程原则 : 总采用功能分解技术, 最高层的过程实现算法框架 把具有独立逻辑意义的子计算抽象为子过程调用 子过程的实现另行考虑 需要一个子过程判断区间足够小 ( 谓词 ): (define (close-enough? x y) (< (abs (- x y)) 0.001)) 评价标准可根据需要确定 把判断区间满足要求的方法抽象为过程, 另行定义, 优点 : 可以单独研究判断的技术, 选择适当的方法 容易通过替代的方法, 独立改进程序中的重要部分 o 例如采用某种相对度量 程序设计技术和方法裘宗燕, (26)

14 函数零点 用户提供的区间可能不满足 search 的要求 ( 两端点函数值异号 ) 可以定义一个包装过程, 只在参数合法时调用 search: (define (half-interval-method f a b) (let ((a-value (f a)) (b-value (f b)) ) (cond ((and (negative? a-value) (positive? b-value)) (search f a b)) ((and (negative? b-value) (positive? a-value)) (search f b a)) (else (error "Values are not of opposite sign" a b)) ) )) error 是发错误信号的内部过程, 它逐个打印各参数 ( 任意多个 ) 使用 ( 实例 ): 求 pi 的值 (sin x 在 2 和 4 之间的零点 ): (half-interval-method sin ) 程序设计技术和方法裘宗燕, (27) 函数零点 用折半法求一个函数的根 (half-interval-method (lambda (x) (- (cube x) (* 2 x) 3)) ) 很多问题可以归结到求函数 0 点 ( 求函数的根 ) 数值计算情况, 都可以用 half-interval-method 函数可以事先定义, 也可以直接用 lambda 描述 程序设计技术和方法裘宗燕, (28)

15 例 : 函数的不动点 定义 :x 是函数 f 的不动点, 如果将 f 作用于 x 得到的还是 x f 的不动点就是满足下面等式的那些 x f(x) = x 显然, 并非每个函数都有不动点 反例很多, 如 (lambda (x) (+ x 1)) 存在一些有不动点的函数, 从某些初值出发, 反复应用这个函数, 可以逼近它的一个不动点 即使有不动点, 也未必满足具有这种性质 可能与初值选择有关 有这样的函数, 从一些初值出发可以达到不动点, 从另一些初值出发达不到不动点 下面只考虑有不动点的函数, 而且假设知道合适的初值 在这种情况下考虑不动点的计算问题 程序设计技术和方法裘宗燕, (29) 函数的不动点 按上面想法求函数不动点的函数 (define tolerance ) (define (fixed-point f first-guess) (define (close-enough? v1 v2) (< (abs (- v1 v2)) tolerance)) (define (try guess) (let ((next (f guess))) (if (close-enough? guess next) next (try next)))) (try first-guess) ) 其中反复应用 f, 直至连续两个值足够接近 : 用 fixed-point 过程求 cos 的不动点, 以 1.0 作为初始值 : (fixed-point cos 1.0) 程序设计技术和方法裘宗燕, (30)

16 C 高阶函数 ( 不动点 ) 求函数零点的二分法和找函数不动点的过程都容易在 C 语言里实现 下面是一个找函数不动点的 C 函数 : const double tolerance = ; int closeq (double a, double b) { return fabs(a - b) < tolerance; } double fixed (MF f, double guess) { while (1) { double next = f(guess); if (closeq(next, guess)) return guess; guess = next; } } 有类型问题, 只能用于 double 参数返回 double 值的 数学函数 程序设计技术和方法裘宗燕, (31) 函数的不动点 : 控制振荡 有些函数存在不动点, 但简单地反复应用函数却不能达到不动点 x 的平方根可看作 f(y) = x/y 的不动点 考虑用下面求平方根过程 : (define (sqrt x) (fixed-point (lambda (y) (/ x y)) 1.0 )) 它一般不终止 ( 产生的函数值序列不收敛 ), 因为 : y 3 = x/y 2 = x/(x/y 1 ) = y 1 函数值在两个值之间振荡 控制振荡的一种方法是消减变化的剧烈程度 因为问题的答案必定在两值之间, 可考虑用它们的平均值作为下一猜测值 : (define (sqrt x) (fixed-point (lambda (y) (average y (/ x y))) 1.0) ) 试验说明, 现在计算收敛, 能达到不动点 ( 得到平方根 ) 程序设计技术和方法裘宗燕, (32)

17 过程作为返回值 上面减少振荡的方法称为平均阻尼技术 (lambda (y) (average y (/ x y))) 是 (lambda (y) (/ x y)) 的派生函数, 可称为 (lambda (y) (/ x y)) 的平均阻尼函数 看来 f 的平均阻尼函数在反复应用中的收敛性优于 f, 而且 f 的平均阻尼函数的不动点一定是 f 的不动点 ( 请证明这两点 ) 从函数构造其平均阻尼函数的操作很有用, 构造方法具有统一模式, 能不能定义过程完成这一构造? 不动点计算中的平均阻尼是一种通用技术 做的事情就是求函数值和参数值的平均值 而从给定函数 f 求其平均阻尼函数, 却是基于 f 定义另一过程 在 Scheme 里函数用过程表示, 上面工作要求定义一个高阶过程, 它需要在执行中创建并返回一个新过程, 这是个新问题 这应该是有用的程序技术, 因为增强了表述计算进程的能力 程序设计技术和方法裘宗燕, (33) 过程作为返回值 在 Scheme 里很容易构造新的过程对象并将其返回 只需用 lambda 表达式描述过程的返回值 最简单的模式 : (define (g f...) (lambda (...)...) ) 下面过程计算出与 f 对应的平均阻尼过程 : (define (average-damp f) (lambda (x) (average x (f x)))) 注意 :average-damp 以过程 f 为参数, 返回基于 f 构造的另一过程, 实现的是一种从过程到过程的变换 对任何函数实参, 它都能返回这个实参函数的平均阻尼函数 在计算中生成新过程 ( 对象 ) 是前面没遇到过的新问题, 实际上这是 lambda 表达式最重要的作用 常规语言 (Java/C++/C#) 引入 lambda 表达式的目的也在于此 程序设计技术和方法裘宗燕, (34)

18 过程作为返回值 把 (average-damp f) 构造的过程作用于 x, 得到所需平均阻尼值 ((average-damp square) 10) 55 平方根函数可以重新定义为 : (define (sqrt x) (fixed-point (average-damp (lambda (y) (/ x y))) 1.0)) 注意新定义的特点 : 基于两个通用过程, 它们分别求不动点和生成平均阻尼函数 两个通用过程都可以用于任意函数 具体函数用 lambda 表达式直接构造 许多问题可以归结为求不动点 书上有些练习, 其中讨论了许多与书中正文有关的有趣问题 值得读一读 想一想 程序设计技术和方法裘宗燕, (35) 返回构造的过程 有兴趣的同学可以考虑 : 在 C++ 里可以做出类似抽象 ( 用函数对象 ), 由于 C++ 支持运算符重载, 可以做的比较自然 请各位想想怎么做 能否在 C 语言里做这种抽象 如果能, 怎么做? 如不能, 为什么? 想想下面问题 : o 如果能做出这种过程, 参数应该是什么, 返回值类型是什么? o 实际的返回值从哪里来? o 有办法建立返回值与参数 ( 两者都是函数 ) 之间的关系吗? 总结上述问题, 总可以做 但如何做的比较自然方便? 程序设计技术和方法裘宗燕, (36)

19 主流语言中的 lambda 表达式 近几年 C#/Java/C++ 都在积极开发 lambda 表达式功能, 其中 C# 走的比较靠前,Java 和 C++ 也在积极跟进 基本目标是在 OO 语言里提供类似函数式语言 lambda 表达式的功能, 主要是提供匿名函数, 简化程序书写 ; 也想支持一些高级编程技术 各语言的写法不同,C#/Java( 考虑 ) 的写法与 Scheme 接近 x => x + 1 (x) => x + 1 (int x) => x + 1 (int x, int y) => x + y (x, y) => x + y (x, y) => { System.out.printf("%d + %d = %d%n", x, y, x+y); } () => { System.out.println("I am a Runnable"); } 有兴趣的同学可以选一个语言, 考察其中 lambda 表达式的形式, 基本设计考虑, 目前人们正在考虑的应用技术 ( 网上有很多讨论 ) 程序设计技术和方法裘宗燕, (37) 牛顿法 下面用牛顿法求根作为返回 lambda 表达式的另一应用 一般牛顿法求根牵涉到求导, 设要求 g 的根牛顿法说 g(x) = 0 的解是下面函数的不动点 要用这个公式, 需要能求出给定函数 g 的导函数 求导是从一个函数 ( 原函数 ) 算出另一函数 ( 导函数 ) 在 Scheme 里实现, 就是构造新过程 可以在 Scheme 做符号求导 ( 下一章讨论 ) 现在考虑一种 数值导函数,g(x) 的数值导函数是 D g(x) = (g(x + dx) g(x)) / dx 做数值计算, 可以用一个很小的数值作为 dx, 如 程序设计技术和方法裘宗燕, (38)

20 牛顿法 把 dx 定义为全局变量 ( 也可以作为参数 ): (define dx ) 生成 导函数 的过程定义为 : (define(derivg) (lambda (x) (/ (- (g (+ x dx)) (g x)) dx) ) ) 生成的过程是 g 的数值导函数 用 deriv 可以对任何函数求数值导函数 例 : (define (cube x) (* x x x)) ((deriv cube) 5) 程序设计技术和方法裘宗燕, (39) 牛顿法 可以把牛顿法定义为一个求不动点的函数 : (define (newton-transform g) (lambda (x) (- x (/ (g x) ((deriv g) x))))) (define (newtons-method g guess) (fixed-point (newton-transform g) guess)) newton-transform 从函数 g 构造出另一个 Scheme 过程, 它能计算 g 的导函数的近似值 这也是构造新过程 这个牛顿法求根函数可以用于任何函数 求导函数的操作是数值计算, 得到原函数的数值导函数 对同样 dx 不同函数的误差不同 不同 dx 也可能导致不同的计算误差 Scheme 的优势是符号计算, 操作各种符号形式的表达式 可以用符号表达式表示代数表达式 在 Scheme 里很容易实现符号求导 ( 下一章的内容 ) 程序设计技术和方法裘宗燕, (40)

21 用牛顿法计算平方根 基于 newton-method 也可以计算平方根 x 的平方根可以看作函数 (lambda (y) (- (* y y) x)) 的 0 点 基于这一观点定义的求平方根过程 (define (sqrt x) (newton-method (lambda (y) (- (* y y) x)) 1.0 ) ) 从初始值 1.0 出发求函数的不动点 类似的,x 的立方根是函数 (lambda (y) (- (* y y y) x)) 的 0 点 同样可以基于这一观点求 x 的立方根 (define (cbrt x) (newton-method (lambda (y) (- (* y y y) x)) 1.0 ) ) 程序设计技术和方法裘宗燕, (41) 抽象和一级过程 上面用两种不同方法求平方根, 都是把平方根表示为另一种更一般的计算方法的实例 : 1. 作为一种不动点搜索过程 ( 搜索 ) 2. 采用牛顿法, 而牛顿法本身也是一种不动点计算 都把求平方根看作是求一个函数在某种变换下的不动点 这两种方法有共同模式, 可以进一步推广为一个通用过程 (define (fixed-point-of-transform g transform guess) (fixed-point (transform g) guess)) 基于一个实现某种变换的过程 transform 求某个函数 g 经某种变换得到的函数的从一个猜测出发的不动点 只要一个计算可以表达为这种模式, 都可以基于这个高阶过程描述 只需提供适当的实现变换的 transform 程序设计技术和方法裘宗燕, (42)

22 抽象和一级过程 基于前面高阶过程, 可以写出平方根函数的另外两个定义 : (define (sqrt x) (fixed-point-of-transform (lambda (y) (/ x y)) average-damp 1.0)) (define (sqrt x) (fixed-point-of-transform (lambda (y) (- (square y) x)) newton-transform 1.0)) 在编程中, 要注意发现和总结遇到的有用抽象, 正确识别并根据需要加以推广, 以便用于更大范围和更多情况 注意在一般性和使用方便性 利用所用语言的能力 ( 不同语言构造抽象的能力不同 ) 库是这方面的范例 函数式和 OO 语言提供了更大的思考空间 程序设计技术和方法裘宗燕, (43) 一等的过程 语言对各种计算元素的使用可能有限制 如 : C 语言不允许函数返回函数或数组 C/Java/C++ 等都不允许数组和函数的赋值 使用限制最少的元素称为语言中的 一等 元素, 是语言的 一等公民, 具有最高特权 ( 最普遍的可用性 ) 常见的包括 : 可以用变量命名 ( 在常规语言里, 可存入变量, 取出使用 ) 可以作为参数传给过程 可以由过程作为结果返回 可以放入各种数据结构 可以在运行中动态地构造 在 Scheme( 及其他 Lisp 方言 ) 里, 过程具有完全一等地位 这给语言实现带来一些困难, 也为编程提供了极大潜力 后面有更多的讨论 程序设计技术和方法裘宗燕, (44)

23 回顾 ( 第一章 ) 基本语言元素 : 基本表达式, 组合式, 过程抽象 理解计算进程 : 计算模式和资源消耗, 算法的复杂性 高阶过程以过程作为参数和 / 或返回值 过程作为过程的参数 过程作为过程的返回值 ( 通过计算构造新过程 ) lambda 表达式求值的结果是一个过程, 可以存入变量, 可以应用于参数 let 表达式和局部变量 不动点的概念和计算 发掘并利用有用的编程模式通过抽象构造通用的过程, 其他有用的程序抽象结构 程序设计语言里的一等公民 (first-class object) 程序设计技术和方法裘宗燕, (45)

什么是函数式编程?

什么是函数式编程? 函数式编程 FUNCTIONAL PROGRAMMING byvoid@byvoid.com 什么是函数式编程? 真相是 从停机问题开始 Bug 假设有停机判定算法 function halting(func, input) { } return if_func_will_halt_on_input; 充分利用停机判定 function ni_ma(func) { if (halting(func,

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

定积分的基本概念问题的提出 Yunming Xio ( 南京大学数学系 ) 微积分 I( 高等数学 ) Autumn / 23

定积分的基本概念问题的提出 Yunming Xio ( 南京大学数学系 ) 微积分 I( 高等数学 ) Autumn / 23 定积分的基本概念内容提要 1 定积分的基本概念 2 定积分的几何意义 3 定积分的基本性质 4 定积分中值定理 5 变限积分及其性质 6 微积分基本公式 Yunming Xio ( 南京大学数学系 ) 微积分 I( 高等数学 ) Autumn 2016 1 / 23 定积分的基本概念问题的提出 Yunming Xio ( 南京大学数学系 ) 微积分 I( 高等数学 ) Autumn 2016 2 /

More information

幻灯片 1

幻灯片 1 第一类换元法 ( 凑微分法 ) 学习指导 复习 : 凑微分 部分常用的凑微分 : () n d d( (4) d d( ); (5) d d(ln ); n n (6) e d d( e ); () d d( b); ); () d d( ); (7) sin d d (cos ) 常见凑微分公式 ); ( ) ( ) ( b d b f d b f ); ( ) ( ) ( n n n n d f

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos(

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos( 第一章三角函数 1. 三角函数的诱导公式 A 组 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C ( 中诱导公式 ) B. cos( B C) cos A D. sin( B C) sin A sin60 cos( ) sin( 0 )cos( 70 ) 的值等于

More information

Microsoft PowerPoint - 3. 函数Functionl.ppt [兼容模式]

Microsoft PowerPoint - 3. 函数Functionl.ppt [兼容模式] 函数 Function 如何重用代码 How to reuse code 3 4 = 3*3*3*3 3 4,6 5 : 拷贝 - 粘帖代码 (Copy-paste code) 3 4,6 5,12 10 : 拷贝 - 粘帖代码 (Copy-paste code) Bad! 使用函数 (with a function) 使用函数 (with a function) 使用函数 (with a function)

More information

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx 运算符重载 Operator Overloading class Point { public: ; double x_, y_; Why Operator Overloading? Point (double x =0, double y = 0):x_(x),y_(y) { int main(){ Point a(1., 2), b(3,4); Point c = a + b; return 0;

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2 Chapter 02 變數與運算式 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.2.3 type 2.2.4 2.3 2.3.1 print 2.3.2 input 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 + 2.4.6 Python Python 2.1 2.1.1 a p p l e b e a r c 65438790

More information

PowerPoint Presentation

PowerPoint Presentation Typed Lambda Caculus,+, 程序设计语言理论 张昱 0551-63603804,yuzhang@ustc.edu.cn 中国科学技术大学计算机科学与技术学院 References PFPL Chapters: 4 Statics, 5 Dynamics, 6 Type Safety, 7 Evaluation Dynamics Chapters: 10 Product Types,

More information

lim f(x) lim g(x) 0, lim f(x) g(x),

lim f(x) lim g(x) 0, lim f(x) g(x), 2016 11 14 1 15 lim f(x) lim g(x) 0, lim f(x) g(x), 0 0. 2 15 1 f(x) g(x) (1). lim x a f(x) = lim x a g(x) = 0; (2). a g (x) f (x) (3). lim ( ). x a g (x) f(x) lim x a g(x) = lim f (x) x a g (x). 3 15

More information

C/C++ 语言 - 循环

C/C++ 语言 - 循环 C/C++ Table of contents 7. 1. 2. while 3. 4. 5. for 6. 8. (do while) 9. 10. (nested loop) 11. 12. 13. 1 // summing.c: # include int main ( void ) { long num ; long sum = 0L; int status ; printf

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

WWW Slides

WWW Slides 函数和环境 通用和专用的方法, 实例 局部函数定义 变量和作用域 ( 全局和局部 ) 嵌套的作用域 名字和变量 ( 函数 ) 的约束关系 global 和 nonlocal 声明, 变量查找 函数执行中的环境变化 计算概论 (Python 程序设计 ) 裘宗燕,2015/4/2//-1- 通用和专用的方法 解决计算问题, 存在一些通用的方法, 针对具体问题也可能开发出一些具体的专用方法 前面讨论过几个计算中常用的通用方法

More information

5 551 [3-].. [5]. [6]. [7].. API API. 1 [8-9]. [1]. W = W 1) y). x [11-12] D 2 2πR = 2z E + 2R arcsin D δ R z E = πr 1 + πr ) 2 arcsin

5 551 [3-].. [5]. [6]. [7].. API API. 1 [8-9]. [1]. W = W 1) y). x [11-12] D 2 2πR = 2z E + 2R arcsin D δ R z E = πr 1 + πr ) 2 arcsin 38 5 216 1 1),2) 163318) 163318). API. TE256 A doi 1.652/1-879-15-298 MODE OF CASING EXTERNA EXTRUSION BASED ON THE PRINCIPE OF VIRTUA WORK 1) ZHAO Wanchun,2) ZENG Jia WANG Tingting FENG Xiaohan School

More information

实验 6 无约束规划与非线性规划模型的求解 姓名 : 徐美君 学号 : 班级 : 数统 (3) 班 一 实验要求 (1) 了解 matlab 中常用优化命令 ( 无约束规划 : fminunc, fminsearch; 约束规 划 :fminbnd, fmincon, fmi

实验 6 无约束规划与非线性规划模型的求解 姓名 : 徐美君 学号 : 班级 : 数统 (3) 班 一 实验要求 (1) 了解 matlab 中常用优化命令 ( 无约束规划 : fminunc, fminsearch; 约束规 划 :fminbnd, fmincon, fmi 实验 6 无约束规划与非线性规划模型的求解 姓名 : 徐美君 学号 :201505060451 班级 : 数统 (3) 班 一 实验要求 (1) 了解 matlab 中常用优化命令 ( 无约束规划 : fminunc, fminsearch; 约束规 划 :fminbnd, fmincon, fminimax) 的用法 (2) 掌握 lingo 软件进行非线性规划问题的求解方法 实验方法 : 先重复实验内容中各例子的操作,

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

《C语言程序设计》第2版教材习题参考答案

《C语言程序设计》第2版教材习题参考答案 教材 C 语言程序设计 ( 第 2 版 ) 清华大学出版社, 黄保和, 江弋编著 2011 年 10 月第二版 ISBN:978-7-302-26972-4 售价 :35 元 答案版本 本习题答案为 2012 年 2 月修订版本 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p = &a A. *p = *a B. p = *a C.p = &a D. *p =

More information

100 5 ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ 1 7 30 13 19 1 7 40 56 13 19 1 7 405 58 13 19 (0 5 10 15 20 40 ) ( ) 14 80 160 320 20 X = x1 + x2 + x3 + Λ Λ x n X X x x x x 1 + 2 + 3+ Λ Λ n = n X X

More information

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式] 指针 Pointers 变量指针与指针变量 Pointer of a variable 变量与内存 (Variables and Memory) 当你声明一个变量时, 计算机将给该变量一个内存, 可以存储变量的值 当你使用变量时, 计算机将做两步操作 : - 根据变量名查找其对应的地址 ; - 通过地址对该地址的变量内容进行读 (retrieve) 或写 (set) 变量的地址称为变量的指针! C++

More information

没有幻灯片标题

没有幻灯片标题 指针作为函数参数 : 原因 : 1 需要修改一个或多个值,( 用 return 语句不能解决问题 ) 2 执行效率的角度 使用方法 : 在函数原型以及函数首部中需要声明能够接受指针值的形参, 具体的写法为 : 数据类型 * 形参名 如果有多个指针型形参, 则用逗号分隔, 例如 : void swap(int *p1, int *p2) 它说明了形参 p1 p2 是指向整型变量的指针 在函数调用时,

More information

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3 浙江大学 C 程序设计及实验 试题卷 2002-2003 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:30-10:30 注意 : 答题内容必须写在答题卷上, 写在本试题卷上无效 一. 单项选择题 ( 每题 1 分, 共 10 分 ) 1. 下列运算符中, 优先级最低的是 A.

More information

大侠素材铺

大侠素材铺 编译原理与技术 词法分析 Ⅱ 计算机科学与技术学院李诚 13/09/2018 主要内容 记号 (token) 源程序 词法分析器 getnexttoken 语法分析器 符号表 词法分析器的自动生成 正则表达式 NFA DFA 化简的 DFA 词法分析器的生成器 Lex: flex jflex Fst lexicl nlyzer genertor 2/51 Regulr Expr to NFA 正则表达式

More information

C/C++程序设计 - 字符串与格式化输入/输出

C/C++程序设计 - 字符串与格式化输入/输出 C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int

More information

f ( d ) = f( d ) f ( d ) = [ f( ) f( ) ] d B: 函数 Φ ( ) 在 (, + ) 上无极值点 (5) 若函数 f ( ) 在闭区间 [, ] 上都连续., 则下列说法不正确的是 ( ) A: f () 是 的函数 B: f () 是 的函数 f () 是

f ( d ) = f( d ) f ( d ) = [ f( ) f( ) ] d B: 函数 Φ ( ) 在 (, + ) 上无极值点 (5) 若函数 f ( ) 在闭区间 [, ] 上都连续., 则下列说法不正确的是 ( ) A: f () 是 的函数 B: f () 是 的函数 f () 是 高等数学 第五章 - 定积分 练习题 (A) 一 判断正误题 :( 判断下列各题是否正确, 正确的划, 错误的划 ) n () + + + d n + = n n n () f ( d ) = f( udu ) () 若函数 f ( ) 在区间 (, + ) 上连续, c,, 为任意三个常数, 则 c f ( d ) = ( ) f d+ c f( d ) (5). () (6) sin d (7)

More information

5-2微积分基本定理

5-2微积分基本定理 s v s v. T, ]. s v ; n lim v ξi i λ i F ', [ T s T s T T T T T v s T s T v F F T v v T T T s v ξ i i i [ T, T] . b Φ [, b] [, b] [, b] . [, b], y y Φ b o Φ ' [, b] o, bφ Φ ξ b + h + h Φ + h + + h Φ Φ +

More information

C

C C 2017 4 1 1. 2. while 3. 4. 5. for 6. 2/161 C 7. 8. (do while) 9. 10. (nested loop) 11. 12. 3/161 C 1. I 1 // summing.c: 2 #include 3 int main(void) 4 { 5 long num; 6 long sum = 0L; 7 int status;

More information

R 软件介绍 (3): R编程基础

R 软件介绍 (3): R编程基础 R 软件介绍 (3):R 编程基础 1 / 33 Outline 1 简介 2 选择分支 3 循环 4 编写函数 2 / 33 简介 1 简介 2 选择分支 3 循环 4 编写函数 3 / 33 简介 R 编程的目的 1 使代码更简洁 2 使代码更稳健 3 使代码运行更快 4 / 33 简介基本概念 1 成组表达式 (Grouped expressions) 1 命令可以用大括弧圈在一起 expr

More information

Microsoft PowerPoint - sicp01-2.ppt

Microsoft PowerPoint - sicp01-2.ppt 1. 构造过程抽象 (2) 表达式, 值,define 过程的内部定义和块结构 分析过程 ( 静态, 描述 ) 产生的计算进程 ( 动态, 行为 ) 计算进程的类型 线性递归 线性迭代 树形递归 计算的代价 程序设计技术和方法裘宗燕,2014-3-6 / 1 表达式的一些情况 变量如果一个变量没定义, 对它求值是错误, 求值中断如果变量有定义, 求值得到它当时的关联值 内部过程对内部过程名求值得到某种特殊信息

More information

Fig1 Theforceappliedtothetrainwhenrunning :w = w j +w q (3) :w = w = w 0 +w j (4) w i 121 基本阻力 w r = 600 R ( N/kN) (8) :R : [2] w s [3] w s =0

Fig1 Theforceappliedtothetrainwhenrunning :w = w j +w q (3) :w = w = w 0 +w j (4) w i 121 基本阻力 w r = 600 R ( N/kN) (8) :R : [2] w s [3] w s =0 31 4 2012 8 JournalofLanzhouJiaotongUniversity Vol31No4 Aug2012 :1001-4373(2012)04-0097-07 * 张友兵 张 波 ( 100073) : 分析了列车运行过程中的受力情况 给出了制动过程中减速度的计算方法 并采用正向 反向两种迭代方式计算列车制动曲线 两种方式计算出的制动曲线一致 证明了计算制动曲线的方法是正确的

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

Microsoft PowerPoint - sicp03-1.ppt

Microsoft PowerPoint - sicp03-1.ppt 3. 模块化, 对象和状态 (1) 本章讨论与状态有关的编程问题 本节课讨论 : 赋值和局部状态 基于状态变化的程序设计 引入赋值的得与失 函数式和命令式程序设计 命令式程序设计的缺陷 求值的环境模型 环境模型中的求值规则 建立过程对象, 过程应用, 局部状态, 内部定义 程序设计技术和方法裘宗燕,2014-4-2 /1 系统设计和组织的策略 前面讨论的主要问题是 : 如何组合基本过程和基本数据 如何构造各种复合对象

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

第5章修改稿

第5章修改稿 (Programming Language), ok,, if then else,(), ()() 5.0 5.0.0, (Variable Declaration) var x : T x, T, x,,,, var x : T P = x, x' : T P P, () var x:t P,,, yz, var x : int x:=2. y := x+z = x, x' : int x' =2

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

Microsoft PowerPoint - plan06.ppt

Microsoft PowerPoint - plan06.ppt 程 序 设 计 语 言 原 理 Principle of Programming Languages 裘 宗 燕 北 京 大 学 数 学 学 院 2012.2~2012.6 6. 基 本 控 制 抽 象 子 程 序 抽 象 子 程 序 活 动 和 局 部 环 境 静 态 实 现 模 型 一 般 实 现 模 型 调 用 序 列 和 在 线 展 开 参 数 机 制 泛 型 子 程 序 异 常 处 理 其

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

<4D6963726F736F667420576F7264202D20313034B0EABB79A4E5B8D5C344BBBCB065AAA9>

<4D6963726F736F667420576F7264202D20313034B0EABB79A4E5B8D5C344BBBCB065AAA9> 嘉 義 縣 104 年 新 港 溪 北 六 興 宮 正 黑 麵 三 媽 盃 小 六 學 藝 競 試 國 文 試 卷 一 一 般 選 擇 題 : 1. 下 列 選 項 中, 哪 一 組 字 的 讀 音 是 相 同 的?(A) 躡 足 / 攝 影 (B) 淒 慘 / 妻 兒 (C) 漠 不 關 心 / 眼 角 膜 (D) 韋 編 / 偉 人 2. 下 列 內 的 部 首, 何 者 正 確?(A) 黎 明

More information

凡 例 一 高 淳 县 历 史 悠 久, 文 物 古 迹 颇 丰, 为 全 面 系 统 地 保 存 各 类 文 物 资 料, 介 绍 文 物 工 作 情 况, 达 到 教 育 后 人, 提 供 专 业 研 究 的 目 的, 特 编 纂 本 志 二 本 志 采 用 记 志 述 图 表 等 多 种 体 裁, 翔 实 记 载 高 淳 县 自 旧 石 器 时 代 至 民 国 年 间 的 文 化 遗 存 文

More information

康體藝術

康體藝術 320 321 0.12% (340 ) 3.44% (1.001 ) 0.30% (860 ) 5.93% (7.542 ) 7.83% (2.277 ) ( 7,960 1,810 ) 3.36% (9,770 ) 9.08% (2.642 ) 20.27% (5.898 ) ( ) 29.67% (8.63 ) 322 π 323 324 325 326 327 328 329 330 331

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i; double d; 数据 (Fields) char c; void set(double

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

R 软件介绍 (3): R编程基础

R 软件介绍 (3): R编程基础 R 软件介绍 (3):R 编程基础 jinlin@zueleducn 2017 年秋金林 ( 中南财经政法大学统计系 ) R 软件介绍 (3):R 编程基础 2017 年秋 1 / 33 Outline 1 简介 2 选择分支 3 循环 4 编写函数金林 ( 中南财经政法大学统计系 ) R 软件介绍 (3):R 编程基础 2017 年秋 2 / 33 简介 1 简介 2 选择分支 3 循环 4 编写函数金林

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

中北大学常规事项财务报销操作指南

中北大学常规事项财务报销操作指南 中 北 大 学 常 规 事 项 财 务 报 销 操 作 指 南 一 办 公 费 报 销 指 南 定 义 : 办 公 费 是 单 位 购 买 按 财 务 会 计 制 度 规 定 不 符 合 固 定 资 产 标 准 的 日 常 办 公 用 品 书 报 杂 志 等 支 出 通 俗 讲 是 指 办 公 场 所 使 用 的 低 值 易 耗 品 办 公 用 品 的 类 别 : 纸 薄 类 笔 尺 类 装 订 类

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

2007 GRE Math-Sub Nov 3, 2007 Test time: 170 minutes

2007 GRE Math-Sub Nov 3, 2007 Test time: 170 minutes 2007 GRE Math-Sub Nov 3, 2007 Test time: 170 minutes ... zqs... 10 66 60... fz zqs vonneumann vonneumann sub... Bless by Luobo June 21, 2008 1. 2. g(x) = e 2x+1, cos 3x 1 lim x 0 x 2 g(g(x)) g(e) lim x

More information

:

: : : 4.1....................... 1 4.1.1............... 1 4.2........... 10 4.2.1............... 10 4.2.2..... 14 4.2.3................ 18 4.2.4................ 24 4.3...................... 26 4.3.1..............

More information

矩阵函数

矩阵函数 矩阵函数 矩阵分析 - 研究生课程 矩阵的多项式表示与矩阵的极小多项式 定义 1: 已知 和关于变量 的多项 式 那么我们称 为 的矩阵多项式 n x n 1 n 1 1 0 f( x) a x + a x + L + a x+ a n n n 1 n 1 1 0 f( ) a + a + L + a + a I n n n C 设为一个阶矩阵, 为其 Jordan 标准形, 则 n J 于是有 1

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i;

More information

ebook14-4

ebook14-4 4 TINY LL(1) First F o l l o w t o p - d o w n 3 3. 3 backtracking parser predictive parser recursive-descent parsing L L ( 1 ) LL(1) parsing L L ( 1 ) L L ( 1 ) 1 L 2 L 1 L L ( k ) k L L ( 1 ) F i r s

More information

S = 1 2 ( a + b) h a b = a 1 a b = a 1 b b 2 2 πr 2r π π 2 = ( - 2)r 2 2 = - 2 = 57 2r 2r 2 6 5 7 4 3 6 5 4 3 3 4 5 6 7 7 5 7 6 1 1 1 1 1 2 3 5 7 7. 2 3 4 6 12 3 4 12 12 1

More information

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7>

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7> 能源与动力工程学院 结构化编程 结构化程序设计 循环 循环结构 确定性循环 非确定性循环 I=1 sum=sum+i I = I +1 陈 斌 I>100 Yes No 目录 求和 :1+2+3++100 第四节循环的应用 PROGRAM GAUSS INTEGER I, SUM 计数器 SUM = 0 DO I = 1, 100, 1 SUM = SUM + I print*, I, SUM DO

More information

WWW PHP Comments Literals Identifiers Keywords Variables Constants Data Types Operators & Expressions 2

WWW PHP Comments Literals Identifiers Keywords Variables Constants Data Types Operators & Expressions 2 WWW PHP 2003 1 Comments Literals Identifiers Keywords Variables Constants Data Types Operators & Expressions 2 Comments PHP Shell Style: # C++ Style: // C Style: /* */ $value = $p * exp($r * $t); # $value

More information

山东建筑大学学分制管理规定(试行)

山东建筑大学学分制管理规定(试行) 山 建 大 校 字 2015 67 号 山 东 建 筑 大 学 关 于 印 发 学 分 制 管 理 规 定 ( 试 行 ) 的 通 知 各 院 部 校 直 各 部 门 : 山 东 建 筑 大 学 学 分 制 管 理 规 定 ( 试 行 ) 已 经 学 校 研 究 同 意, 现 印 发 给 你 们, 请 认 真 遵 照 执 行 山 东 建 筑 大 学 2015 年 8 月 7 日 1 山 东 建 筑

More information

1 产品说明 1 产品说明 1.1 规定 所述法兰是带有密封条的螺纹法兰, 可以交付带 G 1 或 G 1½ 内螺纹 (ISO 228 T1) 的法兰 在本附加说明书中的说明针对用材料 316L 制成的法兰 材料 316L 相当于 或 所有距离值以毫米为单位 提供多种不同

1 产品说明 1 产品说明 1.1 规定 所述法兰是带有密封条的螺纹法兰, 可以交付带 G 1 或 G 1½ 内螺纹 (ISO 228 T1) 的法兰 在本附加说明书中的说明针对用材料 316L 制成的法兰 材料 316L 相当于 或 所有距离值以毫米为单位 提供多种不同 附加说明书 符合 DIN - EN - ASME - JIS - GOST 的法兰 技术参数 Document ID: 31088 1 产品说明 1 产品说明 1.1 规定 所述法兰是带有密封条的螺纹法兰, 可以交付带 G 1 或 G 1½ 内螺纹 (ISO 228 T1) 的法兰 在本附加说明书中的说明针对用材料 316L 制成的法兰 材料 316L 相当于 1.4404 或 1.4435 所有距离值以毫米为单位

More information

数理逻辑 I Mathematical Logic I

数理逻辑 I  Mathematical Logic I 前情提要 前情提要 我们定义了两种 可定义 概念结构内的可定义性 : 给定结构关于该结构论域上的 k 元关系的性质由一个公式定义定义结构类 : 给定语言关于该语言的结构类的由一则闭语句定义 ( 初等类 ); 由一集闭语句定义 ( 广义初等类 ) 前情提要 我们定义了两种 可定义 概念结构内的可定义性 : 给定结构关于该结构论域上的 k 元关系的性质由一个公式定义定义结构类 : 给定语言关于该语言的结构类的由一则闭语句定义

More information

¼ ½ ¾ ¼ ½ ¾

¼ ½ ¾ ¼ ½ ¾ 回归传统 历史学视野中的资本主义 刘光临 虽然明清资本主义萌芽研究和西方现代史学都使用了资本主义一词 但双方并无相同的理论背景 资本主义作为一个成熟的学科概念是由 世纪末 世纪初的历史学家和强调历史面向的政治经济学家 可简称为 德国历史学派 一起创造出来的 强调从历史而不是从抽象的理论中寻求社会变化的原因 资本主义萌芽这一概念的启用 实际上是对欧洲近代历史的严重误读 有鉴于此 在今后的中国历史研究中应该用资本主义来取代资本主义萌芽

More information

電機工程系認可證照清單 2011/7/1

電機工程系認可證照清單                  2011/7/1 南 台 科 技 大 學 電 機 工 程 系 專 業 證 照 課 程 實 施 要 點 96 年 10 月 05 日 系 務 會 議 通 過 100 年 06 月 30 日 系 務 會 議 修 正 通 過 101 年 06 月 21 日 系 務 會 議 修 正 通 過 一 本 系 為 提 升 學 生 的 專 業 技 能, 特 訂 定 本 辦 法 二 實 施 對 象 : 本 系 日 間 部 96 學 年

More information

4.C ( 详细解析见视频课程 绝对值 01 约 21 分 15 秒处 ) 5.E ( 详细解析见视频课程 绝对值 01 约 32 分 05 秒处 ) 6.D ( 详细解析见视频课程 绝对值 02 约 4 分 28 秒处 ) 7.C ( 详细解析见视频课程 绝对值 02 约 14 分 05 秒处 )

4.C ( 详细解析见视频课程 绝对值 01 约 21 分 15 秒处 ) 5.E ( 详细解析见视频课程 绝对值 01 约 32 分 05 秒处 ) 6.D ( 详细解析见视频课程 绝对值 02 约 4 分 28 秒处 ) 7.C ( 详细解析见视频课程 绝对值 02 约 14 分 05 秒处 ) [ 说明 ] 1. 以下所指教材是指朱杰老师的 管理类联考综合能力数学套路化攻略 2. 该文档中所标答案和参见的教材答案, 与视频有冲突的, 以视频答案为准! 基础篇 第 1 章 数 1.2.1 整数例题答案 : 1. A ( 详细解析见教材 P7 例 2) 2. D ( 详细解析见视频课程 数的性质 约 10 分 53 秒处 ) 3. C ( 详细解析见教材 P7 例 3) 4.E ( 详细解析见视频课程

More information

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf("%d", &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf("%

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf(%d, &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf(% 2013 ( 28 ) ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 10 B 1 C 1 D 5 E 5 F 1 G II 5 H 30 1 2013 C 1 #include 2 int main(void) 3

More information

56,,,,, :,, 1953,, 1953,1953,,1953,,,,,,,,, () ,30118, 34, ;,4912 %,5614 %, 1,1953, 1119, ,, , , 1111 (

56,,,,, :,, 1953,, 1953,1953,,1953,,,,,,,,, () ,30118, 34, ;,4912 %,5614 %, 1,1953, 1119, ,, , , 1111 ( 2003 1 1812 ( 200433) :,,,,,, :1812 19 :, ;,,20, 1887 ;,1822 1887,,,1812 ( ) 9 :, ;,,;,,,,9,,,,,, :,1991,232 301 ::, :,1988 92 56,,,,, :,, 1953,, 1953,1953,,1953,,,,,,,,, () 1953 1 9518,30118, 34, 13313

More information

Microsoft PowerPoint - 10 模板 Template.pptx

Microsoft PowerPoint - 10 模板 Template.pptx 模板 Tempalte 泛型编程的需要 Why Templates? 设想你对整数类型实现了一个排序算法 : void sort(int *is,int n); 用该函数可以对实 复数或工资单排序吗? 模板可以复用源代码 - 泛型编程. inline void Swap( int &x, int &y){ int t = x; x = y; y =t; inline void Swap(double

More information

求出所有的正整数 n 使得 20n + 2 能整除 2003n n 20n n n 20n n 求所有的正整数对 (x, y), 满足 x y = y x y (x, y) x y = y x y. (x, y) x y =

求出所有的正整数 n 使得 20n + 2 能整除 2003n n 20n n n 20n n 求所有的正整数对 (x, y), 满足 x y = y x y (x, y) x y = y x y. (x, y) x y = 求出所有的正整数 n 使得 20n + 2 能整除 2003n + 2002 n 20n + 2 2003n + 2002 n 20n + 2 2003n + 2002 求所有的正整数对 (x, y), 满足 x y = y x y (x, y) x y = y x y. (x, y) x y = y x y 对于任意正整数 n, 记 n 的所有正约数组成的集合为 S n 证明 : S n 中至多有一半元素的个位数为

More information

微积分 授课讲义

微积分 授课讲义 2018 10 aiwanjun@sjtu.edu.cn 1201 / 18:00-20:20 213 14:00-17:00 I II Taylor : , n R n : x = (x 1, x 2,..., x n ) R; x, x y ; δ( ) ; ; ; ; ; ( ) ; ( / ) ; ; Ů(P 1,δ) P 1 U(P 0,δ) P 0 Ω P 1: 1.1 ( ). Ω

More information

目 錄 1. 蒸 豬 肉 丸 2. 蜜 汁 腰 果 3. 鳳 梨 蝦 球 4. 金 菇 扒 芥 菜 5. 松 鼠 黃 魚 6. 椒 鹽 魷 魚 7. 時 蔬 燴 蝦 丸 8. 粉 蒸 小 排 骨 9. 酥 炸 黃 魚 條 10. 彩 椒 炒 魷 魚

目 錄 1. 蒸 豬 肉 丸 2. 蜜 汁 腰 果 3. 鳳 梨 蝦 球 4. 金 菇 扒 芥 菜 5. 松 鼠 黃 魚 6. 椒 鹽 魷 魚 7. 時 蔬 燴 蝦 丸 8. 粉 蒸 小 排 骨 9. 酥 炸 黃 魚 條 10. 彩 椒 炒 魷 魚 中 餐 烹 調 期 中 考 報 告 指 導 老 師 : 胡 永 輝 組 別 : 第 三 組 學 號 :9A4M0247 姓 名 : 葉 采 姍 目 錄 1. 蒸 豬 肉 丸 2. 蜜 汁 腰 果 3. 鳳 梨 蝦 球 4. 金 菇 扒 芥 菜 5. 松 鼠 黃 魚 6. 椒 鹽 魷 魚 7. 時 蔬 燴 蝦 丸 8. 粉 蒸 小 排 骨 9. 酥 炸 黃 魚 條 10. 彩 椒 炒 魷 魚 蒸 豬

More information

PowerPoint Presentation

PowerPoint Presentation 西华大学应用数学系朱雯 微分方程 习题课 解题方法流程图 求 Pd Qdy 通解 0 Yes 可分离变量 解出 No dy = f (, y ) d 可分离变量方程 齐次方程 dy y ( ) d 令 y u 一阶线性方程 dy P( ) y Q( ) d 其它一般方程 g ( y) dy f ( ) d g ( y) dy f ( ) d du ( u) u d 可分离变量 通解为 Pd Pd y

More information

2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 168738.36 一 一 般 公 共 服 务 支 出 53.83 二

2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 168738.36 一 一 般 公 共 服 务 支 出 53.83 二 2015 年 度 部 门 决 算 报 表 ( 含 三 公 经 费 决 算 ) 2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 168738.36 一 一 般 公 共 服 务 支 出 53.83 二 上 级 补 助 收 入

More information

目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016

目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016 档 案 局 2016 年 度 部 门 预 算 1 目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016 年 度 市 级 部 门 财 政 拨 款 支 出 预

More information

untitled

untitled 2014 6 50 2015 3 19 11 2015 3 2014/15 69 70 2014/15 2014 9 2014-15 2 900 2014 2014 5 2015 3 5 24 5 10 5 31 6 7 9 50 16 7 6 80 7 19 2014 18 9 6 11 2 12 2015 1 11 2 8 2014/15 71 2014 2014-15 $80,000 2015

More information

Microsoft Word - ch05note_1210.doc

Microsoft Word - ch05note_1210.doc Section 5. Antiderivatives and indefinite integrals 反 導 函 數 與 不 定 積 分 上 一 章 我 們 已 經 學 過 微 分 以 及 它 的 應 用 現 在 我 們 考 慮 反 向 的 過 程, 稱 為 積 分 (antidifferentiation), 給 定 一 個 導 函 數, 找 出 它 原 始 的 函 數 積 分 也 有 許 多

More information

! " # " " $ % " " # # " $ " # " #! " $ "!" # "# # #! &$! ( % "!!! )$ % " (!!!! *$ ( % " (!!!! +$ % " #! $!, $ $ $ $ $ $ $, $ $ "--. %/ % $ %% " $ "--/

!  #   $ %   # #  $  #  #!  $ ! # # # #! &$! ( % !!! )$ %  (!!!! *$ ( %  (!!!! +$ %  #! $!, $ $ $ $ $ $ $, $ $ --. %/ % $ %%  $ --/ "##$ "% "##& " "##( )$ "##%! ) "##$ * "##( "##$ "##(!!!!!!!!! ! " # " " $ % " " # # " $ " # " #! " $ "!" # "# # #! &$! ( % "!!! )$ % " (!!!! *$ ( % " (!!!! +$ % " #! $!, $ $ $ $ $ $ $, $ $ "--. %/ % $

More information

06-statement

06-statement PHP 基本语法 条件 循环 函数杨亮 程序的基本结构 程序 输 入 运算 (+ - x / &! ) 逻辑 ( 条件 循环 递归 ) 输出 辅助 ( 变量 数组 函数 ) 小测验 用你熟悉的程序找出 1~1000 中的所有质数 我们直接看代码好了 if else elseif 1

More information

5-1淡江大學學則950602

5-1淡江大學學則950602 淡 江 大 學 學 則 教 育 部 台 (86) 高 ( 二 ) 字 第 86028132 號 函 核 准 87.10.28 教 務 會 議 通 過 87.11.06 校 務 會 議 通 過 教 育 部 台 (87) 高 ( 二 ) 字 第 87145848 號 函 備 查 88.01.26 (88) 校 秘 字 第 0243 號 函 修 正 89.06.09 第 43 次 校 務 會 議 修 正

More information

Untitled-3

Untitled-3 SEC.. Separable Equations In each of problems 1 through 8 solve the given differential equation : ü 1. y ' x y x y, y 0 fl y - x 0 fl y - x 0 fl y - x3 3 c, y 0 ü. y ' x ^ y 1 + x 3 x y 1 + x 3, y 0 fl

More information

吉林大学学报 工学版 244 第 4 卷 复杂 鉴于本文篇幅所限 具体公式可详见参考文 献 7 每帧的动力学方程建立及其解算方法如图 3 所示 图4 滚转角速度与输入量 η 随时间的变化波形 Fig 4 Waveform of roll rate and input η with time changing 图5 Fig 5 滚转角随时间的变化波形 Waveform of roll angle with

More information

第一章.FIT)

第一章.FIT) 第 一 章 美 丽 触 手 可 及 一 些 天 生 好 动 的 懒 人 袁 根 本 静 不 下 心 去 美 容 院 做 护 理 袁 通 常 总 是 用 一 些 最 野 懒 冶 的 方 法 来 保 养 自 己 遥 比 如 下 飞 机 以 后 感 觉 头 发 很 乱 袁 就 用 手 当 梳 子 随 手 梳 两 下 曰 脸 上 很 干 袁 就 往 脸 上 涂 些 酸 奶 尧 牛 奶 或 者 蜂 蜜 噎 噎

More information

大 綱 最 有 利 標 目 的 及 類 型 最 有 利 標 之 辦 理 方 式 準 用 最 有 利 標 取 最 有 利 標 精 神 最 有 利 標 之 類 型 及 其 相 關 規 定 適 用 最 有 利 標 準 用 最 有 利 標 及 取 最 有 利 標 精 神 作 業 程 序 及 實 務 分 析

大 綱 最 有 利 標 目 的 及 類 型 最 有 利 標 之 辦 理 方 式 準 用 最 有 利 標 取 最 有 利 標 精 神 最 有 利 標 之 類 型 及 其 相 關 規 定 適 用 最 有 利 標 準 用 最 有 利 標 及 取 最 有 利 標 精 神 作 業 程 序 及 實 務 分 析 最 有 利 標 作 業 程 序 實 務 分 析 交 通 部 採 購 稽 核 小 組 陳 秘 書 牧 民 日 期 :101 年 05 月 21 日 大 綱 最 有 利 標 目 的 及 類 型 最 有 利 標 之 辦 理 方 式 準 用 最 有 利 標 取 最 有 利 標 精 神 最 有 利 標 之 類 型 及 其 相 關 規 定 適 用 最 有 利 標 準 用 最 有 利 標 及 取 最 有 利 標

More information

3.1 ( ) (Expectation) (Conditional Mean) (Median) Previous Next

3.1 ( ) (Expectation) (Conditional Mean) (Median) Previous Next 3-1: 3.1 ( )........... 2 3.1.1 (Expectation)........ 2 3.1.2............. 12 3.1.3 (Conditional Mean)..... 17 3.1.4 (Median)............ 22 Previous Next First Last Back Forward 1 1.. 2. ( ): ( ), 3.

More information

上海市本科教学质量年度报告

上海市本科教学质量年度报告 上 海 市 本 科 教 学 质 量 年 度 报 告 数 据 内 涵 说 明 V2.0 版 上 海 市 教 委 高 教 处 上 海 喆 思 (2015.07.02) 目 录 一 基 本 统 计 挃 标 说 明... 4 二 挃 标 解 释... 4 1. 全 日 制 在 校 本 科 生 数 及 占 在 校 生 总 数 的 比 例 ( 学 年 )... 4 2. 当 年 本 科 招 生 与 业 总 数

More information

文档2

文档2 2002 40-1 2002 3 3 5 6 7 8 9 13 14 16 40 40-2 2002 1 15,642,778.15 16,946,855.96 16,982,495.67 15,984,821.37 39,850,399.31 16,346,971.89-668,554.03 / -35,639.71-4,801,281.73-16,093,628.17 40-3 2002 2 2002

More information

黄 永 润 带 队 参 加 市 场 营 销 与 物 流 管 理 培 训 班... 6 黄 永 润 出 席 茶 业 集 团 春 茶 生 产 经 营 分 析 会... 6 大 明 山 茶 文 化 生 态 家 园 项 目 签 约 仪 式 在 邕 举 行... 7 广 西 职 业 技 术 学 院 开 展 庆

黄 永 润 带 队 参 加 市 场 营 销 与 物 流 管 理 培 训 班... 6 黄 永 润 出 席 茶 业 集 团 春 茶 生 产 经 营 分 析 会... 6 大 明 山 茶 文 化 生 态 家 园 项 目 签 约 仪 式 在 邕 举 行... 7 广 西 职 业 技 术 学 院 开 展 庆 ( 第 34 期 ) 广 西 壮 族 自 治 区 农 垦 局 办 公 室 编 2015 年 7 月 9 日 本 期 目 录 重 要 信 息 广 西 农 垦 与 贵 港 市 垦 地 合 作 座 谈 会 在 邕 举 行... 1 广 西 南 方 机 电 技 术 师 资 培 训 与 技 术 服 务 中 心 落 户 广 职 院... 1 刘 刚 到 防 城 精 制 糖 公 司 调 研... 2 糖 业 集

More information

中山市**局2005年部门预算基本情况说明

中山市**局2005年部门预算基本情况说明 中 山 市 文 化 广 电 新 闻 出 版 局 2016 年 部 门 预 算 情 况 一 单 位 基 本 情 况 本 单 位 主 要 履 行 的 公 共 职 能 包 括 : 1 贯 彻 执 行 国 家 和 省 市 有 关 文 化 广 播 电 视 新 闻 出 版 版 权 的 方 针 政 策 和 法 律 法 规, 把 握 正 确 的 舆 论 导 向 和 创 作 导 向 拟 定 文 化 广 播 电 视 新

More information

1811 1884 1847 1860 1862 1871 1875 1823 1884 1851 1876 1878 1879 1880 1884 20 1858 1861 1864 1862

1811 1884 1847 1860 1862 1871 1875 1823 1884 1851 1876 1878 1879 1880 1884 20 1858 1861 1864 1862 1768 1842 1788 1842 1766 1848 1805 1864 1853 1862 1811 1884 1847 1860 1862 1871 1875 1823 1884 1851 1876 1878 1879 1880 1884 20 1858 1861 1864 1862 1833 1884 1855 1861 500 1862 1864 1868 1875 1829 1888

More information

<4D6963726F736F667420576F7264202D203234A8E2A9A4B142ABC3AABAB7C5B1A1ADB1BB50AA6BA8EEADB1>

<4D6963726F736F667420576F7264202D203234A8E2A9A4B142ABC3AABAB7C5B1A1ADB1BB50AA6BA8EEADB1> 專 題 論 述 兩 岸 婚 姻 的 溫 情 面 與 法 制 面 蔡 漢 賢 林 姹 君 壹 引 言 一 九 八 七 年 十 一 月 政 府 開 放 臺 灣 地 區 人 民 赴 大 陸 探 親, 兩 岸 婚 姻 關 係 隨 即 興 起 波 瀾, 舊 有 的 再 續 連 理 枝, 新 增 的 添 加 了 不 少 比 翼 鳥, 兼 之 近 年 臺 商 西 進, 大 陸 成 為 臺 灣 最 大 出 口 市

More information

机动车驾驶证申领和使用规定(公安部令第91号)

机动车驾驶证申领和使用规定(公安部令第91号) 机 动 车 驾 驶 证 申 领 和 使 用 规 定 中 华 人 民 共 和 国 公 安 部 令 第 91 号 现 发 布 修 订 后 的 机 动 车 驾 驶 证 申 领 和 使 用 规 定, 自 2007 年 4 月 1 日 起 施 行 公 安 部 部 长 周 永 康 二 OO 六 年 十 二 月 二 十 日 目 录 第 一 章 总 则 第 二 章 机 动 车 驾 驶 证 的 申 领 第 一 节 机

More information

<4D6963726F736F667420576F7264202D20A2B0A1D0A2B0A1D0A2B0A240A6CBAA4FC554BC4DB7ABA240A7D6AA4FBD6DB2DF2E646F63>

<4D6963726F736F667420576F7264202D20A2B0A1D0A2B0A1D0A2B0A240A6CBAA4FC554BC4DB7ABA240A7D6AA4FBD6DB2DF2E646F63> 節 拍 與 文 字 的 遊 戲 \ 板 眼 旋 律 板 眼 : 傳 統 術 語, 即 節 拍 之 意 以 強 弱 區 別, 強 拍 叫 板, 弱 拍 叫 眼 在 板 書 類 的 曲 種 中, 以 前 半 拍 與 後 半 拍 組 成 一 拍, 結 合 文 字 數 唱, 形 成 各 種 板 式 為 了 學 習 的 方 便, 我 們 將 前 半 拍 叫 板, 後 半 拍 叫 眼 數 唱 : 傳 統 術 語,

More information

Microsoft Word - 02 002207 薪酬管理制度.doc

Microsoft Word - 02 002207 薪酬管理制度.doc 新 疆 准 东 石 油 技 术 股 份 有 限 公 司 薪 酬 管 理 制 度 第 一 部 分 员 工 工 资 管 理 办 法 第 一 条 第 一 章 总 则 为 了 建 立 与 现 代 企 业 制 度 相 适 应 的 薪 酬 分 配 体 系, 调 动 员 工 积 极 性, 提 高 工 作 效 率, 激 励 员 工 为 公 司 创 造 更 高 的 价 值, 增 强 新 疆 准 东 石 油 技 术 股

More information

利 润 预 计 为 360,216.20 万 元 ; 假 设 2016 年 归 属 母 公 司 所 有 者 的 净 利 润 较 2015 年 度 预 测 值 的 基 础 上 增 长 15%, 为 414,248.63 万 元 上 述 利 润 值 不 代 表 公 司 对 未 来 利 润 的 盈 利 预

利 润 预 计 为 360,216.20 万 元 ; 假 设 2016 年 归 属 母 公 司 所 有 者 的 净 利 润 较 2015 年 度 预 测 值 的 基 础 上 增 长 15%, 为 414,248.63 万 元 上 述 利 润 值 不 代 表 公 司 对 未 来 利 润 的 盈 利 预 证 券 代 码 :600177 证 券 简 称 : 雅 戈 尔 公 告 编 号 :2015-078 雅 戈 尔 集 团 股 份 有 限 公 司 关 于 非 公 开 发 行 A 股 股 票 摊 薄 即 期 收 益 及 填 补 措 施 ( 修 订 稿 ) 的 公 告 本 公 司 及 董 事 会 全 体 成 员 保 证 公 告 内 容 的 真 实 准 确 和 完 整, 对 公 告 的 虚 假 记 载 误

More information