Lista zadań na zajęcia, semestr letni 2013/2014, zestaw XI
Transkrypt
Lista zadań na zajęcia, semestr letni 2013/2014, zestaw XI
Lista zadań na zajęcia, semestr letni 2013/2014, zestaw XI Language INtegrated Query (LINQ) Przemysław Krysztowiak, [email protected] Zadanie 1. Zaimplementuj (i przetestuj) poniższe funkcje przy użyciu wyrażeń lambda, przypisanych do odpowiednich delegacji: (a) funkcja sprawdzająca, czy dane słowo jest palindromem, (b) funkcja obliczająca średnią arytmetyczną z trzech liczb, (c) funkcja sprawdzająca, czy dana liczba naturalna jest pierwsza. Zadanie 2. Napisz (i przetestuj) metody rozszerzające klasę string: (a) metoda sprawdzająca, czy słowo jest palindromem, (b) metoda zwracająca konkatenację słowa z nim samym (w 7→ ww). Zadanie 3. Napisz zapytania LINQ (wraz z demonstracją na przykładowych listach) realizujące następujące funkcjonalności: (a) sortowanie listy napisów alfabetycznie, (b) wybór 10 najmniejszych liczb z listy float-ów, (c) przekształcenie listy zawierającej float-y na listę ich kwadratów, (d) wyznaczenie średniej arytmetycznej z listy int-ów, (e) wybór wszystkich elementów z listy napisów z pominięciem tych, których długość przekracza 7, (f) wyznaczenie liczby tych napisów z listy, które mają długość 5, (g) wybór tych liczb z listy int-ów, które są kwadratami liczb naturalnych. Zadanie 4. Dana jest struktura: struct Plik { public string nazwa; public string rozszerzenie; public DateTime dataUtworzenia; } Napisz (i przetestuj) następujące zapytania LINQ: (a) utworzenie listy plików na podstawie listy napisów (nazwa: napis, rozszerzenie: „txt”, data: bieżąca), (b) sortowanie listy plików alfabetycznie po nazwie, (c) grupowanie listy plików po rozszerzeniu, a następnie sortownanie alfabetycznie po nazwie (w obrębie grup). Wyrażam zgodę na drukowanie przez studentów i pracowników WMiI UMK treści zawartej w niniejszym pliku.