Skip to content

Instantly share code, notes, and snippets.

@yakreved
yakreved / sicp_2_64
Last active December 21, 2015 22:59
sicp 2.64
(define (entry tree) (car tree))
(define (left-branch tree) (cadr tree))
(define (right-branch tree) (caddr tree))
(define (make-tree entry left right)
(list entry left right))
(define (list->tree elements)
(car (partial-tree elements (length elements))))
(define (partial-tree elts n)
(if (= n 0)
@yakreved
yakreved / sicp_2_63
Created August 29, 2013 13:47
sicp 2.63
(define (entry tree) (car tree))
(define (left-branch tree) (cadr tree))
(define (right-branch tree) (caddr tree))
(define (make-tree entry left right)
(list entry left right))
(define (tree->list-1 tree)
(if (null? tree)
'()
(append (tree->list-1 (left-branch tree))
@yakreved
yakreved / sicp_2_62
Created August 29, 2013 12:23
sicp 2.62
(define a '(1 2 4 6))
(define b '(3 4 5 6 7 8))
(define (union-set x y)
(cond
((null? x) y)
((null? y) x)
((= (car x) (car y))
(cons (car x) (union-set (cdr x) (cdr y))))
((< (car x) (car y))
@yakreved
yakreved / sicp_2_61
Created August 29, 2013 12:14
sicp 2.61
(define (element-of-set? x set)
(cond ((null? set) #f)
((= x (car set)) #t)
((< x (car set)) #f)
(else (element-of-set? x (cdr set)))))
(define a '(1 2 4 6))
(define b '(3 4 5 6 7 8))
(element-of-set? 3 a)
@yakreved
yakreved / sicp_2_60
Created August 29, 2013 01:13
sicp 2.60
(define (element-of-set? x set)
(cond ((null? set) #f)
((= x (car set)) #t)
(else (element-of-set? x (cdr set)))))
(define a '(1 2 3 4 6 6))
(define b '(3 4 5 6 2))
(element-of-set? 3 a)
(element-of-set? 5 a)
@yakreved
yakreved / sicp_2_59
Created August 28, 2013 21:59
sicp 2.59
(define (element-of-set? x set)
(cond ((null? set) #f)
((= x (car set)) #t)
(else (element-of-set? x (cdr set)))))
(define a '(1 2 3 4))
(define b '(3 4 5 6))
(element-of-set? 3 a)
(element-of-set? 5 a)
@yakreved
yakreved / sicp_2_58
Created August 28, 2013 14:49
sicp 2.58
;a
(define (variable? x) (symbol? x))
(define (same-variable? v1 v2)
(and (variable? v1) (variable? v2) (eq? v1 v2)))
(define (exponentiation? x)
(and (pair? x) (eq? (car x) '**)))
(define (base p) (cadr p))
@yakreved
yakreved / sicp_2_57
Created August 28, 2013 14:18
sicp 2.57
(define (variable? x) (symbol? x))
(define (same-variable? v1 v2)
(and (variable? v1) (variable? v2) (eq? v1 v2)))
(define (sum? x)
(and (pair? x) (eq? (car x) '+)))
(define (exponentiation? x)
(and (pair? x) (eq? (car x) '**)))
(define (addend s) (cadr s))
(define (augend s)
(if (null? (cdddr s))
@yakreved
yakreved / sicp_2_56
Created August 28, 2013 13:49
sicp 2.56
(define (variable? x) (symbol? x))
(define (same-variable? v1 v2)
(and (variable? v1) (variable? v2) (eq? v1 v2)))
(define (sum? x)
(and (pair? x) (eq? (car x) '+)))
(define (exponentiation? x)
(and (pair? x) (eq? (car x) '**)))
(define (addend s) (cadr s))
(define (augend s) (caddr s))
(define (product? x)
@yakreved
yakreved / sicp_2_55
Created August 28, 2013 12:05
sicp 2.55
(car ''abracadabra)
;quote
;Интерпретатор печатает quote ибо это полное название оператора кавычки