Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. WPISUJE ZDAJĄCY KOD PESEL Miejsce na naklejkę EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY CZĘŚĆ I DATA: 10 stycznia 2015 r. CZAS PRACY: 60 minut LICZBA PUNKTÓW DO UZYSKANIA:15 WYBRANE:... (środowisko)... (kompilator)... (program użytkowy) Instrukcja dla zdającego 1. Sprawdź, czy arkusz egzaminacyjny zawiera 10 stron Ewentualny brak zgłoś przewodniczącemu zespołu nadzorującego egzamin. 2. Rozwiązania i odpowiedzi zamieść w miejscu na to przeznaczonym. 3. Pisz czytelnie. Używaj długopisu/pióra tylko z czarnym tuszem/atramentem. 4. Nie używaj korektora, a błędne zapisy wyraźnie przekreśl. 5. Pamiętaj, że zapisy w brudnopisie nie podlegają ocenie. 6. Wpisz zadeklarowane (wybrane) przez Ciebie na egzamin środowisko komputerowe, kompilator języka programowania oraz program użytkowy. 7. Jeżeli rozwiązaniem zadania lub jego części jest algorytm, to zapisz go w wybranej przez siebie notacji: listy kroków lub języka programowania, który wybrałeś/aś na egzamin. 8. Na karcie odpowiedzi wpisz swój numer PESEL i przyklej naklejkę z kodem. 9. Nie wpisuj żadnych znaków w części przeznaczonej dla egzaminatora.
Zadanie 1. Kodowanie obrazów (0-6) Czarno-biały obraz (bitmapę) przedstawioną poniżej można zakodować jako ciąg znaków: C C C C C 5 C C B B B B C 4 B C B B B B C 4 B C B B B B C 4 B C C B B B C C 3 B 5CC4BC4BC4BCC3B W tej reprezentacji litera C oznacza kolor czarny, a B oznacza kolor biały. Dla każdego wiersza zastępujemy powtarzające się kolejne znaki (co najmniej 3) liczbą ich wystąpień i jednym wzorcem tego znaku. Zadanie 1.1. Który z poniższych obrazów (o wymiarach 5x5) zakodowano ciągiem znaków 4BC3CBC3BCC5B5C? a) b) c) d) Zadanie 1.2 Poniższy obraz zakodowano zgodnie z podanym sposobem. Który ciąg znaków odpowiada przedstawionemu obrazowi? a) 5B3C4BCC4B3C3B b) 5C3B4CB4CB4C3B c) 5C3BCCB4CB4CBC3B d) 5B3C4BCC3B4C3C3B Strona 2 z 10
Zadanie 1.3. Ile jest różnych czarno-białych bitmap o wymiarach 5x5? (Wynik możesz podać w postaci wyrażenia liczbowego) Zadanie 1.4. Ile wynosi długość najkrótszego kodu bitmapy o wymiarach 5x5? Ile wynosi długość najdłuższego kodu bitmapy o wymiarach 5x5? Zadanie 1.5. W tablicy BM[1..5] zapisano jeden wiersz bitmapy, w którym BM[i] ma jedną z dwóch wartości: C lub B, dla każdego i = 1,..., 5. Rozważ następujący fragment programu: d 0 zn BM[1] k 1 dla i = 2, 3, 4, 5 wykonuj jeżeli BM[i] = zn k k+1 w przeciwnym przypadku jeżeli k = 1 d d+1 w przeciwnym przypadku d d+2 zn BM[i] k 1 jeżeli k = 1 d d+1 w przeciwnym przypadku d d+2 Podaj wartość zmiennej d po wykonaniu programu dla poszczególnych wierszy bitmapy z zadania 1.1.a. wiersz 1 wiersz 2 wiersz 3 wiersz 4 wiersz 5 Strona 3 z 10
Zadanie 1.6. Rodzaj kompresji opisany w tym zadaniu jest a) bezstratny. b) stratny, ale tylko w około 10%. c) stratny, a strata stanowi aż około 30%. d) strata zależy od rysunku. Wypełnia egzaminator Nr zadania 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. Maks. liczba pkt 1 1 1 1 1 1 Uzyskana liczba pkt Zadanie 2. Cykle (0-6) Mówimy, że słowo x jest k-cykliczne, jeśli składa się ono z k powtórzeń dowolnego, niepustego słowa y. Cyklem słowa x nazywamy największe k takie, że x jest k-cykliczne. Przykłady: x Cykl x Wartości k, dla których x jest k-cykliczne Słowa y dla kolejnych k aaaaaa 6 1, 2, 3, 6 aaaaaa, aaa, aa, a abcabc 2 1, 2 abcabc, abc abababab 4 1, 2, 4 abababab, abab, ab abcab 1 1 abcab ababc 1 1 ababc bbbbb 5 1, 5 bbbbb, b W całym zadaniu przyjmij, że: wywołanie funkcji dl(x) daje długość słowa x x[i] oznacza i-tą literę słowa x, pierwsza litera ma indeks 1 a mod b jest równe reszcie z dzielenia liczby a przez liczbę b. Poniższy algorytm sprawdza, czy słowo x jest 2-cykliczne. Specyfikacja Dane: x niepuste słowo Wynik: TAK, gdy x jest 2-cykliczne; NIE w przeciwnym przypadku Algorytm 1. jeżeli dl(x) mod 2 0 to wypisz NIE i zakończ wykonywanie algorytmu 2. n dl(x)/2 3. dla j = 1,2,,n jeżeli x[j] x[j+n] to wypisz NIE i zakończ wykonywanie algorytmu 4. wypisz TAK i zakończ wykonywanie algorytmu Strona 4 z 10
Zadanie 2.1. Uzupełnij brakujące komórki poniższej tabeli tak, aby każde słowo miało długość 12 i podany cykl. Dla każdego słowa podaj wartości k, dla których to słowo jest k-cykliczne, oraz wartości wyniku obliczonego przez powyższy algorytm dla tego słowa. Słowo Cykl Dla jakich k jest k-cykliczne Wynik algorytm a a a a a b a a a a a b 2 1, 2 TAK a b 6 b a b 4 a a a b 3 Miejsce na obliczenia: Zadanie 2.2. Podaj algorytm zgodny z poniższą specyfikacją, który dla podanego słowa x i liczby k sprawdza, czy x jest k-cykliczne. Specyfikacja Dane: x niepuste słowo, k dodatnia liczba naturalna Wynik: TAK gdy x jest k-cykliczne; NIE w przeciwnym przypadku Strona 5 z 10
Algorytm Zadanie 2.3. Uzupełnij brakujące miejsca w poniższym zapisie algorytmu tak, aby zgodnie z poniższą specyfikacją obliczał cykl podanego słowa x. Długość słowa x jest potęgą dwójki. Specyfikacja Dane: x słowo, którego długość jest potęgą dwójki Wynik: cykl słowa x Wskazówka Niech x będzie słowem, którego długość jest potęgą dwójki. Zauważ, że jeśli x = yy (czyli x jest 2-cykliczne), to cykl x jest dwukrotnie większy od cyklu słowa y. Na przykład: Słowo Długość słowa Czy 2-cykliczne? Strona 6 z 10 Słowo y Cykl pierwszej połowy (y) Cykl słowa (x) aaaaaaaa 8 Tak aaaa 4 8 aaabbbccaaabbbcc 16 Tak aaabbbcc 1 2 aaabaaabaaabaaab 16 Tak aaab 2 4 aaaaaaab 8 Nie brak Nie dotyczy 1
Algorytm 1. i dl(x) 2. k 1 3. dopóki i > 1 a. i.. b. dla j=1,2,,i jeżeli x[j] x[j+i] to podaj jako wynik k i zakończ wykonywanie algorytmu c. k 4. podaj k jako wynik Miejsce na obliczenia Wypełnia egzaminator Nr zadania 2.1 2.2. 2.3. Maks. liczba pkt 1 3 2 Uzyskana liczba pkt Strona 7 z 10
Zadanie 3. Tabele i relacje (0-3) Rozważmy relacyjną bazę danych z trzema tabelami: Loty, Pasażerowie, Rezerwacje. Poniżej podajemy opis, a w nawiasach nazwy kolumn poszczególnych tabel: Loty: identyfikator lotu (LotId), miejsce odlotu (Odlot), miejsce lądowania (Lądowanie), data (Data), godzina (Godz) Pasażerowie: nr paszportu (NrPasz), imię (Imię), nazwisko (Nazwisko), obywatelstwo (Obywatelstwo) Rezerwacje: nr paszportu (NrPasz), identyfikator lotu (LotId), data lotu (Data). Przyjmujemy, że dane spełniają następujące warunki: 1. numer paszportu jednoznacznie identyfikuje osobę, nie powtarza się nawet wśród osób o różnych obywatelstwach; 2. każdy lot ma inny identyfikator, w szczególności loty na tej samej trasie różnych przewoźników, w różnych dniach bądź godzinach, mają różne identyfikatory; 3. każdy wiersz tabeli Rezerwacje opisuje rezerwację miejsca dla osoby o podanym numerze paszportu na lot o wskazanym identyfikatorze. Poniżej podajemy przykładowe rekordy z tabel. Loty LotId Odlot Lądowanie Data Godz XYZ12 Warszawa Paryż 11.04.2012 7:45 ABC98 Helsinki Wrocław 17.04.2012 19:30 XYZ21 Paryż Warszawa 11.04.2012 11:25 Pasażerowie NrPasz Imię Nazwisko Obywatelstwo AB 1234567 Jan Kowalski Polskie CD 3217654 Joanna Nowak Polskie XA 2143657 Johann Schmidt Niemieckie Rezerwacje NrPasz LotId Data CD 3217654 XYZ21 11.04.2012 XA 2143657 XYZ21 11.04.2012 CD 3217654 ABC98 17.04.2012 Zadanie 3.1. W oparciu o powyższe informacje, dla wskazanych tabel podaj kolumnę lub grupę kolumn, która jest kluczem głównym. Odpowiedzi umieść w poniższej tabeli. Tabela Loty Klucz główny LotId Pasażerowie... Rezerwacje... Strona 8 z 10
Zadanie 3.2. Uzupełnij poniższą tabelę, podając dla podanych par tabel, czy występuje związek relacyjny między nimi (oparty na wspólnym kluczu). W przypadku odpowiedzi pozytywnej podaj rodzaj związku, wybierając jedną z możliwości: jeden do jeden, jeden do wielu, wiele do wielu. Tabela Tabela Czy występuje związek Rodzaj związku Loty Rezerwacje Tak jeden do wielu Pasażerowie Loty Rezerwacje Pasażerowie Zadanie 3.3. Wskaż, w której tabeli występuje kolumna, której usunięcie nie spowoduje utraty żadnych informacji w bazie danych oraz pozwoli uniknąć naruszenia integralności danych (np. wpisania sprzecznych informacji o lotach). Podaj odpowiednią tabelę i kolumnę, którą można z niej usunąć. Rozwiązując zadanie uwzględnij warunki opisane w punktach 1 3 tego zadania. Tabela:... Kolumna:... Wypełnia egzaminator Nr zadania 3.1 3.2 3.3 Maks. liczba pkt 1 1 1 Uzyskana liczba pkt Strona 9 z 10
BRUDNOPIS Strona 10 z 10