Grupa D

Kolokwium - Programowanie Zaawansowane 17.01.2022

Zadanie 1 CountIf

Napisz program, który wypełnia tablicę int[] liczącą około 100mln elementów losowym wartościami z zakresu [0,1000], a następnie sprawdzi, ile razy jest spełniają one predykat Predicate<T>

a) sequentialCount()

  • Zaimplementują wątek CountIfThread. W konstruktorze przekaż predykat i zakres indeksów elementów tablicy do sprawdzenia
  • W wywołaniu przekaż mu takie wartości indeksów, aby sprawdził on całą tablicę
  • Podaj czas wykonania

a) parallelCount(int cnt)

  • Zaimplementuj funkcję, której parametrem jest liczba wątków cnt. Uruchom cnt wątków przydzielając każdemu fragment tablicy.
  • Do agregacji danych użyj kolejki

b) Przetestuj i podaj czasy

  • Przetestuj przekazując wyrażenie lambda, np. sprawdzające, czy element ma wartość <100
  • Sprawdź, czy wyniki są prawdopodobne (około 10%)
  • Porównaj czasy działania dla różnych wartości parametru cnt

Zadanie 1

W pliku ibuk_wykaz_pozycji.csv znajduje się znaleziony w sieci spis książek jakiejś biblioteki. Zadeklaruj klasę Book z odpowiednimi polami, która będzie przechowywała dane poszczególnych książek. Wczytaj dane z pliku do pamięci

a) Wypisz wszystkie książki, których autorem lub współautorem był mężczyzna o imieniu Marek. Wypisując informacje o książce podaj co najmniej: autora, tytuł, wydawnictwo i rok wydania

b) Wypisz wszystkie książki wydane przez Wydawnictwo Naukowe PWN z kategorii Informatyka posortowane według roku wydania

c) Podaj ile książek wydano w kolejnych latach (policz książki z kolejnych lat i wypisz)

d) Podaj ile książek zostało wydane przez poszczególne wydawnictwa

pz1/xc9cj439rfj9ncrifewdswd.txt · Last modified: 2022/01/16 23:12 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0