第3章
3.1 一个累加器是一个过程,返复用数值参数调用它,就会使它的各个参数累加到一个和数中。每次调用时累加器将返回当前的累加和。请写出一个生成累加器的过程make-accumulator,它所生成的每个累加器维持着一个独立的和。送给make-accumulator的输入描述有送和数的初始值。
;;全局变量的写法 (def count-sum (atom 0)) (defn make-accumulator "累加器" [count] (reset! count-sum (+ @count-sum count))) ;;局部变量的写法?
3.2 在对应用程序做软件测试时,能够统计出在计算过程中某个给定过程被调用的次数常常很有用处。请写出一个过程make-monitored,这以一个过程F作为输入,该过程本身有一个输入。make-monitored返回的结果是第三个过程,比如说mf,它将用一个内部计数器维持着自己被调用的次数。如果mf的输入是特殊符号how-many-calss?,那么mf就返回内部计数器的值,如果输入是特殊符号reset-count,那么mf就将计数器重新设置为0,对于任何其他输入,mf将返回过程f应用这一输入的结果,并将内部计数器加1。
相关推荐
《计算机组成原理》是计算机科学领域的一门基础课程,它主要研究计算机系统的基本构造和工作原理。这本书的电子版——《计算机组成原理题、题解与题库》(超星版),是学习者掌握计算机硬件知识的重要参考资料。下面...
这份由白中英编著的资料集,包含了一系列的试题、题解和题库,是学习和复习计算机组成原理的重要资源。 首先,我们要理解计算机组成原理中的基本概念。计算机是由硬件和软件两部分组成的,硬件是计算机的物理实体,...
计算机组成原理是计算机科学与技术领域的一门基础课程,它主要研究计算机系统的基本构造和运行原理。本资料包“计算机组成原理试题、题解与解析”涵盖了这一领域的关键知识点,旨在帮助学生深入理解和掌握计算机硬件...
河南省第十三届ICPC程序设计竞赛是针对计算机编程领域的一项专业竞赛,参赛队伍需要解决一系列的算法和编程问题。以下是对部分题目的详细解析: 1. Problem A:祝融传火 本题的解决方案在于判断四个给定点的高度...
计算机组成原理是计算机科学与技术领域的一门基础课程,它主要研究计算机系统的基本构造和运行原理。本资源包含“计算机组成原理”的试题、题解与题库,为学习者提供了全面的学习材料,有助于深入理解和掌握这门学科...
"灰色理论与方法——提要·题解·程序·应用"很可能是一本深入探讨灰色理论的学术著作,旨在帮助读者理解和应用这一理论。PDG格式通常用于电子图书,这种格式能够较好地保留书籍的排版和图像质量,方便在计算机或...
这些问题涵盖了多个计算机科学和技术领域,包括算法设计、数据结构、数值计算以及数学应用。以下是其中一些题目的解题策略和涉及的知识点: 1. **A. Antinomy** - 这个问题涉及到逻辑判断。当第一个和第二个数字均...
在计算机科学领域,程序设计竞赛是提升编程技能、锻炼逻辑思维的重要途径。2023年绍兴文理学院第十七届大学生程序设计竞赛,无疑为参赛者提供了一个展示才华和学习新知的平台。此次竞赛涵盖了多项编程难题,通过分析...
本篇文章以《深入理解计算机系统》中的3.38题为例,详细介绍了一种利用程序中的缓冲区溢出漏洞来改变程序输出的技术。通过解决此类题目,读者能够更深刻地理解过程调用中的栈帧变化以及指令的具体作用。 #### 2. ...
《ACM国际大学生程序设计竞赛题解Ⅰ》是一本专为ACM竞赛准备的书籍,旨在通过大量的编程题目来提升参赛者解决编程问题的能力。基础编程题是书中的一个重要部分,旨在帮助初学者建立坚实的编程基础。在本书中,作者会...
翻译和解释是两种程序执行方式,翻译是将高级语言转换为低级语言后再执行,而解释则是逐条执行高级语言指令的等效低级代码。 计算机系统结构涵盖了传统机器程序员所关心的特性,如透明性,即某些属性在特定视角下...
SICP 解题集《计算机程序的构造和解释》练习题解集。安装 MIT/GNU Scheme(macOS)下载:下载后运行 .dmg 文件,把 MIT/GNU Scheme.app 拖入 Applications 文件夹在 Applications/应用程序 文件夹中找到 MIT/GNU ...
ZJOI,全称为“中国中学生程序设计竞赛”,是一项旨在提升中学生计算机科学素养、培养算法思维能力的重要赛事。2019年的ZJOI吸引了众多编程爱好者参与,尽管有些人未能亲临现场,但通过提供的题目和题解,他们同样有...
学习这部分内容能训练我们的逻辑思维能力,对于编写严谨的程序和证明算法正确性至关重要。 3. **图论**:图论研究的是点和边构成的图形结构,广泛应用于网络设计、路由算法、社交网络分析等。方景龙的题解可能包含...
测试数据是检验解决方案正确性的重要依据,它由比赛裁判精心构造,覆盖了各种边界情况和特殊情况,确保参赛者不仅要解决问题,还要考虑代码的健壮性和效率。通过这些数据,学习者可以了解自己程序在各种输入下的表现...
翻译和解释是虚拟机实现程序执行的两种方式,翻译是将高级语言转换为低级语言后再执行,解释则是逐条解释执行高级语言指令。 计算机系统结构不仅涉及逻辑实现,如数据流和控制流的组成,还包括物理实现,如处理器、...
全国青少年信息学奥林匹克竞赛(NOI)是中国最高级别的青少年编程竞赛之一,旨在培养青少年的计算机科学素养和创新能力。NOI比赛通常包括算法设计、编程实现、数据结构等多个方面,是选拔国家队成员参加国际信息学...
### 数据结构与算法题解概览 #### 一、基础知识篇 **1. 基础数据结构** - **字符串(String)** - 字符串是计算机编程中最基本的数据类型之一,用于处理文本数据。 - 实例问题:实现一个函数来判断两个字符串是否...
结构化程序设计强调程序的模块化和清晰性,通过顺序、选择和循环三种基本控制结构构造程序。面向对象程序设计(OOP)则基于对象和类的概念,强调封装、继承和多态性,提供了一种更抽象和灵活的编程模型。 在准备...