随笔分类 - 计算机程序的构造和解释学习
摘要:如果 f 是一个数值函数, 那么就可以通过反复调用 f,通过 f(f(f(x)))... 来实现调用 n 次 f 函数。如果把此过程设为 Repeated, 那么Repeated(Square, 2)(5)的结果应该是625。我觉得看了上一篇博客的朋友应该会觉得这很简单:iFun Compose (...
阅读全文
摘要:原题是这样:定义一个过程 Double, 它以一个有一个参数的过程为参数, Double 返回一个过程, 这一过程将原来那个参数过程应用两次。例如, 若 Inc 是个给参数加一的过程, Double(Inc) 将给参数加二。那么, 下面的表达式会返回什么值:Double(Double(Double(...
阅读全文
摘要:如果真有朋友看完了我之前的几篇博客, 我真的挺感激。而如果他是一位细心的人, 他应该会发现, 使用平均阻尼法和牛顿法求根的过程中,其根本的思路还是通过求不动点的方式来获得方程的根。也就是, 1) 构造合适的函数 2)将函数转化为用于求不动点的函数 3)求转化后函数的不动点于是, 之前的步骤就可以转化...
阅读全文
摘要:cdouble DX = 0.00001;dFun Deriv (dFun g){ return [g] ( cdouble &x) { auto delta_x = x + DX; return (g(delta_x) - g(x)...
阅读全文
摘要:using dFun = function;using cdouble = const double;cdouble TOLERANCE = 0.00001;bool CloseEnough (cdouble &val1, cdouble &val2){ return (...
阅读全文
摘要:const double tolerance = 0.00001;bool CloseEnough (const double &val1 ,const double &val2){ return (abs(val1 - val2) f ...
阅读全文
摘要:至今仍存在问题, 就是无法解高于一次的方程, 希望看到此文的朋友可以给出您的见解。enum Condition{ close_enough , positive , negative};Condition CloseEnough (double test_number ...
阅读全文
摘要:#include #include using namespace std;bool IsDivides (const int &a, const int &b){ return (b % a == 0);}int FindDivisor (const int &n, int &&test_divi...
阅读全文
摘要:为了描述方便, 先建立两个 0 基的坐标轴: 一个自上而下的 m 轴和一个自左而右的 n 轴。(define (pascal m n) (if (or (< m 2) (< n 1) (= m n)) 1 (+ (pascal (- m 1) (- n 1)) (pa...
阅读全文
摘要:有一函数 f() 遵守以下规则: 当 n = 3 时, f(n) = f(n - 1) + 2f(n - 2) + 3f(n - 3)用迭代和递归的形式分别写出 计算 f(n) 的过程。递归形式:(define (f n) (if (< n 3) n (+ (f (- n 1)) ...
阅读全文
浙公网安备 33010602011771号