Wróć do: Arkusze maturalne
2025MAJ

Matura z informatyki 2025 – maj, poziom rozszerzony

Formuła 2023arkusz CKE · poziom rozszerzony

Arkusz maturalny z informatyki rozszerzonej, maj 2025 (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.

01

Opis

Arkusz maturalny z informatyki na poziomie rozszerzonym z sesji maj 2025 (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.

02

Zadanie 1. Funkcja rekurencyjna

Dana jest rekurencyjna funkcja przestaw, której parametrem jest nieujemna liczba całkowita:

przestaw(n):
    r  n mod 100
    a  r div 10
    b  r mod 10
    n  n div 100
    jeżeli n > 0
        w  a + 10 * b + 100 * przestaw(n)
    w przeciwnym razie
        jeżeli a > 0
            w  a + 10 * b
        w przeciwnym razie
            w  b
    wynikiem jest w

Uwaga: Operator mod oznacza resztę z dzielenia, natomiast div – część całkowitą z dzielenia.

Zadanie 1.1

Uzupełnij tabelę – wpisz w drugiej kolumnie wynik funkcji przestaw(n) dla podanych wartości argumentu n oraz wpisz w trzeciej kolumnie liczbę wywołań funkcji przestaw łącznie z pierwszym wywołaniem z parametrem n.

nWynik działania funkcji przestawLiczba wywołań funkcji przestaw
3164981346893
43657688
154005710
998877665544321

Zadanie 1.2

Oceń prawdziwość podanych zdań. Zaznacz P, jeśli zdanie jest prawdziwe, albo F – jeśli jest fałszywe.

Niech n będzie liczbą k-cyfrową, gdzie k > 0. Liczba wywołań funkcji przestaw w zależności od k jest równa:

NrWzórP / F
1.k2
2.(k + 1) div 2 (gdzie div oznacza dzielenie całkowite)
3.{k2 gdy k jest liczbą parzystąk+12 gdy k jest liczbą nieparzystą
4.k+12

Zadanie 1.3

W postaci pseudokodu lub w wybranym języku programowania napisz nierekurencyjną funkcję przestaw2, która dla danej nieujemnej liczby całkowitej n da taką samą wartość jak przestaw(n).

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 możesz wykorzystać tylko operacje arytmetyczne: dodawanie, odejmowanie, mnożenie, dzielenie, dzielenie całkowite, resztę z dzielenia oraz porównywanie liczb, instrukcje sterujące, przypisania do zmiennych lub samodzielnie napisane funkcje, wykorzystujące wyżej wymienione operacje. Zabronione jest używanie funkcji wbudowanych oraz operatorów innych niż wymienione, w tym – funkcji przestaw.

Specyfikacja
Dane n – nieujemna liczba całkowita Wynik w – nieujemna liczba całkowita, wynik działania taki sam jak po wykonaniu przestaw(n)

Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE.

03

Zadanie 2. Zapis symboliczny

W pliku symbole.txt zapisano 2000 napisów. Każdy z nich jest zapisany w osobnym wierszu i składa się z dokładnie 12 znaków spośród: o, +, *.

Napisz program (lub kilka programów) znajdujący(-ch) odpowiedzi do podanych zadań. Każdą odpowiedź zapisz w pliku wyniki2.txt i poprzedź ją numerem oznaczającym zadanie.

Do Twojej dyspozycji jest plik symbole_przyklad.txt, który zawiera 20 wierszy danych spełniających warunki zadania. Odpowiedzi dla pliku symbole_przyklad.txt są podane pod każdym zadaniem.

Pamiętaj, że Twój program musi ostatecznie zadziałać na pliku symbole.txt zawierającym 2000 napisów.

Zadanie 2.1

Podaj wszystkie takie napisy z pliku symbole.txt, które są palindromami (czytane od przodu i od tyłu są takie same). Wypisz je po jednym w wierszu, w kolejności takiej jak w pliku symbole.txt.

Odpowiedź dla pliku symbole_przyklad.txt to oooo+**+oooo (w tym pliku jest jeden palindrom).

Poniżej wpisz odpowiedź dla pełnego pliku symbole.txt – każdy napis w osobnym wierszu – i kliknij Sprawdź.

Zadanie 2.2

W pliku symbole.txt szukamy „kwadratów" złożonych z dziewięciu sąsiadujących identycznych symboli:

+ + +         o o o         * * *
+ + +   lub   o o o   lub   * * *
+ + +         o o o         * * *

Podaj, ile takich kwadratów występuje w pliku symbole.txt. Jeżeli w pliku występuje jeden taki kwadrat, podaj numer wiersza i numer pozycji w wierszu (licząc od 1) jego środkowego pola. Jeżeli jest więcej takich kwadratów, podaj numer wiersza i numer pozycji w wierszu dla środkowego pola każdego z nich.

Przykład. Poniżej podano 6 wierszy przykładowych danych (po 12 znaków w każdym wierszu):

1.  + * * + o * o + + * o +
2.  + + + o o o o * o * * *
3.  + o * o o o o * * + + +
4.  * + * o o o o o o + + +
5.  o * * o + + + o + + + +
6.  o o o o + + * * + * + o

Mamy tutaj trzy kwadraty złożone z 9 identycznych symboli: pierwszy ma środek w wierszu 3 na pozycji 5, drugi – w wierszu 3 na pozycji 6, a trzeci – w wierszu 4 na pozycji 11.

Odpowiedź dla pliku symbole_przyklad.txt to 1 6 3 (jeden kwadrat, który ma środkowe pole w wierszu 6, na pozycji 3).

Poniżej podaj liczbę kwadratów oraz współrzędne (wiersz, pozycja) środkowego pola każdego z nich dla pełnego pliku symbole.txt, a następnie kliknij Sprawdź.

Zadanie 2.3

Informacja do zadań 2.3. i 2.4. Każdy z napisów podanych w pliku symbole.txt będziemy traktować jako liczbę zapisaną w systemie trójkowym, w którym znak o odpowiada cyfrze 0, znak + odpowiada cyfrze 1, a znak * odpowiada cyfrze 2.

Podaj największą liczbę spośród liczb zapisanych w pliku symbole.txt. W odpowiedzi podaj tę liczbę w zapisie dziesiętnym oraz napis jej odpowiadający.

Odpowiedź dla pliku symbole_przyklad.txt to 519789 **+oooo++o.

Poniżej podaj odpowiedź dla pełnego pliku symbole.txt i kliknij Sprawdź.

Zadanie 2.4

Oblicz sumę wszystkich liczb z pliku symbole.txt. Podaj jej wartość w zapisie dziesiętnym oraz w zapisie trójkowym z użyciem symboli o, +, *.

Odpowiedź dla pliku symbole_przyklad.txt to 4841542 +oooo****+oo+o+.

Poniżej podaj odpowiedź dla pełnego pliku symbole.txt i kliknij Sprawdź.

04

Zadanie 3. Dron

Tor lotu pewnego drona składa się z prostych odcinków. Lot rozpoczyna się w punkcie (0, 0), a kończy w punkcie (20000, 0). Dron poza startem i lądowaniem jest zawsze na wysokości większej od zera.

Plik dron.txt zawiera 100 wierszy, w których zapisano dane dotyczące ruchu drona. W każdym wierszu jest zapisana para liczb całkowitych rozdzielonych znakiem spacji. Pierwsza liczba oznacza przemieszczenie drona (odległość) w poziomie od ostatniej pozycji – jest to zawsze liczba dodatnia. Druga liczba oznacza przemieszczenie w pionie od ostatniej pozycji. Jeśli druga liczba jest dodatnia, to dron wykonał ruch w górę, jeśli ujemna – w dół, a jeśli równa 0 – nie zmieniał wysokości.

Przykład 1. Dla przykładowych danych:

3000 2000
2000 9000
5000 -7000
5000 4000
3000 6000
2000 -14000

lot drona można zilustrować na wykresie (zobacz arkusz PDF), gdzie x – odległość w poziomie od punktu startowego, y – wysokość (odległość w pionie od punktu startowego), a [A, B] to umieszczone na wykresie pary liczb oznaczające przemieszczenia drona odpowiednio w poziomie i w pionie.

Napisz program (lub kilka programów), który(-e) znajdzie(-dą) odpowiedzi dla podanych zadań. Każdą odpowiedź zapisz w pliku wyniki3.txt i poprzedź ją numerem oznaczającym zadanie.

Do Twojej dyspozycji jest plik dron_przyklad.txt zawierający 10 wierszy danych w opisanej postaci. Odpowiedzi dla pliku dron_przyklad.txt są podane pod każdym zadaniem. Pamiętaj, że Twój program musi ostatecznie zadziałać na pliku dron.txt zawierającym 100 wierszy danych.

Zadanie 3.1

Dla każdego przesunięcia [A, B] zapisanego w pliku dron.txt oblicz największy wspólny dzielnik (NWD) wartości bezwzględnych liczb A i B. Podaj liczbę par [A, B], dla których największy wspólny dzielnik wartości bezwzględnych liczb A i B jest większy od 1.

Uwaga: przyjmujemy, że NWD(A, 0) = A.

Odpowiedź dla pliku dron_przyklad.txt to 6.

Odpowiedź dla pełnego pliku dron.txt:

Zadanie 3.2

Rozważamy wszystkie punkty, w których dron znajdował się po wykonaniu kolejnych ruchów (przesunięć).

Dla danych z przykładu 1. będą to punkty: (3000, 2000), (5000, 11000), (10000, 4000), (15000, 8000), (18000, 14000) i (20000, 0).

a) Podaj, ile spośród wszystkich rozważanych punktów znajduje się wewnątrz kwadratu o wierzchołkach (0, 0), (0, 5000), (5000, 5000), (5000, 0). Nie liczymy punktów leżących na krawędziach kwadratu.

Odpowiedź dla pliku dron_przyklad.txt to a) 2. Odpowiedź dla pełnego pliku dron.txt:

b) Spośród wszystkich rozważanych punktów znajdź i podaj trzy różne, takie, że jeden z nich jest środkiem odcinka o końcach w pozostałych dwóch. Jest tylko jedna taka trójka punktów. Uwaga: punkty należące do szukanej trójki nie muszą być trzema kolejnymi punktami, do których przemieszczał się dron.

Odpowiedź dla pliku dron_przyklad.txt to b) (14000, 3014), (16000, 2010), (18000, 1006). Kliknij Pokaż odpowiedź, aby zobaczyć odpowiedź dla pełnego pliku dron.txt.

05

Zadanie 4

Dokończ zdanie. Zaznacz właściwą odpowiedź spośród podanych.

Program typu keylogger służy do

06

Zadanie 5

Poniżej sposobem pisemnym dodano dwie liczby podane w zapisie binarnym. Uzupełnij brakujące cyfry tak, aby działanie było wykonane poprawnie.

Składnik 1: 1 1 0 1 0 1 1 0 1

Składnik 2: 1 1 0 0 1 0 1 1 1

Suma: 1 0 1 1 0 0 1 1 0

07

Zadanie 6. Martianeum

W 2033 roku na Marsie wylądowała automatyczna stacja wydobywcza wyposażona w transporter i w autonomiczny dron pobierający ładunki skał zawierających minerał niewystępujący na Ziemi – martianeum.

Stacja działa według następujących zasad:

dron codziennie przywozi ładunek z pewnego obszaru Marsa
stacja waży ładunek przywieziony przez drona i bada zawartość martianeum
jeśli zawartość martianeum w przywiezionym ładunku wynosi co najmniej 1%, to stacja automatycznie wydobywa cały minerał z tego ładunku
jeśli na koniec dnia (po wydobyciu martianeum) ilość minerału na stacji osiągnie co najmniej 100 kg, to transporter zabiera 100 kg na orbitę, skąd ładunek jest wysyłany na Ziemię, a transporter wraca do stacji (jeśli na stacji zgromadzone jest więcej niż 100 kg, to nadmiar pozostaje na stacji)
początkowy stan magazynu na stacji – 0 kg martianeum.

W pliku tekstowym martianeum.txt w kolejnych wierszach zapisano dane z lat 2033–2038:

PoleOpis
datadata przywozu ładunku w formacie rrrr-mm-dd
nazwa_obszarunazwa obszaru Marsa, z którego ładunek został pobrany
masa [kg]masa ładunku drona w kilogramach
zawartość [%]zawartość martianeum w próbce w % (nieujemna liczba z jednym miejscem po przecinku, np. 0,1 oznacza 0,1%)

Dane w pliku rozdzielono znakami tabulacji.

Przykład:

datanazwa_obszarumasa [kg]zawartość [%]
2033-03-03Cebrenia27,80,2
2033-03-04Amenthes11,81,7
2033-03-05Noachis21,06,0
2033-03-06Coprates26,311,4
2033-03-07Ismenius Lacus28,80,0
2033-03-08Mare Boreum29,20,0

Z wykorzystaniem danych zawartych w pliku martianeum.txt oraz dostępnych narzędzi informatycznych wykonaj podane zadania. Wyniki zapisz w pliku tekstowym wyniki6.txt. Odpowiedź do każdego zadania poprzedź numerem tego zadania.

Zadanie 6.1

Podaj łączną masę wszystkich ładunków drona oraz łączną masę martianeum wydobytego przez stację.

Łączna masa ładunków [kg]:

Łączna masa martianeum [kg]:

Zadanie 6.2

Podaj nazwę obszaru, dla którego średnia masa przywiezionych ładunków jest najmniejsza.

Odpowiedź:

Zadanie 6.3

Czas pracy stacji dzielimy na kolejne 7-dniowe okresy. Pierwszy okres obejmuje dni od 03.03.2033 do 09.03.2033, drugi – od 10.03.2033 do 16.03.2033 itd. Podaj największą łączną masę ładunków przywiezionych w ciągu kolejnych 7-dniowych okresów oraz podaj datę początku okresu, w którym przywieziono tę największą masę.

Największa łączna masa [kg]:

Data początku okresu:

Zadanie 6.4

Wykonaj zestawienie, w którym dla każdego obszaru podasz, ile razy dron przewoził ładunek z tego obszaru w poszczególnych latach. Na podstawie wykonanego zestawienia utwórz wykres skumulowany kolumnowy. Pamiętaj o czytelnym opisie wykresu: na osi X umieść nazwy obszarów, dodaj opisy osi – „nazwy obszarów" dla osi X i „liczba przewozów ładunku" dla osi Y, tytuł oraz legendę zawierającą kolejne lata.

Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE – zestawienie liczby przewozów oraz gotowy wykres.

Zadanie 6.5

Uwzględnij zasady działania stacji opisane na początku zadania i podaj, ile razy stacja wysyłała ładunek na orbitę oraz datę pierwszego i datę ostatniego transportu ładunku na orbitę.

Liczba wysyłek na orbitę:

Data pierwszego transportu:

Data ostatniego transportu:

08

Zadanie 7. Poszukiwanie wody na Marsie

W trzech plikach tekstowych o nazwach laziki.txt, obszary.txt, pomiary.txt zapisano informacje zawierające dane o poszukiwaniu wody na Marsie w latach 2050–2080. Łaziki zasilane energią słoneczną poruszają się po różnych obszarach Marsa i wykonują pomiary georadarowe, na podstawie których szacują ilość wody i głębokość, na której się ona znajduje. Pierwszy wiersz każdego z plików jest wierszem nagłówkowym, a dane w wierszach rozdzielono znakami tabulacji.

Plik o nazwie laziki.txt zawiera informacje o różnych łazikach, które wykonywały pomiary. W każdym wierszu tego pliku znajdują się:

PoleOpis
nr_lazikaco najwyżej trzycyfrowy, unikatowy numer łazika
nazwa_lazikanazwa łazika (tekst do 50 znaków)
rok_wyslaniarok startu z Ziemi
wsp_ladowaniawspółrzędne lądowania na Marsie oddzielone znakiem przecinka i spacją

Przykład:

nr_lazikanazwa_lazikarok_wyslaniawsp_ladowania
1Mariner 3204950.51N, 70.01E
2Mariner 6205011.90N, 119.49E
3Mariner 7205044.90S, 130.80W

Plik o nazwie obszary.txt zawiera informacje o obszarach na Marsie. W każdym wierszu tego pliku znajdują się:

PoleOpis
kod_obszarupięcioznakowy, unikatowy kod obszaru
nazwa_obszarunazwa obszaru (tekst do 50 znaków)

Przykład:

kod_obszarunazwa_obszaru
MC-01Mare Boreum
MC-02Diacria
MC-03Arcadia

Plik o nazwie pomiary.txt zawiera informacje o wynikach badań georadarowych wykonanych przez łaziki. W każdym wierszu tego pliku znajdują się:

PoleOpis
nr_lazikaco najwyżej trzycyfrowy numer łazika
data_pomiarudata wykonania pomiaru (w formacie rrrr-mm-dd)
kod_obszarupięcioznakowy kod obszaru, na którym został wykonany pomiar
wspolrzednewspółrzędne wykonania pomiaru, oddzielone znakiem przecinka i spacją
glebokoscszacowana głębokość, na której znajduje się woda (w metrach)
iloscszacowana ilość wody (w m³)

Przykład:

nr_lazikadata_pomiarukod_obszaruwspolrzedneglebokoscilosc
172061-06-03MC-1313.17N, 77.80E3445622
172056-06-02MC-1414.93N, 106.00E432054
472075-10-18MC-0545.57N, 3.30E923366

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.

Zadanie 7.1

Podaj nazwę obszaru, na którym znaleziono łącznie we wszystkich pomiarach najwięcej m³ wody na głębokości do 100 metrów włącznie. Jest jeden taki obszar.

Odpowiedź:

Zadanie 7.2

Podaj nazwę łazika, który wykonywał pomiary w najdłuższym okresie, licząc od pierwszego (najwcześniejszego) do ostatniego (najpóźniejszego) pomiaru. Podaj datę pierwszego i ostatniego pomiaru wykonanego przez ten łazik.

Nazwa łazika:

Data pierwszego pomiaru:

Data ostatniego pomiaru:

Zadanie 7.3

Podaj nazwy obszarów na Marsie, na których żaden z łazików nie wykonał ani jednego pomiaru w tym samym roku, w którym został wysłany z Ziemi.

Wpisz nazwy obszarów – po jednej w wierszu – i kliknij Sprawdź.

Zadanie 7.4

Podaj nazwy łazików, które wylądowały na półkuli południowej, ale wykonywały pomiary na obu półkulach: północnej (N) i południowej (S).

Wpisz nazwy łazików – po jednej w wierszu – i kliknij Sprawdź.

Zadanie 7.5

Do tabel utworzonych na podstawie opisanych wcześniej plików dołączamy kolejną – o nazwie Producent, w której zapisano informacje o producentach poszczególnych modeli łazików.

Tabela Producent zawiera następujące pola:

PoleOpis
kod_producentaunikatowy kod producenta
nazwanazwa producenta
krajkraj producenta

Do tabeli Laziki dodano pole kod_producenta.

Napisz w języku SQL zapytanie, w wyniku którego otrzymasz listę nazw producentów, których łaziki badały obszar Marsa o nazwie Arcadia w roku 2060. Nazwy producentów nie mogą się powtarzać.

Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe zapytanie z klucza CKE.