User Tools

Site Tools


laboratoare:04-tipuri-de-date-abstracte

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

===== Laborator 4 - Tipuri de date abstracte ===== !! In acest laborator, vom specifica explicit tipurile functiilor implementate !! ==== TDA-uri monomorfice: Liste monomorfice, inregistrari ==== * Implementati TDA-ul: "lista de numere naturale" * Scrieti o functie care converteste valori ale TDA-ului vostru in liste din Haskell * Implementati TDA-ul "optiune", care codifica valori optionale de tipul Integer, e.g. fie ''None'', fie o valoare intreaga * Scrieti un TDA care codifica un tuplu (inregistrare) format din urmatoarele campuri: * Nume (codificat ca String) * Varsta (codificat ca Integer) * Prieteni (codificat ca o lista de String-uri) * Nota PP (codificat ca Integer). Acest camp este optional! * Scrieti o functie care primeste o lista de inregistrari, si le intoarce pe acelea pentru care varsta este mai mare ca 20 * Scrieti o functie care primeste o lista de inregistrari, si le intoarce pe acelea care contin cel putin un prieten cu numele "Matei" * Scrieti o functie care primeste o lista de inregistrari, si le intoarce pe acelea care contin campul "Nota PP" * Scrieti o functie care primeste o lista de nume, o lista de varste, o lista ce contine liste de prieteni, si intoarce o lista de inregistrari corespunzatoare ==== TDA-uri polimorfice: Liste, Arbori, Perechi ==== === Liste polimorfice === * Implementati TDA-ul "Lista polimorfica" * Re-implementati o functie ce converteste Liste definite anterior, in liste (polimorfice) din Haskell * Implementati ''foldl'', ''foldr'' si ''map'' pentru TDA-ul creat === Arbori polimorfici === * Implementati TDA-ul "Arbore polimorfic" * Implementati o functie ''tmap'' care este echivalentul lui ''map'' pe arbori * Implementati o functie ''tzipWith'' care este echivalentul lui ''zipWith'' pe arbori * Implementati ''foldT'' pe arbori === Perechi === * Implementati TDA-ul "Pereche". Observatie: O pereche poate contine valori de orice tip * Implementati o functie care primeste doua liste (reprezentate folosind TDA-ul anterior) si construieste o lista de perechi

laboratoare/04-tipuri-de-date-abstracte.1426598176.txt.gz · Last modified: 2015/03/17 15:16 by lucian.mogosanu