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.