Wróć do: Arkusze maturalne
2025CZERWIEC

Matura z informatyki 2025 – czerwiec, poziom rozszerzony

Formuła 2023arkusz CKE · poziom rozszerzony

Arkusz maturalny z informatyki rozszerzonej, czerwiec 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 czerwiec 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

Zastosowane w poniższym algorytmie funkcje: skróć, dopisz i ostatnia, przyjmują jako argument nieujemną liczbę całkowitą x.

Wynikiem funkcji skróć(x) jest liczba powstała z x przez usunięcie najmniej znaczącej cyfry w jej zapisie dziesiętnym. Jeśli x jest liczbą jednocyfrową, wtedy skróć(x) = 0. Przykładowo: skróć(249) = 24, skróć(87) = 8, skróć(5) = 0.

Wynikiem funkcji dopisz(x) jest liczba, której zapis dziesiętny powstaje z zapisu dziesiętnego liczby x przez dopisanie jako najmniej znaczącej cyfry 0. Dla liczby 0 przyjmujemy dopisz(0) = 0. Przykładowo: dopisz(29) = 290.

Wynikiem funkcji ostatnia(x) jest liczba – wartość najmniej znaczącej cyfry zapisu dziesiętnego liczby x. Przykładowo: ostatnia(307) = 7.

Dana jest funkcja f(a, b), która przyjmuje jako argumenty dwie nieujemne liczby całkowite, a jej wynikiem jest nieujemna liczba całkowita:

f(a, b):
    jeżeli b = 0
        wynik 0
        zakończ
    k  ostatnia(b)
    w  f(a, skróć(b))
    w  dopisz(w)
    dopóki k > 0 powtarzaj
        w  w + a
        k  k - 1
    wynik w

Zadanie 1.1

Uzupełnij tabelę – wpisz w ostatniej kolumnie wynik funkcji f(a, b) dla podanych wartości argumentów a i b.

abf(a, b)
422
4125
103104

Zadanie 1.2

Ile razy łącznie zostanie wywołana funkcja f, jeśli pierwszym wywołaniem będzie f(987654321, 123456789)?

Odpowiedź:

Zadanie 1.3

Ile razy łącznie zostanie wykonana instrukcja w ← w + a, jeśli pierwszym wywołaniem będzie:

a) f(2024, 1000) odpowiedź:

b) f(2024, 1234) odpowiedź:

03

Zadanie 2. Liczby

W tym zadaniu rozważamy operację cięcia zdefiniowaną dla dodatnich liczb całkowitych większych lub równych 10.

Ta operacja polega na podziale zapisu dziesiętnego liczby na dwa niepuste zapisy.

Przykład.

Dla liczby 14379 możliwe cięcia to: 1 i 4379, 14 i 379, 143 i 79, 1437 i 9.

Dla liczby 2302 możliwe cięcia to: 2 i 302, 23 i 02 (czyli 23 i 2 – wartość liczbowa zapisu „02" to 2), 230 i 2

Zadanie 2.1

Niech k będzie dodatnią liczbą całkowitą, której zapis dziesiętny składa się z parzystej liczby cyfr. Na zapisie dziesiętnym liczby k wykonujemy operację cięcia na połowę. Powstają wtedy zapisy dwóch liczb a i b: pierwszy (liczby a), o długości równej połowie długości zapisu k, złożony z cyfr należących do lewej strony tego zapisu, i drugi (liczby b) – złożony z cyfr z prawej strony zapisu.

Napisz w pseudojęzyku lub wybranym języku programowania algorytm, który dla danej liczby k, której zapis dziesiętny składa się z parzystej liczby cyfr, obliczy liczby a i b powstałe po wykonaniu operacji cięcia na połowę zapisu dziesiętnego liczby k.

Przykład.

Dla k = 123456 otrzymamy a = 123 i b = 456

Dla k = 120056 otrzymamy a = 120 i b = 56

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 i typów innych niż wymienione (w tym – tablic i list).

Specyfikacja
Dane k – dodatnia liczba całkowita o zapisie dziesiętnym składającym się z parzystej liczby cyfr Wynik a, b – liczby, powstałe w wyniku cięcia na połowę zapisu liczby k

Kliknij 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.

Zadanie 2.2

Niech k będzie dodatnią liczbą całkowitą, której zapis dziesiętny składa się z parzystej liczby cyfr. Liczbę k nazwiemy połowicznie względnie pierwszą, gdy największy wspólny dzielnik liczb powstałych przez cięcie na połowę zapisu dziesiętnego liczby k jest równy 1.

Przykład.

Liczba 3487 (34|87) jest połowicznie względnie pierwsza, ponieważ największy wspólny dzielnik liczb 34 i 87 jest równy 1.

Liczba 230095 (230|095) nie jest połowicznie względnie pierwsza, ponieważ największy wspólny dzielnik liczb 230 i 95 jest równy 5.

Plik liczby1.txt zawiera 500 dodatnich liczb całkowitych składających się z 4, 6 lub 8 cyfr. Każda liczba zapisana jest w osobnym wierszu.

Napisz program, który wyznaczy liczbę liczb połowicznie względnie pierwszych zapisanych w pliku liczby1.txt.

Plik liczby1_przyklad.txt zawiera 50 liczb spełniających warunki zadania. Dla danych zawartych w pliku liczby1_przyklad.txt prawidłową odpowiedzią jest: 28

Uwaga: pamiętaj, że Twój program musi ostatecznie działać na pliku liczby1.txt zawierającym 500 liczb.

Poniżej wpisz odpowiedź dla pełnego pliku liczby1.txt i kliknij Sprawdź.

Odpowiedź:

Zadanie 2.3

Niech n będzie dodatnią liczbą całkowitą większą lub równą 10.

Będziemy rozważać wszystkie możliwe operacje cięcia liczby . Zliczamy w ilu z tych cięć suma powstałych liczb jest mniejsza lub równa n.

Przykład.

Dla liczby 89 – jest 0 takich cięć, ponieważ 89² = 7921 oraz:

abCzy a + b ≤ 89
7921Nie
7921Nie
7921Nie

Dla liczby 2757 – są 2 takie cięcia, ponieważ 2757² = 7601049 oraz:

abCzy a + b ≤ 2757
7601049Nie
7601049Nie
760149 (049)Nie
7601049Tak
761049 (01049)Tak
7601049Nie

Liczbę cięć liczby takich, że suma powstałych liczb jest mniejsza lub równa n, nazwiemy stopniem Kaprekara liczby n.

Dla liczby 89 stopień Kaprekara jest równy 0, dla liczby 2757 – jest równy 2.

Plik liczby2.txt zawiera 1000 liczb całkowitych z przedziału [10, 30000]. Napisz program, który wyznaczy największy stopień Kaprekara dla liczb z pliku liczby2.txt oraz poda liczbę, która ma taki stopień. Jest tylko jedna taka liczba.

Plik liczby2_przyklad.txt zawiera 100 wierszy z danymi spełniającymi warunki zadania. Dla danych zawartych w pliku liczby2_przyklad.txt prawidłowa odpowiedź to: 2, 2168

Uwaga: pamiętaj, że Twój program musi ostatecznie działać na pliku liczby2.txt zawierającym 1000 liczb.

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

Największy stopień Kaprekara:

Liczba, która ma taki stopień:

04

Zadanie 3. Ukryte numery

Plik dane.txt zawiera jeden napis zbudowany z 10 000 znaków (o kodach ASCII od 33 do 126), pośród których ukryte są liczby.

Liczba ukryta w tym ciągu to co najmniej jednoelementowy ciąg cyfr, przed którym i po którym nie występuje znak będący cyfrą.

Przykład.

W ciągu: 356xv@@4vdfvdfD#$%@@#245 są ukryte 3 liczby: 356, 4 oraz 245.

Plik dane_przyklad.txt zawiera przykładowe dane – jeden napis zbudowany z 200 znaków. Odpowiedzi dla tego pliku są podane po każdym zadaniu.

Napisz program (lub kilka programów) znajdujący(-ch) odpowiedzi do podanych zadań. Odpowiedzi zapisz odpowiednio w oddzielnych plikach: wyniki3_1.txt, wyniki3_2.txt, wyniki3_3.txt, wyniki3_4.txt.

Uwaga: Pamiętaj, że Twój program musi ostatecznie działać na pliku dane.txt zawierającym 10 000 znaków.

Zadanie 3.1

Podaj, ile liczb zapisanych w pliku dane.txt zaczyna się od ciągu cyfr 50. Jeżeli ta sama liczba występuje kilkukrotnie, policz każde jej wystąpienie.

Przykład.

W ciągu znaków: fs@dx+cd52505050VfF^&x5 nie ma liczby zaczynającej się od 50.

W ciągu znaków: fs@dx+cd50450505VfF^&x50 są 2 liczby zaczynające się od 50 (50450505 oraz 50).

Dla pliku dane_przyklad.txt poprawną odpowiedzią jest 2

Poniżej wpisz odpowiedź dla pełnego pliku dane.txt i kliknij Sprawdź.

Odpowiedź:

Zadanie 3.2

Podaj najczęściej występującą cyfrę w pliku dane.txt oraz liczbę jej wystąpień. W pliku jest jedna taka cyfra.

Dla pliku dane_przyklad.txt poprawną odpowiedzią jest 0 17 (cyfra 0, która wystąpiła 17 razy)

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

Najczęściej występująca cyfra:

Liczba jej wystąpień:

Zadanie 3.3

Informacja do zadań 3.3. i 3.4. Numerem telefonu będziemy nazywać 9-elementowy ciąg cyfr, przed którym i po którym nie występuje znak będący cyfrą.

Znajdź i wypisz wszystkie numery telefonów zaczynające się od cyfry 5 z pliku dane.txt w kolejności ich występowania w tym pliku.

Dla pliku dane_przyklad.txt odpowiedzią jest 577050221 (w tym pliku jest tylko jeden taki numer telefonu).

Poniżej wpisz numery telefonów – każdy w osobnym wierszu – i kliknij Sprawdź.

Zadanie 3.4

Spośród wszystkich numerów telefonów podaj te, które składają się z najmniejszej liczby różnych cyfr.

Dla pliku dane_przyklad.txt odpowiedzią jest 303004411 (składa się z 4 różnych cyfr: 0, 1, 3, 4)

Poniżej wpisz odpowiedź dla pełnego pliku dane.txt i kliknij Sprawdź.

Odpowiedź:

05

Zadanie 4

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

NrZdanieP / F
1.W pliku w formacie GIF zapiszemy obraz w 16 milionach kolorów bez utraty informacji o nich.
2.W plikach w formacie JPG są wykorzystywane metody kompresji danych.
3.Format JPG obsługuje przezroczyste tła obrazów.
06

Zadanie 5

Poniżej sposobem pisemnym dodano dwie liczby zapisane w systemie trójkowym. Uzupełnij brakujące cyfry tak, aby działanie było wykonane poprawnie.

Składnik 1: 1 2 1 2

Składnik 2: 2 1 1 0 2

Suma: 1 1 2

07

Zadanie 6. Fotowoltaika

Pan Iksiński założył panele fotowoltaiczne i przez rok monitorował wykorzystanie energii w swoim gospodarstwie domowym. Prąd wytworzony przez panele jest używany na bieżące potrzeby gospodarstwa domowego, a jego nadmiar jest przesyłany do zakładu energetycznego. W razie braku wystarczającej ilości energii pochodzącej z paneli (np. w godzinach nocnych lub przy pochmurnej pogodzie) energia jest pobierana z zakładu energetycznego.

W kolejnych wierszach pliku fotowoltaika.txt są zawarte następujące informacje, rozdzielone znakami tabulacji:

PoleOpis
datadata pomiaru
wschgodzina wschodu słońca
zachgodzina zachodu słońca
st_zachstopień zachmurzenia (liczba całkowita od 0 do 8, przy czym liczba 0 oznacza brak zachmurzenia, natomiast liczba 8 – całkowite zachmurzenie)
produkcjaenergia wyprodukowana przez całą dobę przez panele fotowoltaiczne (w kWh)
oddanieenergia oddana do zakładu energetycznego przez całą dobę (w kWh)
pobranieenergia pobrana z zakładu przez gospodarstwo domowe przez całą dobę (w kWh)

Przykład:

datawschzachst_zachprodukcjaoddaniepobranie
2022-01-0107:42:5615:36:0707,783,294,56
2022-01-0207:42:4715:37:1244,471,233,99

Z wykorzystaniem powyższych danych 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, ile energii łącznie (w kWh) zużył pan Iksiński przez cały rok 2022. Używana energia to suma energii pobranej z zakładu energetycznego i energii wyprodukowanej przez pana Iksińskiego pomniejszonej o ilość oddaną do zakładu energetycznego.

Uwaga: Przez cały styczeń pan Iksiński zużył 162,68 kWh.

Poniżej wpisz odpowiedź dla pełnego pliku fotowoltaika.txt i kliknij Sprawdź.

Odpowiedź [kWh]:

Zadanie 6.2

Znajdź najdłuższy ciąg kolejnych dni roku, w których stopień zachmurzenia nie wzrastał w stosunku do dnia poprzedniego i jednocześnie wartość wyprodukowanej energii nie malała w stosunku do dnia poprzedniego. Podaj długość tego ciągu oraz datę pierwszego dnia tego ciągu. Jest tylko jeden taki ciąg.

Przykład. Dla danych:

datawschzachst_zachprodukcjaoddaniepobranie
2022-01-2007:30:5116:03:0734,330,990,21
2022-01-2107:29:4316:04:5062,330,022,61
2022-01-2207:28:3216:06:3363,210,782,22
2022-01-2307:27:1916:08:1854,022,011,01
2022-01-2407:26:0316:10:0344,452,341,95
2022-01-2507:24:4416:11:4935,522,211,21
2022-01-2607:23:2416:13:3725,112,021,35

najdłuższy ciąg ma długość 4 i rozpoczyna się w dniu 2022-01-22, ponieważ jest to pierwszy taki dzień wśród powyższych danych, w którym stopień zachmurzenia nie wzrasta w stosunku do dnia poprzedniego (jest taki sam) oraz produkcja nie maleje.

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

Długość ciągu:

Data pierwszego dnia:

Zadanie 6.3

Dla każdego dnia oblicz czas nasłonecznienia w godzinach (czyli czas od wschodu do zachodu słońca). Wynik zaokrąglij w dół do liczby całkowitej.

Utwórz zestawienie, w którym dla każdej liczby godzin nasłonecznienia podasz średnie ilości wyprodukowanej energii, oddanej energii i pobranej energii. Na podstawie wykonanego zestawienia utwórz wykres liniowy porównujący te wartości w całym roku. Pamiętaj o czytelnym opisie wykresu (tytuł, legenda, tytuły osi).

Przykład. Dla fragmentu danych:

datawschzachst_zachprodukcjaoddaniepobranie
2022-01-0107:42:5615:36:0707,783,294,56
2022-01-0207:42:4715:37:1244,471,233,99
2022-01-0307:42:3515:38:2046,024,742,56
2022-01-0407:42:1915:39:3062,631,225,22
2022-01-0507:42:0015:40:4327,995,684,22
2022-01-0607:41:3815:41:5834,653,242,57
2022-01-0707:41:1215:43:1617,912,342,22
2022-01-0807:40:4315:44:3617,242,582,47
2022-01-0907:40:1115:45:5917,962,741,95

w dniach od 1 do 5 stycznia nasłonecznienie trwa 7 godzin (po zaokrągleniu w dół do liczby całkowitej), a od 6 do 9 stycznia – 8 godzin (również po odpowiednim zaokrągleniu).

Otrzymane zestawienie dla przykładowych danych powinno wyglądać następująco:

liczba godzin nasłonecznieniaŚrednia z produkcjiŚrednia z oddaniaŚrednia z pobrania
75,7783,2324,11
86,942,7252,3025

Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE – zestawienie średnich oraz gotowy wykres.

Zadanie 6.4

Za możliwość przesłania wytworzonej, ale niewykorzystanej energii do zakładu energetycznego i późniejszego jej pobrania w dowolnym momencie przez gospodarstwo domowe zakład energetyczny pobiera prowizję wynoszącą 20% energii przesłanej przez gospodarstwo.

Przykład. Jeżeli pan Iksiński prześle 1 kWh energii do zakładu, to może pobrać bez opłat 0,8 kWh, gdy będzie tego potrzebował.

Zakładamy, że na początku okresu rozliczeniowego przed 1 stycznia 2022 pan Iksiński miał na swoim koncie w zakładzie (czyli możliwej do odebrania energii) 100 kWh. Przy danych z zadania ta wartość powoduje, że żadnego dnia 2022 roku panu Iksińskiemu nie zabraknie energii (czyli stan konta nie spadnie poniżej 0).

a) Po uwzględnieniu powyższych informacji oraz przesłanej energii do zakładu i odbieranej każdego dnia z zakładu podaj, ile było takich dni w 2022 roku, w których pan Iksiński miał na swoim koncie w zakładzie mniej niż 50 kWh.

Uwaga: Pamiętaj, że jeśli pan Iksiński przesyła do zakładu 1 kWh, to na jego konto trafia 0,8 kWh energii.

Odpowiedź a):

b) Jaki powinien być minimalny początkowy stan konta (stan przed 1 stycznia 2022), aby pan Iksiński miał możliwość odbierania energii z zakładu energetycznego, bez potrzeby jej dokupowania? Wynik podaj zaokrąglony w górę do liczby całkowitej.

Uwaga: Przy początkowym stanie sumarycznie przesłanej energii w ilości 100 kWh pan Iksiński mógł na koniec dnia 31.01.2022 odebrać 78,634 kWh.

Odpowiedź b):

08

Zadanie 7. Fryzjerzy

W czterech plikach tekstowych zapisano dane dotyczące wizyt klientów w salonie fryzjerskim. Pierwszy wiersz każdego z plików jest wierszem nagłówkowym, a dane w plikach są rozdzielone znakiem tabulacji i są zapisane bez polskich znaków.

Plik o nazwie klienci.txt zawiera dane 400 klientów salonu fryzjerskiego. Są to:

  • id_klienta – identyfikator klienta
  • imie – imię klienta
  • nazwisko – nazwisko klienta
  • emeryt – informacja o tym, czy klient jest emerytem (TAK/NIE)

Przykład.

id_klientaimienazwiskoemeryt
K001GenowefaKurdzielewiczNIE
K002JoannaSapekNIE
K003MateuszFidoNIE

W pliku fryzjerzy.txt znajdują się dane fryzjerów pracujących w salonie:

  • id_fryzjera – identyfikator fryzjera
  • imie – imię fryzjera

Przykład.

id_fryzjeraimie
F01Anna
F02Natalia

Plik uslugi.txt zawiera nazwy usług fryzjerskich realizowanych przez salon:

  • id_uslugi – identyfikator usługi
  • nazwa – nazwa usługi
  • cena – cena usługi (w zł.)

Przykład.

id_usluginazwacena
Z07Modelowanie (wlosy krotkie)60
Z08Modelowanie (wlosy srednie)70
Z09Modelowanie (wlosy dlugie)80

W pliku wizyty.txt znajduje się wykaz zrealizowanych usług fryzjerskich:

  • id_wizyty – identyfikator wizyty
  • id_klienta – identyfikator klienta korzystającego z usługi
  • id_fryzjera – identyfikator fryzjera, który realizował usługę
  • id_uslugi – identyfikator usługi
  • termin – data i godzina rozpoczęcia usługi

Przykład.

id_wizytyid_klientaid_fryzjeraid_uslugitermin
1K317F13Z482023-05-19 14:00
2K255F10Z202023-02-10 12:00

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 imię i nazwisko osoby, która wydała najwięcej na usługi fryzjerskie. Podaj również sumę jej wydatków.

Poniżej wpisz odpowiedź i kliknij Sprawdź.

Imię i nazwisko:

Suma wydatków:

Zadanie 7.2

Podaj identyfikatory oraz imiona i nazwiska tych klientów, którzy co najmniej jeden raz skorzystali z usług fryzjera o takim samym imieniu jak ten klient. Otrzymane zestawienie uporządkuj alfabetycznie według imion.

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

Zadanie 7.3

Codziennie w godzinach 10:00–12:00 emeryci otrzymują 10% rabatu na wszystkie usługi. Rabat przysługuje, gdy usługa rozpoczęła się w godzinach 10:00–12:00 włącznie. Podaj łączną sumę udzielonych rabatów.

Poniżej wpisz odpowiedź i kliknij Sprawdź.

Łączna suma rabatów:

Zadanie 7.4

Podaj identyfikatory i imiona tych fryzjerów, którzy pracowali w kwietniu, ale nie wykonali w tym miesiącu usługi o nazwie Strzyzenie meskie.

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

Zadanie 7.5

Zakład fryzjerski rozwinął się w sieć salonów, zatrudnił więcej fryzjerów i rozbudował swoją bazę danych. Do tabel utworzonych na podstawie opisanych wcześniej plików dodano tabelę salony, która zawiera następujące pola:

  • id_salonu – identyfikator salonu
  • nazwa_salonu – nazwa salonu
  • miejsce – adres salonu.

Do tabeli fryzjerzy dodano pole id_salonu, które określa miejsce pracy fryzjera.

Napisz w języku SQL zapytanie, w wyniku którego uzyskasz identyfikatory wszystkich klientów, dla których usługi były wykonane przez pracowników salonu o nazwie Magnolia. Identyfikatory klientów nie mogą się powtarzać.

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.