Matura 2017 (maj). Zadanie 6. Wybory
W plikach tekstowych uczniowie.txt, glosy.txt oraz kandydaci.txt zapisano wyniki głosowania w wyborach do Parlamentu Uczniowskiego pewnego liceum. Pierwszy wiersz każdego z plików jest wierszem nagłówkowym, poszczególne informacje w każdym wierszu rozdzielone są znakami tabulacji.
Plik o nazwie uczniowie.txt zawiera 2100 wierszy z informacjami dotyczącymi wszystkich uczniów szkoły. W każdym wierszu znajdują się: identyfikator ucznia (id_ucznia), imię (imie), nazwisko (nazwisko) oraz oznaczenie klasy (klasa) i rok nauki ucznia (rok_nauki).
Przykład:
id_ucznia | imie | nazwisko | klasa | rok_nauki |
1600 | Mateusz | Zgid | A | 3 |
1601 | Teresa | Budzisz | A | 3 |
1602 | Klaudia | Antczak | A | 3 |
W pliku glosy.txt, w każdym z 4100 wierszy, zapisane są: identyfikator głosu (id_glosu), identyfikator głosującego ucznia (id_ucznia), identyfikator kandydata, na którego oddano ten głos (id_kandydata).
Przykład:
id_glosu | id_ucznia | id_kandydata |
1 | 1739 | 67 |
2 | 1639 | 16 |
3 | 1746 | 11 |
4 | 1613 | 77 |
Uwaga: jeden uczeń mógł głosować na kilku kandydatów.
W pliku kandydaci.txt zapisano 78 wierszy z informacjami o kandydatach do Parlamentu Uczniowskiego: identyfikator kandydata (id_kandydata), imię (imie), nazwisko (nazwisko).
Przykład:
id_kandydata | imie | nazwisko |
1 | Faustyn | Augustowski |
2 | Karolina | Adamczyk |
3 | Milena | Karwik |
Wykorzystaj dane zawarte w plikach oraz dostępne narzędzia informatyczne i wykonaj poniższe zadania. Odpowiedzi zapisz w pliku wyniki6.txt, a każdą odpowiedź poprzedź numerem odpowiedniego zadania.
Pobieranie danych do programu. Zadanie zostało rozwiązane za pomocą MS Access.
Krok 1. Pobieranie danych zapisanych w plikach tekstowych do aplikacji.
Krok 2. Wybór pliku do pobrania.
Krok 3. Kreator pobierania danych z pliku do tabeli.
Krok 4.
Krok 5. Sprawdzenie czy pobierane dane są odpowiedniego typu.
Krok 6. Wybór klucza podstawowego dla pola w tabeli.
Krok 7.
Krok 8. Tworzenie relacji.
Krok 9. Należy zaznaczyć „Wymuszaj więzy integralności” przy tworzeniu relacji.
Krok 10.
Zadanie 1.
Imiona wszystkich dziewcząt w zestawieniu kończą się literą „a”, natomiast imiona chłopców nie kończą się literą „a”. Podaj ile dziewcząt i ilu chłopców jest uczniami szkoły, w której przeprowadzono wybory.
Rozwiązanie:
Komentarz:
Pierwszy krokiem jest utworzenie nowej kolumny z informacją, czy podane imię jest męskie czy żeńskie. Wykonać to można za pomocą instrukcji warunkowej IIF oraz należy wybrać ostatnią literę imienia poprzez wykorzystanie funkcji RIGHT i zwrócenie ostatniej litery. Po sprawdzeniu imienia, należy policzyć ile razy występuje wyrażeniu 1 wybrana litera. Po uruchomieniu mamy wynik: K = 976, M = 1124.
Wykorzystane funkcje:
Wyr1: IIf(Right([Uczniowie]![imie];1)=”a”;”K”;”M”)
Wyr2: Policz([Wyr1])
Zadanie 2.
Prezydium Parlamentu Uczniowskiego (w skrócie: PPU) składa się z 10 osób, które uzyskały największą liczbę głosów. Podaj skład PPU – dla każdej osoby podaj imię, nazwisko oraz uzyskaną liczbę głosów. Zestawienie posortuj nierosnąco ze względu na liczbę uzyskanych głosów.
Rozwiązanie:
Komentarz:
Należy utworzyć kwerendę zawierająca pola imie, nazwisko z tabeli Kandydaci orz id_kandydata z tabeli Glosy. Po wybraniu należy wybrać podsumowanie i dla pola id_kandydata należy wybrać funkcję policz. Dodatkowo należy posortować malejąca wg uzyskanych głosów (id_kandydata z tabeli Glosy). Na zakończenie należy wybrać ilość zwracanych rekordów (należy zwrócić 10).
Zadanie 3.
Podaj, ilu uczniów nie wzięło udziału w wyborach (nie oddało żadnego głosu).
Rozwiązanie:
Komentarz:
Do rozwiązania zadania należy utworzyć kwerendę wyszukującą niedopasowane dane. Tworzymy taką kwerendę dodajemy pola id_ucznia z tabeli Uczniowie oraz id_ucznia z tabeli Glosy. Należy policzyć pola id_ucznia z tabeli Uczniowie, zaś w kryteriach należy dodać kryteria IsNull dla pola id_ucznia z tabeli Glosy. Po uruchomieniu kwerendy mamy wynik: 697 uczniów nie głosowało.
Zadanie 4.
Dla każdego rocznika (rok_nauki) podaj średnią liczbę głosów oddanych przez uczniów jednej klasy tego rocznika. Wyniki podaj zaokrąglone do dwóch miejsc po przecinku.
Rozwiązanie:
Komentarz:
Zadanie zostało wykonane poprzez utworzenie dwóch kwerend pomocniczych. Kwerendy te mają na celu wybranie ilość klas w danym roczniku. Na przykład rocznik pierwszy może zawierać inną ilość klas niż rocznik drugi. Średnia na rok jest obliczona z ilorazu ilości głosów oddanych przez uczniów w jednym roczniku na ilość klas w obliczanym roczniku.