Advertisement
Guest User

Untitled

a guest
Nov 15th, 2018
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Racket 2.30 KB | None | 0 0
  1. #lang racket
  2.  
  3. (foldl cons '() '(1 2 3 4))
  4. (cons 1 '())
  5. (cons 2 (cons 1 '()))
  6.  
  7. (foldl + 0 '(1 2 3))
  8. (+ 1 0)
  9. (+ 2 1)
  10. (+ 3 3)
  11.  
  12. (foldr cons '() '(1 2 3 4))
  13.  
  14. (foldr append '() '((1 2) (2 3) (6)))
  15.  
  16. ; Зад. 1 Дефинирайте функция от по-висок ред (favg f g),
  17. ; която приема две едноаргоментни числови функции f и g
  18. ; и връща едноаргоментнa числова функция, чиято стойност
  19. ; в точка x е средното аритметично на f и g.
  20. (define favg
  21.   (lambda (f g)
  22.     (lambda (x)
  23.       (/ (+ (f x) (g x)) 2)
  24.      )
  25.    )
  26.  )
  27.  
  28. ((favg sqr sqrt) 5)
  29.  
  30. ; Зад. 2 Дефинирайте функция от по-висок ред (flist fs),
  31. ; която приема списък от едноаргоментни функциии
  32. ; (list f1 f2 f3 ..)
  33. ; и връща едноаргоментнa числова функция, чиято стойност
  34. ; в точка x е (f3 (f2 (f1 x))).
  35. (define flist
  36.   (lambda (fs)
  37.     (lambda (x)
  38.       (foldl (lambda (f x) (f x)) x fs))
  39.      )
  40.    )
  41. (define flist-result
  42.   (flist (list (lambda (x) (+ x 3)) sqr)))
  43. (flist-result 5)
  44.  
  45. (define (flist2 fs)
  46.   (foldl compose identity fs)
  47.  )
  48.  
  49. ((flist2 (list (lambda (x) (+ x 3)) sqr)) 5)
  50.  
  51.  
  52. (define fs (list sqr sqrt))
  53. ((car fs) 3)
  54. ((cadr fs) 3)
  55.  
  56. (car '(sqr (/ 1 0)))
  57. (cons '+ '(2 5))
  58.  
  59.  
  60. 'sqr
  61. '(/ 1 0)
  62.  
  63. ; Зад. 3 Да се дефинира функцията
  64. ; (sieve-of-eratosthenes n), която приема
  65. ; целочисления аргумент n и връща списък с всички
  66. ; прости числа по-малки или равни на n, като за
  67. ; целта използвайте решетото на Ератостен.
  68. (define (sieve-of-eratosthenes n)
  69.   (define (sieve-helper remaining)
  70.     (if (null? remaining)
  71.         remaining
  72.         (cons
  73.          (car remaining)
  74.          (sieve-helper
  75.           (filter (lambda (x)
  76.                     (< 0 (remainder x (car remaining)))
  77.                     )
  78.                   (cdr remaining))
  79.           )
  80.          )
  81.       )
  82.    )
  83.   (sieve-helper (range 2 n))
  84.  )
  85.  
  86. (sieve-of-eratosthenes 50)
  87.  
  88. (list 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
  89. (list 2 3 5 7 9 11 13 15)
  90. (list 2 3 5 7 11 13)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement