Arkusz maturalny z informatyki rozszerzonej, czerwiec 2023 w formule 2015 (stara formuła, termin dodatkowy). 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 czerwiec 2023 w formule 2015 (stara formuła, termin dodatkowy). Egzamin składał się z części I (60 minut, 15 punktów) oraz części II (150 minut, 35 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.
Dwie dodatnie liczby całkowite a i b nazwiemy przyjaciółkami, jeśli suma cyfr liczby a jest taka sama jak suma cyfr liczby b. Natomiast parę liczb a i b nazwiemy dobrymi przyjaciółkami, jeżeli są przyjaciółkami oraz pierwsza cyfra w zapisie dziesiętnym liczby a jest taka sama jak ostatnia cyfra w zapisie dziesiętnym liczby b lub odwrotnie (pierwsza cyfra w zapisie dziesiętnym liczby b jest taka sama jak ostatnia cyfra w zapisie dziesiętnym liczby a).
Przyjaciółkami są liczby 15 i 24, ale nie są dobrymi przyjaciółkami. Dobrymi przyjaciółkami są natomiast liczby 124 i 61 oraz 431 i 17.
Uzupełnij poniższą tabelę.
| a | b | Suma cyfr liczby a | Suma cyfr liczby b | Przyjaciółki (PRAWDA/FAŁSZ) | Dobre przyjaciółki (PRAWDA/FAŁSZ) |
|---|---|---|---|---|---|
| 433 | 352 | 10 | 10 | PRAWDA | PRAWDA |
| 131 | 50 | ||||
| 416 | 84 | ||||
| 32 | 221 |
Zapisz w pseudokodzie lub w wybranym języku programowania algorytm, który dla danych liczb a i b sprawdzi, czy są dobrymi przyjaciółkami, zgodnie z regułami podanymi wcześniej.
Uwaga: Twój algorytm może używać wyłącznie zmiennych przechowujących liczby całkowite oraz może operować wyłącznie na liczbach całkowitych. 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ń i instrukcji przypisywania 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. Nie wolno w szczególności korzystać z żadnych funkcji zamiany z typu znakowego lub napisowego na liczbowy i odwrotnie.
a, b – dodatnie liczby całkowite
Wynik:
PRAWDA, gdy liczby a i b są dobrymi przyjaciółkami, albo FAŁSZ – w przeciwnym przypadkuKliknij Pokaż odpowiedź, aby zobaczyć rozwiązanie z klucza CKE.
Uwaga: to zadanie otwarte – odpowiedź z klucza CKE jest jedynie przykładowa; istnieją również inne poprawne rozwiązania.
ka ← a mod 10 kb ← b mod 10 sa ← 0 sb ← 0 dopóki a>0 jeżeli a < 10 pa ← a sa ← sa + a mod 10 a ← a div 10 dopóki b>0 jeżeli b < 10 pb ← b sb ← sb + a mod 10 b ← b div 10 jeżeli sa = sb i (pa = kb lub pb = ka) wynik PRAWDA inaczej wynik FAŁSZ
Następujący rekurencyjny algorytm mnożenia dwóch liczb całkowitych dodatnich x, y jest realizowany z użyciem operacji arytmetycznych dodawania i dzielenia całkowitego przez 2.
iloczyn(x, y):
jeżeli y = 1
wynikiem jest x
w przeciwnym razie
k ← y div 2
z ← iloczyn(x, k)
jeżeli y mod 2 = 0
wynikiem jest z + z
w przeciwnym razie
wynikiem jest x + z + zUwaga: x mod y oznacza resztę z dzielenia x przez y, natomiast x div y oznacza wynik dzielenia całkowitego x przez y.
Dla danych liczb x, y interesuje nas liczba wykonywanych operacji dodawania podczas obliczania wyniku funkcji iloczyn(x, y).
Przykład 1.
Dla liczb x=9 i y=11 algorytm wykonuje 5 dodawań. Działanie funkcji iloczyn(9, 11) można zilustrować w następujący sposób (w nawiasach obok wskazano liczbę wykonywanych operacji dodawania):
iloczyn(9, 11) = 9 + z + z, (dwa dodawania) gdzie z = iloczyn(9, 5) iloczyn(9, 5) = 9 + z + z, (dwa dodawania) gdzie z = iloczyn(9, 2) iloczyn(9, 2) = z + z, (jedno dodawanie) gdzie z = iloczyn(9, 1) iloczyn(9, 1) = 9
Poniższa tabela ilustruje obliczenia wykonywane podczas wywołania iloczyn(9, 11).
| Numer wywołania | Parametry wywołania | Obliczone k, z | Wynik | ||
|---|---|---|---|---|---|
| x | y | k | z | ||
| 1 | 9 | 11 | 5 | 45 | 99 (9+45+45) |
| 2 | 9 | 5 | 2 | 18 | 45 (9+18+18) |
| 3 | 9 | 2 | 1 | 9 | 18 (9+9) |
| 4 | 9 | 1 | – | – | 9 |
Uzupełnij poniższą tabelę tak, aby ilustrowała obliczenia wykonywane podczas wywołania iloczyn(10, 45).
| Numer wywołania | Parametry wywołania | Obliczone k, z | Wynik | ||
|---|---|---|---|---|---|
| x | y | k | z | ||
| 1 | 10 | 45 | 22 | ||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 | |||||
| 6 | 1 | – | – | ||
Dla liczb x, y wymienionych w poniższej tabeli podaj liczbę operacji dodawania, jaka zostanie wykonana podczas obliczania wyniku funkcji iloczyn(x, y).
| x | y | Liczba dodawań |
|---|---|---|
| 9 | 11 | 5 |
| 8 | 32 | |
| 2 | 47 | |
| 112 | 112 |
Poniżej znajduje się iteracyjny algorytm realizujący funkcję iloczyn(x, y). Uzupełnij trzy luki w algorytmie, tak aby był zgodny z poniższą specyfikacją.
UWAGA: spośród operacji arytmetycznych możesz użyć tylko: dodawania, odejmowania, dzielenia całkowitego i reszty z dzielenia. Nie możesz użyć zwłaszcza operacji mnożenia.
x, y – liczby całkowite dodatnie
Wynik:
z – wartość iloczynu x*yAlgorytm:
z ← dopóki wykonuj jeżeli y mod 2 = 1 z ← z + x x ← x + x y ←
Oceń prawdziwość podanych zdań. Zaznacz P, jeśli zdanie jest prawdziwe, albo F – jeśli jest fałszywe.
W każdym zadaniu punkt uzyskasz tylko za komplet poprawnych odpowiedzi.
Informacja do zadań 3.2. i 3.3.
W bazie danych znajdują się tabele zwierzeta oraz osoby.
Tabela zwierzeta zawiera dane: identyfikator zwierzęcia (id – klucz podstawowy), gatunek (gatunek), imię zwierzęcia (imie) oraz identyfikator właściciela zwierzęcia (id_osoby).
Tabela osoby, z danymi właścicieli zwierząt, zawiera dane: identyfikator osoby (id_osoby – klucz podstawowy), imię i nazwisko osoby (imie, nazwisko).
Poniżej podano kilka przykładowych danych z obu tabel.
Tabela zwierzeta
| id | gatunek | imie | id_osoby |
|---|---|---|---|
| 1 | pies | Azor | 1 |
| 2 | kot | Mruczek | 2 |
| 3 | kot | Kicia | 3 |
| 4 | pies | Pimpek | 2 |
Tabela osoby
| id_osoby | imie | nazwisko |
|---|---|---|
| 1 | Jan | Nowak |
| 2 | Adam | Kowalski |
| 3 | Anna | Nowakowska |
| Nr | Zdanie | P / F |
|---|---|---|
| 1. | 101₁₆ = 11001011₂ | |
| 2. | 101₁₆ = 401₈ | |
| 3. | 401₈ = 100000001₂ | |
| 4. | 101₈ = 41₁₆ |
| Nr | Zdanie | P / F |
|---|---|---|
| 1. | W wyniku zapytania: SELECT DISTINCT nazwisko FROM osoby; otrzymamy listę różnych nazwisk osób z tabeli osoby (nazwiska nie będą się powtarzać). | |
| 2. | W wyniku zapytania: SELECT nazwisko FROM osoby WHERE nazwisko LIKE "A"; Otrzymamy listę nazwisk zaczynających się od litery A. | |
| 3. | W wyniku zapytania: SELECT imie FROM osoby WHERE imie BETWEEN "A" AND "C"; otrzymamy listę imion zaczynających się od litery A lub B. | |
| 4. | W wyniku zapytania: SELECT imie, nazwisko FROM osoby WHERE imie IN ("Ala","Ula"); otrzymamy listę imion i nazwisk wszystkich osób mających imiona, które w kolejności alfabetycznej znajdują się pomiędzy „Ala" a „Ula". |
| Nr | Zdanie | P / F |
|---|---|---|
| 1. | W wyniku zapytania: SELECT count(DISTINCT gatunek) FROM zwierzeta; otrzymamy liczbę różnych nazw gatunków zwierząt z tabeli zwierzeta. | |
| 2. | W wyniku zapytania: SELECT count(gatunek) FROM zwierzeta WHERE gatunek = "pies"; otrzymamy liczbę psów w tabeli zwierzeta. | |
| 3. | W wyniku zapytania: SELECT count(*) FROM zwierzeta INNER JOIN osoby ON zwierzeta.id_osoby = osoby.id_osoby WHERE gatunek = "pies"; otrzymamy liczby psów z podziałem na różnych właścicieli. | |
| 4. | W wyniku zapytania: SELECT nazwisko, count(*) FROM zwierzeta INNER JOIN osoby ON zwierzeta.id_osoby = osoby.id_osoby GROUP BY osoby.id_osoby; otrzymamy zestawienie z nazwiskami osób i liczbami ich zwierząt. |
W pliku anagram.txt znajduje się 1000 wierszy. Każdy wiersz zawiera liczbę binarną, składającą się z maksymalnie 14 cyfr: 0 lub 1. Każda liczba zaczyna się jedynką i żadna z nich się nie powtarza.
Napisz program(y), który(-e) da(-dzą) odpowiedzi do podanych zadań. Odpowiedzi do zadań zapisz w pliku wyniki4.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Uwaga: plik przyklad.txt zawiera 100 wierszy przykładowych danych spełniających warunki zadania. Odpowiedzi dla danych z pliku przyklad.txt są podane pod treściami zadań.
Liczbę binarną nazywamy zrównoważoną, gdy zawiera tyle samo zer i jedynek, natomiast prawie zrównoważoną, gdy liczba jedynek różni się od liczby zer o 1.
Przykład:
Liczba 101010 jest liczbą zrównoważoną.
Liczba 1011010 jest liczbą prawie zrównoważoną.
Podaj, ile jest liczb binarnych zrównoważonych oraz ile jest liczb binarnych prawie zrównoważonych w pliku anagram.txt.
Dla danych z pliku przyklad.txt prawidłową odpowiedzią jest:
21
15
Poniżej podaj odpowiedź dla pełnego pliku anagram.txt i kliknij Sprawdź.
Liczby zrównoważone:
Liczby prawie zrównoważone:
Anagramy cyfrowe to liczby utworzone z tego samego zestawu cyfr w różnych kolejnościach. Przy tym pierwsza cyfra liczby nie może być równa zero.
Przykład:
Z liczby 209 zapisanej dziesiętnie można utworzyć 4 anagramy: 209, 290, 902, 920.
Z liczby dwójkowej 11100 można utworzyć 6 różnych anagramów: 10011, 10101, 10110, 11001, 11010, 11100.
Znajdź wszystkie takie liczby dwójkowe 8-cyfrowe w pliku anagram.txt, z których można utworzyć największą liczbę anagramów. Wypisz te liczby w kolejności, w jakiej występują w pliku anagram.txt.
Dla danych z pliku przyklad.txt prawidłową odpowiedzią jest:
10001011
10111000
10100111
11111000
10011100
11100011
10111010
10100011
10011010
10110001
11011010
Poniżej wpisz odpowiedź dla pełnego pliku anagram.txt – każdą liczbę w osobnym wierszu – i kliknij Sprawdź.
Podaj największą wartość bezwzględną różnicy między sąsiednimi liczbami zapisanymi w pliku anagram.txt (to jest liczbami zapisanymi w sąsiednich wierszach pliku np. 2 i 3 wierszu, 3 i 4 wierszu itd.). Tę wartość podaj w zapisie binarnym.
Dla danych z pliku przyklad.txt prawidłową odpowiedzią jest:
1110001010
Poniżej podaj odpowiedź dla pełnego pliku anagram.txt i kliknij Sprawdź.
Odpowiedź:
Zamień wszystkie liczby binarne z pliku anagram.txt na ich odpowiedniki w systemie dziesiętnym. Następnie spośród otrzymanych liczb dziesiętnych:
a) podaj, ile jest takich, w których nie występuje cyfra zero
b) podaj liczbę, która ma największą sumę różnych cyfr (jeśli liczb, które mają tę samą największą sumę różnych cyfr, jest więcej niż jedna – podaj tę, która występuje jako pierwsza w pliku z danymi).
Przykład:
Dla liczby 20462 suma jej różnych cyfr to 12 (2+0+4+6), dla liczby 344 suma różnych cyfr to 7.
Dla danych z pliku przyklad.txt prawidłową odpowiedzią jest:
81
895
Poniżej podaj odpowiedź dla pełnego pliku anagram.txt i kliknij Sprawdź.
a)
b)
Hurtownia ogrodnicza „Muszka" jest czynna od poniedziałku do soboty i prowadzi sprzedaż drzewek owocowych. Największą popularnością cieszą się jabłonie i wiśnie. Rozważamy sprzedaż tych drzewek w okresie od 1 kwietnia 2022 roku do 31 października 2022 roku.
W dniu rozpoczęcia sprzedaży, tj. w piątek 1 kwietnia 2022 roku, stan początkowy drzewek w hurtowni wynosił: 100 drzewek jabłoni i 75 drzewek wiśni.
Dostawa drzewek odbywa się zawsze w czwartki rano przed otwarciem hurtowni (i rozpoczęciem sprzedaży). Dostarczanych jest wtedy 50 sztuk jabłoni i 25 sztuk wiśni. Dodatkowo, jeżeli łączna liczba jabłoni sprzedanych w ostatni piątek i sobotę przekroczy 25 sztuk, to w poniedziałek przed otwarciem hurtowni dowożonych jest 15 sztuk jabłoni.
Każdego dnia pracy (poza niedzielą) w hurtowni sprzedawane jest 30% stanu jabłoni oraz 20% stanu wiśni z rana tego dnia tuż przed rozpoczęciem sprzedaży (po ewentualnej dostawie). Te liczby zaokrąglamy w górę do liczby całkowitej.
W poniedziałki rano, przed rozpoczęciem sprzedaży i przed ewentualną dostawą nowych drzewek jabłoni, 5% drzewek jabłoni w hurtowni nie nadaje się do dalszej sprzedaży i stanowi odpad. Tę liczbę zaokrąglamy w górę do liczby całkowitej.
Z wykorzystaniem dostępnych narzędzi informatycznych podaj odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku wynik5.txt, a każdą odpowiedź poprzedź numerem oznaczającym to zadanie.
Uwaga:
Z wykorzystaniem dostępnych narzędzi informatycznych podaj odpowiedzi do podanych zadań. Odpowiedzi zapisz w pliku wyniki5.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Podaj, ile razy do hurtowni dowożono drzewka jabłoni, a ile razy dowożono drzewka wiśni.
Jabłonie:
Wiśnie:
Sporządź wykres liniowy porównujący sprzedaż drzewek jabłoni i wiśni w okresie od 01 lipca 2022 do 31 sierpnia 2022. Pamiętaj o tytule wykresu i odpowiednim opisie osi.
Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE.
Podaj datę, kiedy po raz pierwszy sprzedaż drzewek wiśni spadła poniżej 3 sztuk.
Data:
Utwórz zestawienie, w którym podasz, ile było dni, w których sprzedaż jabłoni była:
W zestawieniu uwzględnij również niedziele (kiedy sprzedaż równa jest 0).
Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE.
| od | do | liczba |
|---|---|---|
| 0 | 10 | 148 |
| 10 | 20 | 63 |
| 20 | 10000 | 3 |
Właściciel hurtowni chce zaoszczędzić na dowozie drzewek i dowozić drzewka jabłoni tylko w czwartki (jednak nigdy nie może zabraknąć tych drzewek – stan nie może być równy 0). Podaj, jaki powinien być maksymalny stan początkowy drzewek jabłoni, by (zgodnie z podanymi wcześniej zasadami dostaw) nie trzeba było ich dowozić nigdy w poniedziałki.
Odpowiedź:
W bazie danych firmy X zawarte są informacje o instalacjach pewnej aplikacji, o urządzeniach, na których ta aplikacja została zainstalowana, oraz o krajach, w których przeprowadzono instalację.
Dane zgromadzono w plikach tekstowych: kraje.txt, instalacje.txt oraz urzadzenia.txt. Pierwszy wiersz każdego z plików jest wierszem nagłówkowym, a dane w wierszach są rozdzielone znakami tabulacji.
Plik o nazwie kraje.txt zawiera informacje o krajach, w których instalowano aplikację. W każdym wierszu pliku znajdują się następujące dane:
| Pole | Opis |
|---|---|
kod_k | kod kraju (napis dwuznakowy) |
nazwa_k | nazwa kraju (napis do 50 znaków) |
ludnosc_k | ludność kraju (liczba całkowita do 10 cyfr określająca liczbę ludności). |
Przykład:
| kod_k | nazwa_k | ludnosc_k |
|---|---|---|
| AN | NETHERLANDS ANTILES | 227049 |
| CR | COSTA RICA | 5003393 |
| DZ | ALGERIA | 42545964 |
Plik o nazwie urzadzenia.txt zawiera informacje o urządzeniach, na których może być instalowana aplikacja. W każdym wierszu pliku znajdują się następujące informacje:
| Pole | Opis |
|---|---|
kod_u | unikatowy kod (liczba całkowita co najwyżej 5-cyfrowa) |
nazwa_u | nazwa urządzenia (napis do 80 znaków) |
producent_u | producent urządzenia (napis do 35 znaków) |
typ_u | typ urządzenia (napis: Tablet, Phone lub PC). |
Uwaga: nazwa urządzenia nie jest unikatowa – w tabeli mogą występować dwa lub więcej urządzenia o tej samej nazwie.
Przykład:
| kod_u | nazwa_u | producent_u | typ_u |
|---|---|---|---|
| 12410 | PLATINUM_E5 | Sky Devices | Phone |
| 6549 | Ilium L1120 | Lanix | Phone |
Plik o nazwie instalacje.txt zawiera informacje o instalacjach aplikacji. W każdym wierszu pliku znajdują się następujące informacje:
| Pole | Opis |
|---|---|
data_i | data instalacji (w formacie dd.mm.rrrr) |
kod_u | kod urządzenia, na którym wykonano instalację (liczba całkowita co najwyżej 5-cyfrowa) |
kod_k | kod kraju, w którym znajdowało się to urządzenie (napis dwuznakowy). |
Uwaga: kod_u nie oznacza pojedynczego egzemplarza urządzenia, a tylko wskazuje jego rodzaj – to znaczy na urządzeniach o tym samym kodzie może być wykonanych wiele instalacji.
Przykład:
| data_i | kod_k | kod_u |
|---|---|---|
| 01.03.2019 | AM | 145 |
| 01.03.2019 | AR | 804 |
| 01.03.2019 | AT | 12632 |
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.
Dla każdego typu urządzenia podaj liczbę instalacji aplikacji na tym typie urządzenia.
| typ_u | liczba_instalacji |
|---|---|
| PC | |
| Phone | |
| Tablet |
Wykonaj zestawienie, w którym dla każdego producenta urządzenia podasz liczbę instalacji przeprowadzonych na urządzeniach tego producenta w lutym 2019. Wynik posortuj nierosnąco według liczby instalacji.
Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE.
| producent | liczba |
|---|---|
| Samsung | 478 |
| Huawei | 142 |
| LGE | 81 |
| Xiaomi | 78 |
| Motorola | 67 |
| OnePlus | 34 |
| 33 | |
| Lenovo | 25 |
| Sony | 23 |
| ZTE | 21 |
| Asus | 20 |
| TCT (Alcatel) | 14 |
| Oppo | 10 |
| Nokia | 9 |
| Vivo | 6 |
| HTC | 5 |
| RCA | 4 |
| Meizu | 2 |
| Infinix | 2 |
| Hyundai | 2 |
| Lanix | 2 |
| Sky Devices | 2 |
| SSB PHONES | 1 |
| Verizon Wireless | 1 |
| Bitel | 1 |
| Blu | 1 |
| bq | 1 |
| BQru | 1 |
| Chuwi | 1 |
| Essential Products | 1 |
| Gigaset | 1 |
| Vankyo | 1 |
| Umidigi | 1 |
| Logicom | 1 |
| Tech 4u | 1 |
| Myphone | 1 |
| Itel | 1 |
| KOOLNEE | 1 |
| Kyocera | 1 |
| Leeco | 1 |
| Redmi | 1 |
| Razer | 1 |
| Acer | 1 |
| Nextbook | 1 |
| MyPhone (PL) | 1 |
| Ulefone | 1 |
Podaj nazwy pięciu krajów w których przeprowadzono najwięcej instalacji w przeliczeniu na 1 000 000 mieszkańców, oraz podaj liczby tych instalacji.
Dla każdego z tych pięciu krajów podaj liczbę instalacji na 1 000 000 mieszkańców z dokładnością do dwóch miejsc po przecinku.
Uwaga: pomiń kraje, w których jest mniej niż milion mieszkańców.
| nazwa_k | liczba |
|---|---|
Podaj kod oraz nazwę urządzenia typu Tablet, na którym zainstalowano aplikację w największej liczbie krajów. Podaj także liczbę krajów, w których instalowano aplikację na tym urządzeniu.
Kod urządzenia:
Nazwa urządzenia:
Liczba krajów:
Podaj nazwy krajów, w których nie wykonano ani jednej instalacji na urządzeniach typu „Phone".
Poniżej wpisz odpowiedź – każdą nazwę kraju w osobnym wierszu – i kliknij Sprawdź.