Gry planszowe [2023] [PR]
Pewien serwis internetowy prowadzi ranking gier planszowych. Baza serwisu została zapisana w trzech plikach.
Plik gry.txt zawiera informacje o grach planszowych. W każdym wierszu zapisano:
- id_gry – unikatowy numer gry planszowej
- nazwa – tytuł gry planszowej
- kategoria – kategorię, do jakiej została zakwalifikowana gra planszowa; każda gra należy tylko do jednej kategorii.
Przykład:
id_gry nazwa kategoria
1 Wsiasc do Pociagu: Europa familijna
2 Pandemia kooperacyjna
3 Splendor familijna
4 Dixit familijna
5 Dobble familijna
Plik gracze.txt zawiera informacje o graczach. W każdym wierszu zapisano:
- id_gracza – unikatowy numer gracza
- imie – imię gracza
- nazwisko – nazwisko gracza
- wiek – wiek gracza.
Przykład:
id_gracza imie nazwisko wiek
1 Jozef Gorecki 29
2 Przemysław Mazurek 68
3 Cezary Kaczmarczyk 41
4 Kornel Wysocki 72
5 Eustachy Gorecki 74
Plik oceny.txt zawiera oceny wystawione grom przez poszczególnych graczy. W każdym wierszu pliku zapisano:
- id_gry – numer gry planszowej
- id_gracza – numer gracza
- stan – zawiera jedną z możliwych wartości: posiada, chce kupic, sprzedal, opisującą, czy użytkownik posiada daną grę, czy ją sprzedał lub czy zamierza ją zakupić
- ocena – zawiera ocenę gry przez gracza, wyrażoną liczbą całkowitą w zakresie od 0 do 10.
Przykład:
id_gry id_gracza stan ocena
66 1 posiada 8
72 1 chce kupic 3
79 1 sprzedal 8
43 2 posiada 9
We wszystkich plikach dane w wierszach są rozdzielone znakami tabulacji, a pierwszy wiersz w każdym pliku jest wierszem nagłówkowym.
Z wykorzystaniem danych zawartych w podanych plikach oraz dostępnych narzędzi informatycznych, podaj odpowiedzi do zadań 6.1.–6.5. Odpowiedzi zapisz w pliku wyniki6.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Zadanie 6.1. (0–1)
Podaj tytuł gry, która otrzymała najwięcej ocen.
Zadanie 6.2. (0–2)
Dla każdej gry z kategorii „imprezowa” podaj średnią jej ocen w zaokrągleniu do dwóch miejsc po przecinku.
Zadanie 6.3. (0–3)
Podaj imiona i nazwiska graczy, którzy wystawili co najmniej jedną ocenę oraz posiadają (mają stan „posiada”) tylko gry z kategorii imprezowe („imprezowa”) i nie posiadają gier planszowych z innych kategorii. Wynik posortuj niemalejąco według nazwisk.
Zadanie 6.4. (0–2)
Podaj liczbę graczy, którzy nie posiadają żadnej z ocenianych przez siebie gier (nie mają żadnej gry ze stanem „posiada”), a wystawili co najmniej jedną ocenę.
Zadanie 6.5. (0–3)
W ocenianiu gier planszowych uczestniczą osoby w wieku od 10 do 99 lat. Osoby oceniające gry podzielono na trzy kategorie wiekowe: juniorzy (do 19 lat), seniorzy (od 20 do 49 lat) oraz weterani (od 50 lat). Wykonaj zestawienie, w którym dla każdej kategorii wiekowej podasz największą liczbę ocen wystawionych jednej grze przez użytkowników z tej kategorii wiekowej oraz nazwy gier z tą liczbą ocen. Jeżeli gier, które otrzymały taką samą największą liczbę ocen od użytkowników z danej kategorii wiekowej, jest więcej niż jedna – podaj tytuły ich wszystkich.