Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. ;===== TD 8 =====
  2.  
  3. ;=== primitives ===
  4.  
  5. (define valeur ; → atome
  6. (lambda (arbre) ; arbre non vide
  7. (car arbre)))
  8.  
  9. (define fils-g ; → arbre
  10. (lambda (arbre) ; arbre non vide
  11. (cadr arbre)))
  12.  
  13. (define fils-d ; → arbre
  14. (lambda (arbre) ; arbre non vide
  15. (caddr arbre)))
  16. (define vide? ; → booleen
  17. (lambda (arbre) ; arbre
  18. (null? arbre)))
  19.  
  20. (define arbre=? ; → booléen
  21. (lambda (arbre1 arbre2) ; arbres
  22. (equal? arbre1 arbre2)))
  23.  
  24. (define vide ; → arbre
  25. '() )
  26.  
  27. (define cons-binaire ; → arbre
  28. (lambda (val fg fd); val atome, fg et fd arbres
  29. (list val fg fd)))
  30.  
  31. (define feuille?
  32. (lambda (a)
  33. (and (not(vide? a ))
  34. (vide? (fils-g a ))
  35. (vide? (fils-d a )))
  36. ))
  37.  
  38.  
  39. ;== carre ==
  40. (define carre
  41. (lambda (x)
  42. (* x x)))
  43. ;== cube ==
  44. (define cube
  45. (lambda (x)
  46. (* x x x)))
  47. ;== verifie ==
  48. (define verifie ; --> une liste de nombre paire
  49. (lambda (l f) ; une liste l et une focntion f
  50. (if(null? l)
  51. '()
  52. (if (f (car l))
  53. (cons (car l) (verifie (cdr l) f))
  54. (verifie (cdr l) f)
  55. )
  56. )
  57. ))
  58.  
  59. ;=== composition de fonction f(g(x)) ===
  60.  
  61. (define comp
  62. (lambda (f g x)
  63. (f(g x))
  64. ))
  65.  
  66. ;=== compte nbr de valeur paire dans un arbre ===
  67.  
  68. ;=== abs arbre ===
  69. ; à corriger...
  70.  
  71.  
  72. (define fn1 ; entier
  73. (lambda (f n x)
  74. (if (= n 0) x
  75. (fn1 f (- n 1) (f x ))
  76. )
  77. ))
  78.  
  79. (define fn2
  80. (lambda (f n a)
  81. (lambda (x)
  82. (if(= n 0) x
  83. (f (fn2 f(- n 1) x))
  84. )
  85. )
  86. ))
  87.  
  88. (define compf2
  89. (lambda (f g)
  90. (lambda (x)
  91. (comp f g x)
  92. )
  93. ))
  94.  
  95. (define fnf1
  96. (lambda (f n)
  97. (lambda (x)
  98. (if (= n 0)
  99. x
  100. ((fnf1 f (- n 1)(f x)))
  101. )
  102. )
  103. ))
  104.  
  105.  
  106. (define absarbre
  107. (lambda (f n a)
  108. (if (vide? a)
  109. n
  110. (f (valeur a)
  111. (absarbre f n (fils-g a))
  112. (absarbre f n (fils-d a))
  113. )
  114. )
  115. ))
  116.  
  117. (define nb-paires
  118. (lambda (a)
  119. (absarbre (lambda (x y z) (if (even? x) (+ 1 y z) (+ y z))) 0 a)))
  120.  
  121. (define fois-deux
  122. (lambda (a)
  123. (absarbre (lambda (x y z) (cons-binaire (* 2 x) y z)) (vide) a)
  124. ))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement