`
simohayha
  • 浏览: 1400217 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

SICP使用DRscheme遇到的问题

    博客分类:
  • FP
F# 
阅读更多
SICP Exercise 1.22 

(define (timed-prime-test n) 
  (newline) 
  (display n) 
  (start-prime-test n (runtime))) 

(define (start-prime-test n start-time) 
  (if (prime? n) 
      (report-prime (- (runtime) start-time)))) 

(define (report-prime elapsed-time) 
  (display " *** ") 
  (display elapsed-time))

这边使用 Drscheme时,会出错,显示没有runtime过程。

解决方法是 选择语言 PLT-MZscheme 然后将程序改为下面的:
(define (timed-prime-test n) 
  (newline) 
  (display n) 
  (start-prime-test n (current-milliseconds))) 

(define (start-prime-test n start-time) 
  (if (prime? n) 
      (report-prime (- (current-milliseconds) start-time)))) 

(define (report-prime elapsed-time) 
  (display " *** ") 
  (display elapsed-time)
   (display " ms "))
(timed-prime-test 100000000057)


那么这道题就是这么写了:
(define (f start count)   
    (cond ((= 0 count)   
           (newline)   
           (display "***** FINISHED *****")   
           (newline))   
          ((timed-prime-test start) (f (+ 2 start) (- count 1)))   
          (else (f (+ 2 start) count))))   
(define (search-for-primes a)   
   (f (+ a 1) 3)) 
(search-for-primes 1000)
分享到:
评论
3 楼 frenchmay 2009-06-22  
simohayha 写道
frenchmay 写道
我使用DrScheme 4.2,也遇到了相同的问题。不过你之前的方法好像无法解决。


应该可以吧。。我当时就是这么解决的。。不过话说sicp快1年没摸过了。。

我的这个版本中没有PLT-MZscheme这个语言选项,导致后续联系的运行分析都无法进行。
2 楼 simohayha 2009-06-22  
frenchmay 写道
我使用DrScheme 4.2,也遇到了相同的问题。不过你之前的方法好像无法解决。


应该可以吧。。我当时就是这么解决的。。不过话说sicp快1年没摸过了。。
1 楼 frenchmay 2009-06-22  
我使用DrScheme 4.2,也遇到了相同的问题。不过你之前的方法好像无法解决。

相关推荐

    SICP 使用的scheme解释器

    SICP 使用的scheme解释器 以前叫DrScheme

    sicp in python 中文 sicp 中文

    sicp in python 中文版 sicp in python 中文版 sicp in python 中文版 !!!download>>>https://github.com/wizardforcel/sicp-py-zh

    SICP中文第二版

    SICP中文第二版SICP中文第二版SICP中文第二版SICP中文第二版SICP中文第二版

    SICP 解题集

    1. **函数式编程**:SICP强调使用函数而不是改变状态来解决问题,这使得代码更易于理解、测试和维护。函数式编程的关键概念如高阶函数、闭包、惰性求值和柯里化在解题集中会被广泛应用。 2. **Lisp语言**:SICP主要...

    sicp 2.2.4节图形语言

    最后,SICP强调了程序的构造和理解,它鼓励读者以一种结构化和模块化的方式思考问题。在实现图形语言的过程中,你将学会如何分解问题,如何设计模块化的代码,以及如何通过递归和高阶函数来表达和解决复杂的计算问题...

    SICP习题解答,主要第一章的内容习题答案

    SICP的第一章通常会介绍Lisp语言的基础,包括如何创建基本的函数,如何使用递归来处理数学问题,以及如何通过过程抽象将重复代码封装起来,提高代码的可读性和复用性。例如,可能会有求阶乘、斐波那契数列等典型的...

    SICP(python中文带书签)

    Python虽然并非原书中的教学语言,但由于其易读性和广泛应用,许多读者选择使用Python来实践SICP中的概念。 在Python中实现SICP的概念,可以帮助我们更好地理解函数式编程的精髓,例如高阶函数、闭包、递归以及过程...

    SICP 习题答案

    - **迭代与循环**:虽然函数式编程倾向于使用递归,但SICP也讨论了迭代结构,如do循环和while循环。 7. **过程的组合与复合**: - **过程复合**:将简单过程组合成复杂过程,以实现更复杂的计算逻辑。 - **局部...

    SICP-Python版本

    SICP-Python版本

    a_book_sicp_py

    本书第五章将介绍这些主题,并讲解如何将它们应用于实际问题中。 10. 编程实践和高级语言特性:本书不仅介绍了理论知识,还提供了大量的编程实践,帮助读者通过实际案例来加深理解。同时,它还包含了高级语言特性的...

    PyPI 官网下载 | sicp-0.0.1b102.dev4.tar.gz

    如果"sicp"库被正确安装,那么在Python环境中就可以通过`import sicp`来导入并使用这个库提供的功能。 对于开发者来说,理解并使用PyPI、Python库以及版本控制是日常工作中不可或缺的技能。下载并安装库只是第一步...

    SICP LISP AI

    4. **数据结构和抽象**:SICP介绍了各种数据结构,如列表、树和队列,以及如何使用递归和高阶函数来操作它们。此外,还讨论了如何通过抽象隐藏实现细节,提高代码的复用性和可维护性。 5. **控制结构和计算的表示**...

    sicp-Structure and Interpretation of Computer Programs

    - **1.1.7 示例:使用牛顿法求平方根**(Example: Square Roots by Newton's Method):通过一个具体的数学问题展示如何设计算法。 - **1.1.8 过程作为黑盒抽象**(Procedures as Black-Box Abstractions):强调...

    Python SICP epub版本

    Python SICP epub版本,很适合学习抽象的思想,用Python版本比lisp更实用

    北京大学,计算机程序构造和解释(SICP)课件,裘宗燕老师主讲

    3. **递归**:深入探讨递归原理,它是函数式编程中的核心概念,用于解决各种问题,如遍历数据结构、求解数学问题等。 4. **元编程**:学习如何编写可以操作和扩展自身的程序,理解和实现编译器和解释器的基本原理。...

    sicp 2016 from

    - **过程作为通用方法 (Procedures as General Methods)**:讲解了如何使用过程来实现通用的问题解决策略。 - **返回值的过程 (Procedures as Returned Values)**:探讨了过程可以作为函数返回值的概念。 ##### 2...

    sicp第二章练习题的解答

    5. **问题解决策略**:通过解决像八皇后这样的问题,我们可以学习如何将复杂问题分解为可管理的部分,以及如何使用编程技巧来表达解决方案。 以上就是基于文件名推测的SICP第二章练习题相关知识点。这些内容深入地...

    sicp in python 中文版 sicp

    sicp in python 中文版 sicp in python 中文版 sicp in python 中文版 download : https://github.com/wizardforcel/sicp-py-zh

    sicp 2nd 英文chm

    2. **递归**:递归是SICP中的关键概念,用于解决各种问题。书中通过递归函数展示了如何表示和处理数据结构,如列表和树。 3. **抽象**:SICP提倡通过创建抽象层来提高代码的可读性和复用性。通过定义新类型和操作,...

Global site tag (gtag.js) - Google Analytics