#lang racket (define(square x) (* x x)) ;求和记法定义程序模式 (define(sum term a next b) (if(> a b) 0 (+(term a) (sum term (next a) next b)))) ;使用lambda表达式构造匿名函数 (lambda(x)(+ x 4)) (lambda(x)(/1.0(* x (+ x 2)))) ;使用lambda构造pi-sum过程 (define(pi-sum a b) (sum (lambda(x)(/1.0(* x (+ x 2)))) a (lambda(x)(+ x 4)) b)) ;使用lambda构造integral过程 (define(integral f a b dx) (*(sum f (+ a (/ dx 2.0)) (lambda(x)(+ x dx)) b) dx)) ;使用lambda作为组合式计算 ((lambda(x y z)(+ x y (square z)))123) ;Test (pi-sum 212)