Arhiva pentru categoria „Haskell”
Programare funcțională - tema 1
Scris pe 22 Februarie 2008 la 18:30Cerințe:
-
Care este tipul următoarelor date:
['a', 'b', 'c']
('a', 'b', 'c')
[(False, 'O'), (True, '1')]
([False, True], ['0', '1'])
[tail, init, reverse] - Scrieți o funcție Haskell care testează dacă un număr întreg este palindrom.
- Scrieți o funcție powers cu proprietatea că powers n = [n1, n2, n3, …].
- 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] - Scrieți o funcție care să afișeze toate numerele care se divid cu 3, dintr-o listă dată.
- 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 - Scrieți o funcție care determină dacă 2 vectori în spațiu sînt perpendiculari.
- 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] - Construiți lambda expresia corespunzătoare funcției în forma curry:
mult x z y = x * y * z - Să se definească în 3 moduri funcția myHead utilizînd:
- expresii condiționale
- ecuații gardă
- pattern matching
(funcția myHead are acelasi comportament cu funcția de bibliotecă head)
- Utilizând funcția de bibliotecă foldl, definiți o funcție
f :: [Int] -> Int
care convertește o listă de cifre într-un întreg, după modelul:f [1, 4, 9] => 149
Rezolvări:
Programare funcțională
Scris pe 22 Februarie 2008 la 15:28Obiect 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 ![]()
