Arkusz maturalny z informatyki rozszerzonej, maj 2023 (Formuła 2023). Rozwiąż zamknięte części zadań online i sprawdź odpowiedzi, pobierz PDF z pełną treścią, dane do zadań oraz klucz CKE.
Arkusz maturalny z informatyki na poziomie rozszerzonym z sesji maj 2023 (Formuła 2023). Egzamin trwał 210 minut, można było zdobyć 50 punktów. Poniżej znajdziesz interaktywne wersje zamkniętych części zadań – uzupełnij puste pola i kliknij Sprawdź, aby od razu sprawdzić poprawność (odpowiedzi pochodzą z klucza CKE).
W zadaniach z konkretną odpowiedzią (liczba, wartość, lista) wpisz swój wynik i kliknij Sprawdź. W zadaniach otwartych (napisz program, algorytm, zapytanie SQL) kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE. Pełną treść zadań znajdziesz też w arkuszu PDF.
Adam przechowuje swoje książki w biblioteczce zbudowanej z półek ponumerowanych kolejno 0, 1, 2, … (zaczynając od półki położonej najwyżej). Półka o numerze i ma 2^i przegródek, w których umieszczane są książki. W jednej przegródce można umieścić tylko jedną książkę. Przegródki na i-tej półce są ponumerowane od lewej do prawej kolejnymi liczbami 1, 2, 3, …, 2^i.
Jako B[i, j] oznaczamy j-tą przegródkę na i-tej półce.
Przykład 1. Szara komórka to przegródka B[3, 4].
Każda książka ma swój numer identyfikacyjny.
Adam ustawia książki na półkach, zawsze zaczynając od przegródki B[0,1]. Stosuje przy tym następującą, rekurencyjną regułę: Adam sprawdza, czy przegródka B[i, j] (i ≥ 0 oraz 1 ≤ j ≤ 2^i) jest pusta. Jeśli tak, umieszcza książkę w tej przegródce. W przeciwnym przypadku porównuje numer wstawianej książki z numerem książki w przegródce. Jeśli numer wstawianej książki jest mniejszy od numeru książki stojącej w przegródce, próbuje umieścić książkę na kolejnej półce w przegródce B[i + 1, 2j – 1]. Jeśli numer wstawianej książki jest większy od numeru książki w przegródce, to próbuje umieścić książkę w przegródce B[i + 1, 2j].
Przykład 2. Poniżej przedstawiono zawartość biblioteczki po wstawieniu do niej książek kolejno o numerach: 10, 2, 15, 13, 1, 5, 25 (zakładamy, że przedtem biblioteczka była pusta).
Rozmieszczenie książek na półkach: półka 0 – przegródka 1: 10; półka 1 – przegródka 1: 2, przegródka 2: 15; półka 2 – przegródka 1: 1, przegródka 2: 5, przegródka 3: 13, przegródka 4: 25.
Przykład 3. Poniżej przedstawiono zawartość biblioteczki po wstawieniu do niej książek kolejno o numerach: 1, 5, 10, 15, 2, 25, 13 (zakładamy, że przedtem biblioteczka była pusta).
Rozmieszczenie książek na półkach: półka 0 – przegródka 1: 1; półka 1 – przegródka 2: 5; półka 2 – przegródka 3: 2, przegródka 4: 10; półka 3 – przegródka 8: 15; półka 4 – przegródka 15: 13, przegródka 16: 25.
Podaj zawartość biblioteczki po wstawieniu do niej kolejno książek o numerach: 14, 18, 12, 9, 20, 15, 17.
Numery książek wpisz we właściwe miejsca na schemacie biblioteczki.
Poniżej podaj zawartość kolejnych zapełnionych przegródek w formacie półka,przegródka:numer – po jednym wpisie w wierszu – a następnie kliknij Sprawdź.
Wzorcowe rozmieszczenie z klucza CKE: półka 0 – przegródka 1: 14; półka 1 – przegródka 1: 12, przegródka 2: 18; półka 2 – przegródka 1: 9, przegródka 3: 15, przegródka 4: 20; półka 3 – przegródka 6: 17.
Uzupełnij tabelę – wpisz, ile minimalnie, a ile maksymalnie musi być półek w biblioteczce, żeby można było umieścić w niej n książek i żeby na ostatniej półce znalazła się co najmniej jedna książka.
n – liczba książek | Minimalna liczba półek | Maksymalna liczba półek |
|---|---|---|
| 1 | 1 | 1 |
| 3 | 2 | 3 |
| 4 | 3 | 4 |
| 7 | ||
| 16 | 5 | |
| 31 | ||
| 32 | ||
2^k – 1, dla k > 0 |
Kolega Adama, oglądający biblioteczkę, stwierdził, że aby wypisać wszystkie numery książek umieszczonych na półkach, można posłużyć się podanym poniżej rekurencyjnym algorytmem A, którego działanie rozpoczynamy od półki o numerze 0 i od przegródki o numerze 1. Zakładamy przy tym, że w biblioteczce jest co najmniej jedna książka.
A(i, j)
wypisz numer książki z przegródki B[i, j]
jeżeli przegródka B[i + 1, 2j – 1] nie jest pusta, to
wykonaj A(i + 1, 2j – 1)
jeżeli przegródka B[i + 1, 2j] nie jest pusta, to
wykonaj A(i + 1, 2j)Dla biblioteczki z siedmioma książkami z przykładu 2. algorytm A wypisze: 10, 2, 1, 5, 15, 13, 25.
Podaj ciągi liczb wypisane przez algorytm A dla podanych zawartości biblioteczki.
a) Zawartość biblioteczki:
Półka 0 – przegródka 1: 9; półka 1 – przegródka 1: 2, przegródka 2: 12; półka 2 – przegródka 3: 10, przegródka 4: 14; półka 3 – przegródka 7: 13, przegródka 8: 15.
b) Zawartość biblioteczki:
Półka 0 – przegródka 1: 10; półka 1 – przegródka 1: 8, przegródka 2: 15; półka 2 – przegródka 1: 4, przegródka 3: 12; półka 3 – przegródka 2: 6, przegródka 5: 13.
Poniżej podaj ciąg dla wariantu a) i ciąg dla wariantu b) (liczby oddzielone przecinkami i spacją), po jednym w wierszu, a następnie kliknij Sprawdź.
W tym zadaniu rozważamy binarny zapis liczb całkowitych dodatnich.
Blokiem w zapisie binarnym liczby nazywamy każdy niepusty, maksymalny (nie można go rozszerzyć ani z lewej, ani z prawej strony) ciąg kolejnych takich samych cyfr w tym zapisie.
Przykład: Liczba binarna 111110000110111 składa się z pięciu bloków – trzech bloków złożonych z jedynek (11111, 11 i 111) i dwóch bloków złożonych z zer (0000 i 0). Liczba binarna 1111111111111111 składa się z jednego bloku złożonego z jedynek.
Informacja do zadań 2.2. i 2.3. W pliku bin.txt znajduje się 100 wierszy. Każdy wiersz zawiera zapis binarny dodatniej liczby całkowitej składający się z co najwyżej dwudziestu cyfr (0 lub 1).
Napisz program(-y), który(-e) da(-dzą) odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku wyniki2.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Plik bin_przyklad.txt zawiera 100 wierszy przykładowych danych spełniających warunki zadania. Odpowiedzi dla danych z pliku bin_przyklad.txt są podane pod treściami zadań.
Zapisz w pseudokodzie lub w wybranym języku programowania algorytm, który dla danej dodatniej całkowitej liczby n obliczy liczbę bloków w jej zapisie binarnym.
Przykład: Dla liczby 67 wynikiem jest 3, ponieważ 67 w zapisie binarnym to 1000011 (dwa bloki jedynek i jeden blok zer). Dla liczby 245 wynikiem jest 5, ponieważ 245 w zapisie binarnym to 11110101 (trzy bloki jedynek i dwa bloki zer).
Uwaga: W zapisie algorytmu możesz korzystać tylko z instrukcji sterujących, operatorów arytmetycznych: dodawania, odejmowania, mnożenia, dzielenia, dzielenia całkowitego i reszty z dzielenia; operatorów logicznych, porównań, instrukcji przypisania lub samodzielnie napisanych funkcji i procedur wykorzystujących powyższe operacje. Zabronione jest używanie funkcji wbudowanych oraz operatorów innych niż wymienione, dostępnych w językach programowania, w tym zwłaszcza funkcji zamiany między systemami pozycyjnymi i konwersji między typami danych.
n – dodatnia liczba całkowita
Wynik
b – liczba bloków w zapisie binarnym liczby nKliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE.
Uwaga: to zadanie otwarte – odpowiedź z klucza CKE jest jedynie przykładowa; istnieją również inne poprawne rozwiązania.
b ← 1 poprzednia ← n mod 2 n ← n div 2 dopóki (n > 0) cyfra ← n mod 2 jeśli cyfra ≠ poprzednia b ← b + 1 poprzednia ← cyfra n ← n div 2
Podaj, ile liczb w pliku bin.txt składa się z co najwyżej dwóch bloków (zgodnie z definicją bloku podaną wcześniej).
Dla danych z pliku bin_przyklad.txt poprawna odpowiedź to 3.
Poniżej podaj odpowiedź dla pełnego pliku bin.txt i kliknij Sprawdź.
Liczba liczb:
Wypisz największą z liczb zapisanych w pliku bin.txt.
Dla danych z pliku bin_przyklad.txt poprawna odpowiedź to 10001111110111100000.
Poniżej podaj odpowiedź dla pełnego pliku bin.txt (zapis binarny) i kliknij Sprawdź.
Największa liczba (binarnie):
Dla nieujemnych liczb całkowitych a i b wynikiem operacji a XOR b jest liczba, której kolejne bity są wyliczane na podstawie poniższej tabeli z odpowiadających sobie bitów w zapisie binarnym liczb a i b. Jeśli jeden zapis jest krótszy od drugiego, to uzupełniamy go zerami z lewej strony (na najbardziej znaczących pozycjach).
p | q | p XOR q |
|---|---|---|
| 1 | 1 | 0 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 0 | 0 | 0 |
np. 4 XOR 7 = 100₂ XOR 111₂ = 011₂ = 3₁₀ 6 XOR 11 = 0110₂ XOR 1011₂ = 1101₂ = 13₁₀
Oblicz (123₁₀ XOR 101101₂) XOR 2D₁₆. Wynik podaj w systemie dziesiętnym.
Poniżej podaj odpowiedź i kliknij Sprawdź.
Wynik (dziesiętnie):
Napisz program, który dla każdej binarnej liczby p zapisanej w pliku bin.txt obliczy wynik działania p XOR (p div 2), gdzie XOR to operacja bitowa opisana wcześniej, a p div 2 oznacza połowę liczby p, zaokrągloną w dół do liczby całkowitej.
Otrzymane wyniki podaj w systemie binarnym. Zapisz je do pliku wyniki2_5.txt w kolejności występowania liczb w pliku bin.txt, każdy wynik w oddzielnym wierszu.
Odpowiedź dla danych z pliku bin_przyklad.txt znajduje się w pliku odp_bin_przyklad.txt.
Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE (100 wyników w systemie binarnym, w kolejności występowania liczb w pliku bin.txt).
1001011000 1111000001 1110001000 1101100001111010 110100010 1100110000110000 100010000 1110111101 1100110011 1110001100001 111110111101000 100110100011010 1000001000 11101010110100010 11101101111 1100001010101010 10011110101 1101000111100010001 1010000101110010 11101100000 1000000000 100000010010 1100010 11010011 110110000001000 1000010 10100110011001 1100011101111 101010110001 1001100100001111 100110000111 10100111101010 1111000110011000 101111110101 1110011111111011 11010110100100100 110000010 1000000110010011 1001111100001 1111011101 11000000000 10000101000011110 10100010111101 1 110001000 111110110011001 100110000 1101101011110100 110110101111 101110111001000100 1110110000100111 1010010011 100000000 1111110111100 10011110111001 110110101110000110 1101101000111101 111100010 100111010111001 110000010100 1010111011 1001110010010010010 101100111101 101011100111111100111 1101010101000 111110101011100 10000000 11010111000 11001110100 1010000011010111111 110110100101 11101100000110 1011110010101000000 1001010001010010 10101100111 10000110011 100010101000010 110011000100 10010110000110 101010010111001 1100011110 1011100110001011110 101001110111001 1001100101101011 10000000 11110110010101011 1101011010110 1100010010111001 11010001001100011 1010101001001 100000000 1100010010010 1111100011000 1011111011110100 11100101101110101 110010111011011 1011000101011000000 11001011110011000
Pewien matematyk jest zafascynowany liczbą π ≈ 3,14159265... do tego stopnia, że zapisał jej rozwinięcie dziesiętne z dokładnością do 10 000 cyfr po przecinku. Wszystkie cyfry po przecinku zapisał w pliku tekstowym pi.txt.
Plik pi.txt zawiera 10 000 wierszy, każdy wiersz zawiera jedną cyfrę. W pierwszych 10 wierszach pliku zapisano zatem cyfry: 1, 4, 1, 5, 9, 2, 6, 5, 3, 5.
Matematyk zastanawia się, jakiego rodzaju regularności można zaobserwować w zebranych danych.
Napisz program(y), który(-e) da(-dzą) odpowiedzi do poniższych zadań. Odpowiedzi do zadań zapisz w pliku wyniki3.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Plik pi_przyklad.txt zawiera 100 pierwszych wierszy pliku pi.txt. Odpowiedzi dla danych z tego pliku są podane pod treściami zadań.
Fragmentem 2-cyfrowym nazywamy dwie następujące po sobie cyfry w pliku pi.txt. Wszystkich fragmentów 2-cyfrowych zapisanych w tym pliku jest 9 999. Ostatni rozpoczyna się w wierszu nr 9 999.
Przykładowe fragmenty 2-cyfrowe podano w poniższej tabeli.
i | Fragment 2-cyfrowy złożony z cyfr na pozycjach i, i+1 |
|---|---|
| 1 | 14 |
| 2 | 41 |
| 3 | 15 |
| 9 | 35 |
Znajdź liczbę wszystkich fragmentów 2-cyfrowych, które są zapisami dziesiętnymi liczb o wartościach większych od 90.
Dla danych zapisanych w pliku pi_przyklad.txt poprawna odpowiedź to 13.
Poniżej podaj odpowiedź dla pełnego pliku pi.txt i kliknij Sprawdź.
Liczba fragmentów:
Wszystkich możliwych różnych fragmentów 2-cyfrowych jest dokładnie 100. Są nimi fragmenty 00, 01, 02, …, 99. Można sprawdzić, że np. 2-cyfrowy fragment równy 27 występuje w pliku pi.txt dokładnie 101 razy.
Znajdź fragmenty 2-cyfrowe, których liczba wystąpień w pliku pi.txt jest najmniejsza, oraz fragmenty 2-cyfrowe, których liczba wystąpień w pliku pi.txt jest największa. W wyniku podaj znalezione fragmenty 2-cyfrowe oraz liczby ich wystąpień.
W przypadku, gdy więcej niż jeden fragment występuje tyle samo razy, wypisz ten o mniejszej wartości liczbowej.
Dla danych w pliku pi_przyklad.txt poprawna odpowiedź to: 00 0 oraz 62 4 (minimalna liczba wystąpień: fragment 00, liczba wystąpień 0; maksymalna liczba wystąpień: fragment 62, liczba wystąpień 4).
Poniżej podaj odpowiedź dla pełnego pliku pi.txt – w pierwszym wierszu fragment o najmniejszej liczbie wystąpień i jego liczbę wystąpień, w drugim fragment o największej liczbie wystąpień i jego liczbę wystąpień (oddzielone spacją) – a następnie kliknij Sprawdź.
Informacja do zadań 3.3. i 3.4. Skończony co najmniej 4-elementowy ciąg liczb (a₁, a₂, …, aₙ) jest rosnąco-malejący, jeśli można podzielić go na dwa ciągi, z których pierwszy jest rosnący, a drugi – malejący, tzn. jeśli istnieje takie k ∈ {2, 3, …, n – 2}, że a₁ < a₂ < … < aₖ oraz aₖ₊₁ > aₖ₊₂ > … > aₙ.
Przykład: Ciąg (2, 5, 7, 9, 8, 3, 1) jest rosnąco-malejący, bo można go podzielić na dwa ciągi: rosnący (2, 5, 7) i malejący (9, 8, 3, 1) lub – odpowiednio – (2, 5, 7, 9) i (8, 3, 1). Ciąg (5, 9, 9, 4,1) także jest rosnąco-malejący. Przykłady ciągów, które nie są rosnąco-malejące, to: (2, 5, 8, 4, 3, 4, 5), (1, 2, 3, 4), (5, 5, 3, 2, 1).
Podaj, ile jest wszystkich rosnąco-malejących ciągów złożonych z dokładnie sześciu kolejnych cyfr zapisanych w pliku pi.txt.
Dla pliku pi_przyklad.txt poprawna odpowiedź to 3 (w pliku pi_przyklad.txt są trzy ciągi rosnąco-malejące złożone z dokładnie sześciu cyfr: 028841, 089986, 899862).
Poniżej podaj odpowiedź dla pełnego pliku pi.txt i kliknij Sprawdź.
Liczba ciągów:
Znajdź najdłuższy ciąg kolejnych cyfr z pliku pi.txt, który jest rosnąco-malejący, oraz pozycję, na której on się rozpoczyna. W pliku pi.txt jest tylko jeden taki ciąg o największej długości.
Wynik zapisz w dwóch wierszach: w pierwszym wierszu zapisz pozycję, od której zaczyna się znaleziony ciąg, a w drugim wypisz znaleziony ciąg. Cyfry ciągu zapisz jedną po drugiej, bez znaku odstępu.
Dla danych w pliku pi_przyklad.txt poprawna odpowiedź to: 77 oraz 0899862 (najdłuższy ciąg rosnąco-malejący w pliku pi_przyklad.txt to ciąg 0899862 o długości 7 rozpoczynający się w 77 wierszu pliku).
Poniżej podaj odpowiedź dla pełnego pliku pi.txt – w pierwszym wierszu pozycję, w drugim znaleziony ciąg – a następnie kliknij Sprawdź.
Oceń prawdziwość podanych zdań. Zaznacz P, jeśli zdanie jest prawdziwe, albo F – jeśli jest fałszywe.
W komunikacji między dwoma osobami A i B z wykorzystaniem szyfrowania asymetrycznego klucz prywatny osoby A stosuje się do
| Nr | Zdanie | P / F |
|---|---|---|
| 1. | odszyfrowania wiadomości wysłanej do osoby A przez osobę B. | |
| 2. | uwierzytelnienia osoby B przez osobę A. |
Dane są liczby zapisane w systemach pozycyjnych o podstawach 3, 5 i 6. Wstaw w miejsce kropek odpowiedni znak spośród: <, >, =, tak aby wyrażenie było poprawne.
(2011)₃ = (134)₆
(134)₅ (134)₆
(2222)₃ (1111)₆
W pliku owoce.txt zapisano informacje o dostawach owoców do przetwórni w okresie od 01.05.2020 do 30.09.2020.
W każdym wierszu podane są: data dostawy (dd.mm.rrrr), liczba kilogramów dostarczonych malin, liczba kilogramów dostarczonych truskawek i liczba kilogramów dostarczonych porzeczek, oddzielone znakami tabulacji.
Dostawy odbywały się każdego dnia w wymienionym okresie.
Przykład:
| data | dostawa_malin | dostawa_truskawek | dostawa_porzeczek |
|---|---|---|---|
| 01.05.2020 | 211 | 281 | 88 |
| 02.05.2020 | 393 | 313 | 83 |
| 03.05.2020 | 389 | 315 | 104 |
| 04.05.2020 | 308 | 221 | 119 |
Z wykorzystaniem dostępnych narzędzi informatycznych podaj odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku wyniki6.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Informacja do zadań 6.3. i 6.4. Przetwórnia produkuje konfitury: malinowo-truskawkowe, malinowo-porzeczkowe oraz truskawkowo-porzeczkowe (zawsze z proporcji owoców 1:1 oraz z wykorzystaniem maksymalnej dostępnej ilości owoców). Decyzja, jaka konfitura w danym dniu będzie produkowana, zależy od ilości owoców w przetwórni.
Owoce są dostarczane do przetwórni rano, przed rozpoczęciem produkcji. W danym dniu jest produkowany tylko jeden rodzaj konfitur. Do produkcji są brane owoce, których jest najwięcej w przetwórni (dla danych w pliku owoce.txt nie występuje przypadek, gdy ilość różnych owoców jest taka sama). Owoce niewykorzystane do produkcji są przechowywane w chłodni do następnego dnia. W następnym dniu podejmuje się decyzję o produkcji na ten dzień na podstawie łącznej ilości owoców pozostałych z poprzedniego dnia oraz dostarczonych rano.
Przykład: Jeżeli 01.05.2020 dostarczono 211 kg malin, 281 kg truskawek i 88 kg porzeczek, to w tym dniu będzie produkowana konfitura malinowo-truskawkowa. Do produkcji wykorzystane zostanie 211 kg malin i 211 kg truskawek. Reszta truskawek i wszystkie porzeczki będą przechowywane w chłodni do następnego dnia. Po dostawie z 02.05.2020 (393 kg malin, 313 kg truskawek i 83 kg porzeczek) w przetwórni będzie 393 kg malin, 383 kg truskawek i 171 kg porzeczek, czyli znowu będzie produkowana konfitura malinowo-truskawkowa.
Po uwzględnieniu opisanego powyżej cyklu produkcyjnego oraz danych zapisanych w pliku owoce.txt podaj odpowiedzi do poniższych zadań.
Dla każdego miesiąca pracy przetwórni (od maja do września) wykonaj zestawienie liczby dostarczonych kilogramów malin, liczby dostarczonych kilogramów truskawek i liczby dostarczonych kilogramów porzeczek.
Na podstawie wykonanego zestawienia utwórz wykres kolumnowy. Pamiętaj o czytelnym opisie wykresu (tytuł, legenda, opisy osi: na osi X – nazwy miesięcy, na osi Y – liczba kilogramów).
Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE.
Zestawienie łącznej liczby dostarczonych kilogramów owoców w poszczególnych miesiącach:
miesiąc | dostawa_malin | dostawa_truskawek | dostawa_porzeczek
maj | 9238 | 9287 | 3309
czerwiec | 9485 | 8916 | 5081
lipiec | 11592 | 11339 | 10567
sierpień | 11045 | 11386 | 11078
wrzesień | 6532 | 7476 | 6355
Na podstawie zestawienia tworzymy wykres kolumnowy zatytułowany „Zestawienie dostaw owoców od maja do września w roku 2020": na osi X – nazwy miesięcy, na osi Y – liczba kilogramów, legenda – Maliny, Truskawki, Porzeczki.
Podaj liczbę dni, w których dostarczono, spośród trzech rodzajów owoców, najwięcej porzeczek.
Poniżej podaj odpowiedź i kliknij Sprawdź.
Liczba dni:
Podaj, ile razy, w okresie od 01.05.2020 do 30.09.2020, produkowano konfitury poszczególnych rodzajów.
Poniżej podaj liczbę dni produkcji dla każdego rodzaju konfitur i kliknij Sprawdź.
Konfitury malinowo-porzeczkowe:
Konfitury malinowo-truskawkowe:
Konfitury truskawkowo-porzeczkowe:
Na wyprodukowanie 1 kg konfitur dwuowocowych potrzeba po 1 kg każdego owocu. Podaj, ile kilogramów konfitur każdego rodzaju wyprodukowano w okresie od 01.05.2020 do 30.09.2020.
Poniżej podaj liczbę kilogramów dla każdego rodzaju konfitur i kliknij Sprawdź.
Konfitury malinowo-porzeczkowe [kg]:
Konfitury malinowo-truskawkowe [kg]:
Konfitury truskawkowo-porzeczkowe [kg]:
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:
| Pole | Opis |
|---|---|
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:
| Pole | Opis |
|---|---|
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 | Przemyslaw | 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:
| Pole | Opis |
|---|---|
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ń 7.1.–7.4. Odpowiedzi zapisz w pliku wyniki7.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Podaj tytuł gry, która otrzymała najwięcej ocen.
Poniżej podaj odpowiedź i kliknij Sprawdź.
Tytuł gry:
Dla każdej gry z kategorii „imprezowa" podaj średnią jej ocen z dokładnością do dwóch miejsc po przecinku.
Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE.
nazwa | Średnia ocena 5 sekund | 8,16 Avalone | 8,25 Colt Express | 7,54 Jenga | 8,16 Koncept | 8,37 Mamy szpiega | 8,22 Przebiegle wielblady | 7,73 Sushi Go | 8,07 Swiatowy Konflikt | 7,80 Szeryf z Nottingham | 7,88
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ę.
Poniżej podaj odpowiedź i kliknij Sprawdź.
Liczba graczy:
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.
Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE.
Kategoria | Tytuł gry | Liczba ocen juniorzy | Terraformacja Marsa | 6 juniorzy | K2 | 6 seniorzy | K2 | 24 weterani | Robinson Crusoe | 28
Do wcześniej opisanych tabel bazy danych dołączamy kolejną o nazwie sklep, w której zapisano cennik gier sprzedawanych w pewnym sklepie. Tabela zawiera następujące pola:
| Pole | Opis |
|---|---|
id_gry | identyfikator gry |
cena | cena gry |
promocja | informacja, czy cena jest ceną promocyjną (wartość true – jeśli cena jest promocyjna albo false – kiedy nie jest promocyjna) |
Tabele gry i sklep są połączone relacją jeden do wielu.
Uwaga:
gra może mieć dwie ceny (cena w promocji i cena bez promocji), tj. może występować w tabeli sklep dwa razy
tabela sklep zawiera tylko identyfikatory gier, które są w ofercie sklepu (nie musi zawierać wszystkich identyfikatorów z tabeli gry).
Zapisz zapytanie SQL, w wyniku którego uzyskamy informację, ile należałoby zapłacić za zakup w tym sklepie po jednej sztuce ze wszystkich gier logicznych (kategoria „logiczna") dostępnych w cenach promocyjnych.
Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe zapytanie z klucza CKE.
Uwaga: to zadanie otwarte – zapytanie z klucza CKE jest jedynie przykładowe; to samo zadanie można rozwiązać też innym poprawnym zapytaniem SQL.
SELECT Sum(cena) FROM Gry INNER JOIN Sklep ON Gry.id_gry = Sklep.id_gry WHERE Gry.kategoria = "logiczna" and Sklep.promocja = true;