8.1
(a e i o u)
()
0
#f
(16 144 0)
(aioee)
25
(go d sunshi)
8.2
(keep vowel? 'birthday)
(every first '(golden slumbers))
(first '(golden slumbers))
(every last '(little child))
> (accumulate word (every last '(little child)))
(every + '(2 3 4 5))
(accumulate + '(2 3 4 5))
8.4
(define (choose-beatles f)
(keep f '(john paul george ringo)))
8.5
(define (transform-beatles f)
(every f '(john paul george ringo)))
8.6
(define (words wd)
(every convert wd))
(define (convert x)
(cond((equal? x 'a) 'about)
((equal? x 'b) 'bring)
((equal? x 'c) 'cab)
((equal? x 'd) 'digit)
((equal? x 'e) 'erection)
((equal? x 'f) 'fail)
((equal? x 'g) 'gtalk)
((equal? x 'h) 'hello)
((equal? x 'i) 'intern)
((equal? x 'j) 'jack)
((equal? x 'k) 'knight)
((equal? x 'l) 'little)
((equal? x 'm) 'mom)
((equal? x 'n) 'nation)
((equal? x 'o) 'open)
((equal? x 'p) 'pantyhose)
((equal? x 'q) 'quit)
((equal? x 'r) 'right)
((equal? x 's) 'strong)
((equal? x 't) 'tight)
((equal? x 'u) 'up)
((equal? x 'v) 'villa)
((equal? x 'w) 'we)
((equal? x 'x) 'x)
((equal? x 'y) 'yes)
((equal? x 'z) 'zip)))
8.13
(define (phone-unspell wd)
(accumulate word(every con wd)))
(define (con wd)
(cond ((member? wd 'abc) 2)
((member? wd 'def) 3)
((member? wd 'ghi) 4)
((member? wd 'jkl) 5)
((member? wd 'mno) 6)
((member? wd 'pqrs) 7)
((member? wd 'tuv) 8)
((member? wd 'wxyz) 9)))
8.14
(define (subword wd s e)
((repeated bl(-(count wd) e))((repeated bf(- s 1))wd)))
本文介绍了一系列用于处理符号数据的程序设计方法,包括定义特定函数来转换字符、计算字母出现次数及单词转换等。通过这些函数,可以实现如字母计数、单词转换为电话按键序列等功能。
4097

被折叠的 条评论
为什么被折叠?



