Arhiva pentru categoria „Haskell

Programare funcțională - tema 1

Scris pe 22 Februarie 2008 la 18:30

Cerințe:

  1. Care este tipul următoarelor date:['a', 'b', 'c']
    ('a', 'b', 'c')
    [(False, 'O'), (True, '1')]
    ([False, True], ['0', '1'])
    [tail, init, reverse]
  2. Scrieți o funcție Haskell care testează dacă un număr întreg este palindrom.
  3. Scrieți o funcție powers cu proprietatea că powers n = [n1, n2, n3, …].
  4. Scrieți o funcție ins care să insereze un element la mijlocul unei liste:ins 3 [1, 2, 4, 5] => [1, 2, 3, 4, 5]
  5. Scrieți o funcție care să afișeze toate numerele care se divid cu 3, dintr-o listă dată.
  6. Scrieți o funcție care să determine dacă elementele unei liste L satisfac proprietatea:L [i] = 2 * L [i + 1], i = 1, lg (L) - 1
  7. Scrieți o funcție care determină dacă 2 vectori în spațiu sînt perpendiculari.
  8. Să se definească o funcție recursivămerge :: Ord a => [a] -> [a] -> [a]
    care interclasează două liste ordonate și returnează o listă ordonată:merge [11, 13] [1, 12] returnează [1, 11, 12, 13]
  9. Construiți lambda expresia corespunzătoare funcției în forma curry:mult x z y = x * y * z
  10. Să se definească în 3 moduri funcția myHead utilizînd:
    1. expresii condiționale
    2. ecuații gardă
    3. pattern matching
      (funcția myHead are acelasi comportament cu funcția de bibliotecă head)
  11. Utilizând funcția de bibliotecă foldl, definiți o funcțief :: [Int] -> Int
    care convertește o listă de cifre într-un întreg, după modelul:f [1, 4, 9] => 149

Rezolvări:

Citește întreg articolul »

Programare funcțională

Scris pe 22 Februarie 2008 la 15:28

Obiect interesant, pe care trebuia să-l iau anul trecut :| , însă doar anul ăsta m-am decis să mă țin de facultate.
Se face Haskell, limbaj funcțional, ce lucrează cu liste, recursivitate etc. Prima temă se prezintă a fi ușoară…
Sper ca obiectul, în general, să nu-mi creeze probleme.

Am să scriu pe aici cam cum decurge treaba cu PFul :!:

nimic.org