A procedure body can contain calls to other procedures, not least itself: (define factorial (lambda (n) (if (= n 0) 1 (* n (factorial (- n 1)))))) This recursive procedure calculates the factorial of a number. If the number is 0, the answer is 1. For…
Jumps One of the signal features of Scheme is its support for jumps or nonlocal control. Specifically, Scheme allows program control to jump to arbitrary locations in the program, in contrast to the more restrained forms of program control flow allow…
递归定义的算法有两部分: 递归基:直接定义最简单情况下的函数值: 递归步:通过较为简单情况下的函数值定义一般情况下的函数值. 应用条件与准则: (1)问题具有某种可借用的类同自身的子问题描述的性质: (2)某一问题有限步的子问题(也称做本原问题)有直接的解存在. 在计算机中是利用栈来实现recursion的,对于每一次递归的调用,计算机都会将调用者的局部变量以及返回地址储存在栈中,待回调时恢复局部变量,并返回到调用地址中 正因计算机会保存所有的局部变量,这将导致额外的开销,使程序运行效率底下,我…
# -*- coding: UTF-8 -*- msg = 'i am {} my hobby is {}'.format('lhf',18) print(msg) msg1 = 'i am %s my hobby is %s' % ('lhf',[1,2]) print(msg1) name='lhf' age=18 msg2 = 'i am %s my hobby is %s' % (name,age) print(msg2) tpl = 'percent %.2f %%' % 99.976…
/*java.lang 核心包 如 String Math Integer System Thread等 拿来直接用 * java.awt 窗口工具 GUI * java.net 网络包 * java.io 输入 输出 * java.util 工具类 日期 日历 定义 系统特性 * * */ public class TestRecursion { /** * @author Administrator * @version 1.0 * 递归 * 1 方法调用本身(递归体 ) * 2什么时候不再…
Github上的1000多本免费电子书重磅来袭!   以前 StackOverFlow 也给出了一个免费电子书列表,现在在Github上可以看到时刻保持更新的列表了. 瞥一眼下面的书籍分类目录,你就能知道这个免费电子书库的含金量了吧.记得一定要看几本,千万别下载了大量书籍而束之高阁! 行动重于空想! Github地址:     https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md I…
Index Ada Agda Alef Android APL Arduino ASP.NET MVC Assembly Language Non-X86 AutoHotkey Autotools Awk Bash Basic BETA C C# C++ Chapel Cilk Clojure COBOL CoffeeScript ColdFusion Cool Coq D Dart DB2 Delphi / Pascal DTrace Elasticsearch Emacs Erlang F#…
Scheme <How to Design Programs : An Introduction to Programming and Computing>(<程序设计方法>) <Structure and Interpretation of Computer Programs> <The Little Schemer> <The Seasoned Schemer> <The Scheme Programming Language>…
Drracket continuation 文中使用let/cc代替call/cc Racket文档中,let/cc说明为: (let/cc k body ...+) Equivalent to (call/cc (lambda (k) body ...)). 首先,通过一个简单的函数来测试下continuation,注意,下面的函数执行会导致无限循环 #lang racket (define r #f) (define (f) (let/cc k ;开始捕获continuation,从let/…
开始学习Scheme   函数式编程(Functional Programming)是在MIT研究人工智能(Artificial Intelligence)时发明的,其编程语言为Lisp.确切地说,Lisp是一个语言家族,包括无数的方言如:Scheme.Common Lisp.Haskell……等等.   最后一次学习Scheme已经是去年7月份的事情了.本来只是出于兴趣,以及拓宽自己思路的目的来学习.未曾想,由于工作需要,Scheme编程已经成为一个必备的技能了.其实这里面也由办公室政治的原因…