1. Да се реализира функция (iterate f x), която връща потока (x f(x) f(f(x)) ...)
  2. Да се реализира функция, която по подадено x връща поток от събираемите в реда на Тейлър за развитето на функцията (а) exp (б) log (в) sin (г) cos около точката x.
  3. Да се реализира функция, която връща функция, която по подадена функция f връща функция, която по дадено x връща поток от събиреамите в реда на Тейлър за развитието на функцията f около точката x. Упътване: използвайте derive-n.
  4. Да се реализира функция (scanl op nv stream), която връща потока (nv op(nv, a1) op(op(nv, a1), a2) ...)
  5. Да се реализира функция (scanr op nv stream), която връща потока (nv op(a1, nv) op(a1, op(a2, nv)) ...)
  6. С помощта на функциите scanl и/или scanr да се реализира функция, която връща функция, която по дадено x намира безкраен поток от последователните приближения с ред на Тейлър около точката x на (а) exp (б) log (в) sin (г) cos (д) произволна подадена функция f.
  7. Да се реализира функция с произволен брой аргументи map-streams, която работи като map на произволен брой агрументи за списъци.
  8. Да се реализира функция flatten-streams, която по поток от потоци ss връща поток от всички елементи в потоците в ss в някакъв ред, който гарантира, че всички ще бъдат обходени. Упътване: помислете за сюрекция между положителните рационални и естествените числа.
  9. Да се реализира функция uniques, която по поток s от елементи от елементи връща поток от уникалните елементи в s.
  10. Да се реализира функция, която връща (потенциално безкраен) поток от всички пътища в графа започващи от даден възел.
Last modified: Friday, 29 November 2019, 2:08 PM