《how to design programs》9.3处理任意长度的表
假定一个玩具商店要把货物库存清单存放在计算机之中,这样,店里的员工就可以快速判断商店里是
否还有某种玩具存货。简言之,商店需要一个能够检查库存是否含有玩具'doll 的函数contains-doll?,翻译
成Scheme 的术语就是,判断符号表中是否存在值为'doll 的元素。
有了函数 contains-doll?输入数据的定义,接着就要给出函数合约、头部和用途说明:
;; contains-doll? : list-of-symbols -> boolean
;; 判断符号'doll 是否存在于a-list-of-symbols 之中
(define (contains-doll? a-list-of-symbols) ...)
(define (contains-doll? a-list-of-symbols)
(cond
[(empty? a-list-of-symbols) false]
[else (cond
[(symbol=? (car a-list-of-symbols) 'doll) true]
[else (contains-doll? (cdr a-list-of-symbols))])]))
http://www.htdp.org/2003-09-26/Book/curriculum-Z-H-13.html#node_chap_9
《how to design programs》9.3处理任意长度的表的更多相关文章
- 《how to design programs》12章函数复合
我们写代码时要学会适应辅助函数.作者提出了一个问题,如何对一个表排序.排序函数读取一个表,产生另一个表.排序函数的合约和用途如下: (sort empty) ;; expected value: em ...
- How to Design Programs, Second Edition
How to Design Programs, Second Edition How to Design Programs, Second Edition
- how to design Programs 学习笔记
how to design Programs 学习笔记 */--> how to design Programs 学习笔记 目录 1. 前言 1.1. 系统化程序设计 1.2. 输入和输出 2. ...
- 生成任意长度的随机数 JS
1.Math.random().toString(36).substr(2); 结果:ywv6cnpkliahj4tep0 2. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- 求任意长度数组的最大值(整数类型)。利用params参数实现任意长度的改变。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- C语言---递归反向输出任意长度的字符串
(该字符串可以包含空格和回车!) [题目要求] 编写一个递归函数,实现将输入的任意长度的字符串反向输出的功能. 例如输入字符串:ABCD,输出字符串:DCBA. [题目分析] 应用递归的思想有时可以很 ...
- 任意长度的正小数的加法(YT新人之巅峰大决战05)
Problem Description 话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫"大明". 这时他已经不是那个只会做100以内加法的那个"小明 ...
- [c++]大数运算1---利用C++ string实现任意长度正小数、整数之间的加减法
一.概述 本文属于大大维原创,未经笔者本人允许,严禁转载!!! C/C++中的int类型能表示的范围是-2E31-2E31–1.unsigned类型能表示的范围是0-2E32–1,即 0-429496 ...
- [c++]大数运算---利用C++ string实现任意长度正小数、整数之间的加减法
本文为大大维原创,最早于博客园发表,转载请注明出处!!! 一.概述 C/C++中的int类型能表示的范围是-2E31-2E31–1.unsigned类型能表示的范围是0-2E32–1,即 0-4294 ...
随机推荐
- [转] Lisp语言:Do循环的使用
转自http://blog.csdn.net/keyboardota/article/details/8240250 有关Lisp语言中的Do循环,就像很多人说的一样,初看起来太奇怪了,不知道怎么理解 ...
- Java 之String.valueOf(obj)
实例代码如下: String str = null; String uSelectDate = String.valueOf(str); System.out.println("====== ...
- Eclipse IDE for Java EE Developers使用和新建工程helloworld
开发j2ee还是用专门的java ee eclipse,自带了许多开发j2ee的插件,包括: This package includes: Data Tools Platform Eclipse Gi ...
- 转:C#中的委托和事件(续)
引言 如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识.但那些远不是委托和事件的全部内容,还有很多的地方没有涉及.本文将讨论委托和事件一些更为细节的问题,包括一些大家常 ...
- PHP代码,拒绝频繁访问
一个网站性能有限,如果有人恶意去频繁对页面进行刷新,其实对服务器影响是很大的,导致资源使用非常高,直接影响到其他用户的体验. 那么对于这样的一些频繁访问,我们该如何去拒绝它呢? 我总结了两种方法:第一 ...
- AFNetWorking网络请求
NetWorkAPIClient.h #import <Foundation/Foundation.h> #import "AFHTTPRequestOperationManag ...
- 数据连接池——JNDI
数据库连接有很多中方式,JDBC数据库的连接方式,前边我们已经介绍过了,而开发中我们经常使用的是DataBaseConnectionPool(数据库连接池,DBCP).数据库连接池到底是什么?它比jd ...
- 如何彻底解决jsp页面中文乱码及数据库乱码
最近自己闲做一个小项目,搭建环境框架SSH+MySQL数据库,遇到一个问题:jsp页面中文显示乱码,数据库插入数据和更新数据时中文也显示乱码,后来在网上找了许多解决方法,还是折腾了两天才把问题解决,下 ...
- 查看Linux操作系统版本
1.查看内核版本命令: [root@server1 Desktop]# cat /proc/version Linux version 2.6.32-358.el6.x86_64 (mockbui ...
- resolv.conf 是什么
From Wikipedia, the free encyclopedia This article does not cite any references or sources. Please h ...