sicp 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
sicp 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
sicp 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 View license
开发语言
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 首席测试
适用人群 未知
收录时间 2021-11-10

软件简介

SICP JavaScript Edition

This repository contains processing scripts and sources for the textbook SICP JS: Structure and Interpretation of Computer Programs, JavaScript Edition (SICP JS). See Preface of JavaScript edition for background: https://sourceacademy.org/sicpjs

More info is in the "About" section (it is at the end of the SICP JS web edition): https://sourceacademy.org/sicpjs/making-of

Details for developers in the wiki: https://github.com/source-academy/sicp/wiki

Licenses

CC BY-SA 4.0 The print edition of SICP JS, the PDF generated by these scripts and the ebook edition will be published by The MIT Press under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA).

CC BY-SA 4.0 The text of SICP JS is derived from the book Structure and Interpretation of Computer Programs, Second Edition, 1996, (SICP) by Harold Abelson and Gerald Jay Sussman, and is licensed by these original authors and by the adapters Martin Henz and Tobias Wrigstad under a Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA). A comparison edition indicates the changes that were made to SICP for the JavaScript edition. The figures are derived from figures created by Andres Raba in 2015 and are also subject to CC BY-SA.

GPL 3 The JavaScript programs in SICP JS are derived from the Scheme programs in SICP and are subject to the GNU General Public License v3.0.

License All JavaScript and TypeScript programs that generate the SICP (JS) versions are licensed under the Apache License Version 2.

展开阅读全文

代码

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2014/04/04 09:06

lisp_sicp

这几天终于买了一本传说中的sicp。开始看的时候还没觉得有什么难的,可是都后来做练习题(从练习1.1开始)的时候才发现前面的等于白看...于是静下心来从头看了几遍还在网上找了答案(没错就是开源中国网...)。 编译环境用的是DrRacket。先说编译时要注意的两点,一是括号一定要用英文输入法下的。第二是空格的使用,比如 (+ 5 2 ),在drracket环境下,(和+之间没有空格,而2和)之间的空格有没有不影响编译,这个之后在讨论。 ...

0
0
发表了博客
2015/05/03 15:20

SICP

这里将会记录下自己对于《SICP》这本书的一些读书感悟。

0
0
发表了博客
2014/07/26 15:04

SICP 1.19

解:这道题很有意思,结论是斐波那契数也可以用对数时间复杂度获得。 通过Tpq(Tpq)=TPQ建立方程,解得: P=pp+qq Q=qq+2pq 程序如下: (define (fib n)   (define (even? n)     (= (remainder n 2) 0))   (define (fib-iter a b p q count)     (cond ((= count 0) b)           ((even? count) (fib-iter a                                   ...

0
0
发表了博客
2014/07/19 14:53

SICP 1.10

解:这道题有前提条件:x==0 || y==0 || y==1 || (x>0 && y >1) (A 1 10)==1024 (A 2 4)==65536 (A 3 3)==65536 n>=0 (f n)=2*n (g n)=2的n次方 (h n)=h(n)=2的h(n-1)次方,其中h(1)=2,h(0)=0;或 解题技巧:阅读完整个题目,可以肯定是有规律可循的。采用顺推的方式,如先求(A 1 1),再(A 1 2) (A 1 3) ...。...

0
1
发表了博客
2014/08/19 00:23

SICP 1.28

解:按照题目的意思,代码如下: (define (square x)   (* x x)) (define (miller-rabin-test n)   (define (check a n)     (let ((r (remainder (square a) n)))       (if (and (> a 1)                (< a (- n 1))                (= r 1))           0           r)))   (define (expmod-without-nontrivial-square-root-...

0
0
发表了博客
2014/07/20 21:28

SICP 1.12

解: (define (pascal n)   (define (get n i)     (cond ((<= i 1) 1)           ((>= i n) 1)           (else (+ (get (- n 1) (- i 1))                    (get (- n 1) i)))))   (define (iter i n)     (if (<= i n)         (and (print (get n i))              (print " ")              ...

0
0
发表了博客
2015/05/07 00:17

SICP阅读笔记

1.如果将递归的计算过程排列成一张图形展现,那么先伸展,再收缩的计算过程就是线性递归,线性递归很消耗内存,因为他需要解析器保存逐渐扩展开来的计算链条,并且不断吞噬栈内存空间。这就是常规意义上认为“递归”性能较低的一个重要原因 线性递归: 2.如果将递归的计算过程排列开来,得出来的图形是固定宽度,不会扩张,那么这就是一个尾递归。实现方式很简单,就是利用多余的变量去递归更新原始变量,并且递归调用的时候,值...

0
0
发表了博客
2014/07/24 00:11

SICP 1.14 1.15

解: 1.14:空间是O(n)。步聚不好直接求,根据书中的描述,增长的阶是对某种规模所需资源的粗略度量,比如书中描述斐波那契的树形递归计算需要O(pow((1+sqrt(5))/2,n))步,可以把这个树形递归想像成是一个满二叉树,那么斐波那契的树形递归计算可以近似为O(pow(2,n))。同理,计算硬币组合种类也可以看成是一个满二叉树,树的高度与n有关(最右子树最深),那么步骤数为O(pow(2,n)) 1.15:5次。0.1=x/pow(3,n) 得n=log(3,10*x),...

0
0
发表了博客
2019/03/12 16:05

SICP读书笔记 1.1

SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! <font color = "green">目录</font> 1. 构造过程抽象 2. 构造数据抽象 3. 模块化、对象和状态 4. 元语言抽象 5. 寄存器机器里的计算 <font color = "red">Chapter 1</font> 构造过程对象 练习答案 程序设计的基本元素 强有力的程序设计语言,不仅是一种指挥计算机执行任务的方式,还应该...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
0 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部