Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo:laboratoare:14 [2026/01/12 08:24]
george.tudor1906
poo:laboratoare:14 [2026/01/12 08:32] (current)
george.tudor1906
Line 56: Line 56:
  
 Veți porni implementarea de la clasa **ListUtil**,​ pusă la dispoziție în arhiva laboratorului. Veți porni implementarea de la clasa **ListUtil**,​ pusă la dispoziție în arhiva laboratorului.
- 
-== Explicații pentru funcționale == 
- 
-**foldl(function,​ init, list)** 
-Returnează rezultatul aplicării funcției function pe rând asupra unui element din listă 
-și a unui acumulator init. Ordinea folosirii elementelor din listă este de la stânga la dreapta. 
-<​code>​ 
-foldl(f(x, y) = x + y, 5, [0, 1, 2, 3]) => 11 
-</​code>​ 
- 
-**foldr(function,​ init, list)** 
-Are un comportament similar cu foldl, însă ordinea folosirii elementelor din listă 
-este de la dreapta la stânga. 
-<​code>​ 
-foldr(f(x, y) = y, 4, [0, 1, 2, 3]) => 0 
-</​code>​ 
- 
-**map(function,​ list)** 
-Returnează lista rezultatelor aplicării unei funcții f asupra fiecărui element dintr-o listă. 
-<​code>​ 
-map(f(x) = 2*x, [0, 1, 2, 3]) => [0, 2, 4, 6] 
-</​code>​ 
- 
-**filter(predicat,​ list)** 
-Returnează lista elementelor dintr-o listă care satisfac un predicat p 
-(un predicat îl vom percepe ca o funcție care are un rezultat de tip Boolean). 
-<​code>​ 
-filter(f(x) = x % 2 == 0, [0, 1, 2, 3]) => [0, 2] 
-</​code>​ 
- 
-**reduce(function,​ list)** 
-Aplică funcția pentru primele două elemente din listă, apoi pentru rezultatul obținut 
-anterior și următorul element și tot așa. 
-<​code>​ 
-reduce(f(x, y) = x + y, [47, 11, 42, 13]) => 113 
-</​code>​ 
- 
-**all(predicat,​ list)** 
-Primește un predicat (metodă ce are ca rezultat un boolean) și verifică dacă toate 
-elementele din listă satisfac predicatul. 
-<​code>​ 
-all(f(x) = x > 0, [0, 1, 2, 3])      => False 
-all(f(x) = x >= 0, [0, 1, 2, 3])     => True 
-</​code>​ 
- 
-**any(predicat,​ list)** 
-Primește un predicat și verifică dacă există cel puțin un element în listă care 
-satisface predicatul. 
-<​code>​ 
-any(f(x) = x < 0, [1, 2, 3, 4])      => False 
-any(f(x) = x % 2 == 0, [1, 2, 3])    => True 
-</​code>​ 
- 
- 
  
 <​hidden>​ <​hidden>​
poo/laboratoare/14.txt · Last modified: 2026/01/12 08:32 by george.tudor1906
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0