ВУЗ:
Составители:
Рубрика:
36
n
(cons (ONION (- n 1)) nil)
)
)
Результат выполнения:
[1] (onion 5)
(((((0)))))
Определите функцию FIRSTATOM, результатом которой будет первый атом
списка.
Функция:
(define (FIRSTATOM L)
(cond
((atom? L) L)
(t (FIRSTATOM (car L)))
)
)
Результат выполнения:
[1] (firstatom '((a bc) def))
A
Определите функцию, DELFIRST удаляющую из списка первое вхождение
заданного элемента.
Функция:
(define (DELFIRST A L)
(cond
((equal? (car L) A) (cdr L))
(t (cons (car L) (DELFIRST A (cdr L))))
)
)
Результат выполнения:
[27] (delfirst 'bc '(a bc def bc))
(A DEF BC)
Определите функцию, вычисляющую общее количество всех атомов в списке.
Функция:
(define (AtomCount L)
(cond
((null? L) 0) ;список пуст – возвращаем 0
((atom? (car L))
(+ 1 (AtomCount (cdr L))));голова – атом
;возвращаем 1+число атомов
в хвосте
(t
(+ (AtomCount (car L)) (AtomCount (cdr L)))
;голова – список. Обрабатываем
голову и хвост
;поэлементно.
)
)
)
Результат выполнения:
[1] (atomcount '(a b c))
3
[2] (atomcount '(a (b c (d (e)))))
5
Определите функцию двух аргументов-списков, возвращающую первый элемент,
36 n (cons (ONION (- n 1)) nil) ) ) Результат выполнения: [1] (onion 5) (((((0))))) Определите функцию FIRSTATOM, результатом которой будет первый атом списка. Функция: (define (FIRSTATOM L) (cond ((atom? L) L) (t (FIRSTATOM (car L))) ) ) Результат выполнения: [1] (firstatom '((a bc) def)) A Определите функцию, DELFIRST удаляющую из списка первое вхождение заданного элемента. Функция: (define (DELFIRST A L) (cond ((equal? (car L) A) (cdr L)) (t (cons (car L) (DELFIRST A (cdr L)))) ) ) Результат выполнения: [27] (delfirst 'bc '(a bc def bc)) (A DEF BC) Определите функцию, вычисляющую общее количество всех атомов в списке. Функция: (define (AtomCount L) (cond ((null? L) 0) ;список пуст – возвращаем 0 ((atom? (car L)) (+ 1 (AtomCount (cdr L))));голова – атом ;возвращаем 1+число атомов в хвосте (t (+ (AtomCount (car L)) (AtomCount (cdr L))) ;голова – список. Обрабатываем голову и хвост ;поэлементно. ) ) ) Результат выполнения: [1] (atomcount '(a b c)) 3 [2] (atomcount '(a (b c (d (e))))) 5 Определите функцию двух аргументов-списков, возвращающую первый элемент,
Страницы
- « первая
- ‹ предыдущая
- …
- 34
- 35
- 36
- 37
- 38
- …
- следующая ›
- последняя »