Arkusz maturalny z informatyki rozszerzonej, maj 2024 (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 2024 (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.
Dana jest prostokątna plansza złożona z n wierszy i m kolumn zawierająca n * m pól. Wiersze są ponumerowane od góry kolejnymi liczbami 1, 2, …, n, natomiast kolumny od lewej do prawej kolejnymi liczbami 1, 2, …, m. Każde pole jest albo białe, albo czarne.
Planszę możemy opisać jako tablicę dwuwymiarową A[1..n][1..m], w której A[i][j] = 0, jeśli pole w i-tym wierszu i j-tej kolumnie jest czarne, natomiast A[i][j] = 1, jeśli to pole jest białe. Pola w lewym górnym rogu oraz prawym dolnym rogu zawsze są białe (czyli A[1][1] = 1 oraz A[n][m] = 1).
Rozważmy następujący algorytm, w którym jest wykorzystywana pomocnicza tablica P[1..n][1..m], przyjmująca wartości logiczne (PRAWDA albo FAŁSZ).
n, m – liczby całkowite dodatnie, wymiary planszy
A[1..n][1..m] – opis planszy
Wynik
PRAWDA albo FAŁSZP[1][1] ← PRAWDA dla i = 1, 2, ..., n wykonuj dla j = 1, 2, .., m wykonuj jeżeli A[i][j] = 0 P[i][j] ← FAŁSZ w przeciwnym przypadku jeżeli i = 1 oraz j ≠ 1 P[i][j] ← P[i][j – 1] jeżeli i ≠ 1 oraz j = 1 P[i][j] ← P[i – 1][j] jeżeli i ≠ 1 oraz j ≠ 1 P[i][j] ← P[i][j – 1] lub P[i – 1][j] podaj wynik P[n][m]
Podaj wynik działania algorytmu dla plansz podanych na rysunkach poniżej, gdzie n to liczba wierszy, a m to liczba kolumn danej planszy.
a) n = 3, m = 3
Wynik:
b) n = 5, m = 3
Wynik:
c) n = 5, m = 5
Wynik:
Przy założeniu, że lewy górny i prawy dolny róg planszy są białe, podaj przykład planszy (zamaluj odpowiednie pola lub wpisz w nie zera):
a) o 5 wierszach i 5 kolumnach, na której co najwyżej 2 pola są czarne, a wynikiem działania algorytmu jest FAŁSZ
b) o 4 wierszach i 4 kolumnach, na której co najmniej 9 pól jest czarnych, a wynikiem działania algorytmu jest PRAWDA.
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.
Podpunkt a) – przykładowe plansze 5×5 (białe pole = 1, czarne = 0), na których wynikiem jest FAŁSZ:
Podpunkt b) – przykładowe plansze 4×4 z co najmniej 9 czarnymi polami, na których wynikiem jest PRAWDA:
Uwaga: Musi istnieć ścieżka przejścia po białych polach od lewego górnego rogu do prawego dolnego, taka że poruszamy się tylko w prawo lub w dół.
Dana jest kwadratowa plansza o n wierszach i n kolumnach.
Podaj, jaka jest największa możliwa liczba czarnych pól na tej planszy, dla których wynikiem działania algorytmu jest PRAWDA.
Odpowiedź:
Przeanalizuj poniższy algorytm, który dla danej nieujemnej liczby całkowitej n oblicza liczbę całkowitą c.
b ← 1 c ← 0 dopóki n > 0 wykonuj a ← n mod 10 n ← n div 10 jeżeli (a mod 2 = 0) c ← c + b * (a div 2) w przeciwnym razie c ← c + b b ← b * 10
Uwaga: x mod y, x div y oznaczają – odpowiednio – resztę i iloraz z dzielenia całkowitego x przez y.
Uzupełnij poniższą tabelę – dla każdej z podanych liczb wpisz wartość zmiennej c po wykonaniu algorytmu oraz liczbę wykonań instrukcji c ← c + b.
| n | Wartość c po wykonaniu algorytmu dla danego n | Liczba wykonań instrukcji c ← c + b |
|---|---|---|
| 33658 | 11314 | 3 |
| 542102 | ||
| 87654321012345678 |
Podaj wartość c po wykonaniu algorytmu dla osiemnastocyfrowej liczby całkowitej n, w której pierwszych sześć cyfr to 3, następnych sześć cyfr to 6, a pozostałych sześć cyfr to 9.
c =
Nieparzystym skrótem dodatniej liczby całkowitej n nazwiemy dodatnią liczbę całkowitą m, która powstaje przez usunięcie cyfr parzystych z zapisu dziesiętnego liczby n. Nieparzysty skrót liczby całkowitej n nie istnieje, gdy jej zapis dziesiętny składa się tylko z cyfr parzystych.
Przykład:
Nieparzystym skrótem liczby 294762 jest liczba 97.
Nieparzystym skrótem liczby 39101 jest liczba 3911.
Nieparzysty skrót liczby 224 nie istnieje.
W postaci pseudokodu lub w wybranym języku programowania napisz funkcję, która dla dodatniej całkowitej liczby n, takiej że istnieje dla niej nieparzysty skrót, wyznaczy liczbę m – nieparzysty skrót liczby 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.
n – dodatnia liczba całkowita, taka że istnieje dla niej nieparzysty skrót
Wynik
m – nieparzysty skrót 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.
m ← 0 p ← 1 dopóki n > 0 cyfra ← n mod 10 jeżeli cyfra mod 2 ≠ 0 m ← m + cyfra * p p ← p * 10 n ← n div 10
Plik skrot.txt zawiera 200 dodatnich liczb całkowitych, mniejszych od 30 000. Każda liczba jest zapisana w osobnym wierszu. Dla co najmniej jednej z tych liczb nie istnieje nieparzysty skrót.
Napisz program, który wyznaczy liczbę wszystkich liczb z pliku skrot.txt, dla których nie istnieje nieparzysty skrót, oraz poda największą z nich. Odpowiedź zapisz w pliku wyniki3_2.txt.
Plik skrot_przyklad.txt zawiera 20 liczb mniejszych od 30 000. Dla danych zawartych w pliku skrot_przyklad.txt prawidłową odpowiedzią jest:
2 2428
(w pliku są dwie liczby, dla których nie istnieje nieparzysty skrót: 266 i 2428; 2428 jest największą z nich).
Poniżej podaj odpowiedź dla pełnego pliku skrot.txt – liczbę liczb bez nieparzystego skrótu oraz największą z nich – i kliknij Sprawdź.
Plik skrot2.txt zawiera 200 dodatnich liczb całkowitych, mniejszych od 30 000. Każda liczba jest zapisana w osobnym wierszu. Dla każdej z tych liczb istnieje nieparzysty skrót.
Napisz program, który wypisze te liczby z pliku skrot2.txt, dla których największy wspólny dzielnik liczby i jej nieparzystego skrótu jest równy 7. Odpowiedź zapisz w pliku wyniki3_3.txt. Twój program powinien wypisać w każdym wierszu wyniku po jednej liczbie z pliku skrot2.txt, dla której jest spełniony powyższy warunek.
Plik skrot2_przyklad.txt zawiera 20 liczb spełniających warunki zadania. Dla danych zawartych w pliku skrot2_przyklad.txt prawidłową odpowiedzią jest:
4872 23527
Poniżej podaj odpowiedź dla pełnego pliku skrot2.txt – każdą liczbę w osobnym wierszu – i kliknij Sprawdź.
Plik liczby.txt składa się z dwóch wierszy:
pierwszy wiersz pliku zawiera 3000 liczb pierwszych z przedziału [2, 2000]
drugi wiersz pliku zawiera 20 liczb całkowitych z przedziału [2, 1 000 000 000].
Liczby w wierszach są rozdzielone znakami spacji.
Napisz program (lub kilka programów), który(-e) znajdzie(-ą) odpowiedzi do podanych zadań. Każdą odpowiedź zapisz w pliku wyniki4.txt i poprzedź ją numerem oznaczającym zadanie.
Do Twojej dyspozycji jest plik liczby_przyklad.txt, który zawiera 200 liczb w pierwszym wierszu (są to wyłącznie liczby 2, 3, 5, 7 i 31) oraz 20 liczb w drugim wierszu. Odpowiedzi dla danych z tego pliku są umieszczone pod każdym zadaniem.
Pamiętaj, że Twój program musi ostatecznie zadziałać na pliku liczby.txt z 3000 liczb w pierwszym wierszu.
Podaj, ile liczb z pierwszego wiersza jest dzielnikiem jakiejkolwiek liczby spośród liczb z drugiego wiersza.
Dla pliku liczby_przyklad.txt odpowiedzią jest 199 (tylko liczba 31, która występuje raz, nie jest dzielnikiem żadnej z liczb w drugim wierszu).
Poniżej podaj odpowiedź dla pełnego pliku liczby.txt i kliknij Sprawdź.
Odpowiedź:
Spośród liczb z pierwszego wiersza podaj liczbę, która jest sto pierwszą liczbą w kolejności, licząc od największej po ich uporządkowaniu.
Przykład: wśród liczb 2, 4, 2, 3, 3, 4 drugą w kolejności, licząc od największej, jest liczba 4.
Dla pliku liczby_przyklad.txt odpowiedzią jest 5.
Poniżej podaj odpowiedź dla pełnego pliku liczby.txt i kliknij Sprawdź.
Odpowiedź:
Dla każdej z liczb z drugiego wiersza rozstrzygnij, czy da się ją przedstawić jako iloczyn jedynie liczb z pierwszego wiersza. Przy tym liczba wystąpień danego czynnika w iloczynie nie może być większa niż liczba wystąpień tego czynnika w pierwszym wierszu. Znajdź wszystkie liczby, które da się tak przedstawić, i je wypisz.
Dla pliku liczby_przyklad.txt odpowiedzią są liczby:
10 12 14 15 18 20 21 25 27 28
(liczbę 16 można przedstawić jako iloczyn 2·2·2·2, jednak w pierwszym wierszu liczba 2 występuje tylko dwa razy, więc 16 nie należy do rozwiązania. Podobnie jest z liczbą 24, którą można przedstawić jako iloczyn 2·2·2·3).
Poniżej podaj odpowiedź dla pełnego pliku liczby.txt – każdą liczbę w osobnym wierszu – i kliknij Sprawdź.
Znajdź w ciągu liczb z pierwszego wiersza spójny fragment, który zawiera co najmniej 50 elementów i którego średnia arytmetyczna jest największa. Jeżeli jest więcej niż jeden taki fragment, wybierz ten, który występuje jako pierwszy w pliku liczby.txt.
W odpowiedzi wypisz:
znalezioną najwyższą średnią
liczbę elementów ciągu z tą najwyższą średnią
liczbę, która jest pierwszym elementem tego ciągu.
Dla pliku liczby_przyklad.txt odpowiedzią jest:
5,52 50 5
(największa średnia to 5,52 dla 50 liczb zaczynających się od liczby 5).
Poniżej podaj odpowiedź dla pełnego pliku liczby.txt i kliknij Sprawdź.
Najwyższa średnia:
Liczba elementów w ciągu:
Liczba początkowa (pierwszy element ciągu):
Oceń prawdziwość podanych zdań. Zaznacz P, jeśli zdanie jest prawdziwe, albo F – jeśli jest fałszywe.
| Nr | Zdanie | P / F |
|---|---|---|
| 1. | HTTP to protokół komunikacyjny opisujący sposób przekazywania poczty elektronicznej w internecie. | |
| 2. | FTP to protokół zamiany nazw domenowych na adresy IP. | |
| 3. | DHCP to protokół umożliwiający hostom uzyskanie od serwera danych konfiguracyjnych, np. adresu IP, adresu bramy sieciowej, adresu serwera DNS. |
Wykonaj działania na liczbach zapisanych w systemie trójkowym i systemie dziewiątkowym. Wyniki podaj w systemie trójkowym.
101112₃ + 121₉ =
101112₃ – 121₉ =
Pewna hurtownia sprzedaje jabłka. W pliku jablka.txt znajduje się 2500 wierszy z danymi dotyczącymi sprzedaży jabłek od 3 stycznia 2022 roku do 31 grudnia 2022 roku. W każdym wierszu podane są dane opisujące jedną transakcję sprzedaży, oddzielone pojedynczymi znakami tabulacji:
data sprzedaży zapisana w formacie rrrr-mm-dd
nazwa odmiany jabłka
kod, który określa, czy odmiana jest: L – letnia, J – jesienna czy Z – zimowa
numer NIP klienta (13-znakowy tekst)
liczba kilogramów sprzedanego towaru.
Fragment pliku jablka.txt:
| 2022-01-03 | Jonagold | Z | 128-29-15-591 | 470 |
|---|---|---|---|---|
| 2022-01-03 | Jonagold | Z | 192-09-72-275 | 410 |
| 2022-01-03 | Jonagored | Z | 140-36-11-559 | 242 |
Cena sprzedaży jednego kilograma jabłek zależy od odmiany jabłek. W pliku cennik.txt jest podana cena w złotych 1 kg jabłek każdej odmiany.
Fragment pliku cennik.txt:
| Alwa | 2,9 |
|---|---|
| Antonowka | 3,2 |
| Cortland | 3,2 |
Z wykorzystaniem powyższych danych oraz dostępnych narzędzi informatycznych wykonaj podane zadania. Wyniki zapisz w pliku tekstowym wyniki7.txt. Odpowiedź do każdego zadania poprzedź numerem tego zadania.
Dla każdego klienta policz, ile kupił on łącznie (we wszystkich swoich transakcjach) kilogramów jabłek odmian zimowych. Podaj numery NIP trzech klientów, którzy kupili najwięcej jabłek odmian zimowych (Z), oraz podaj dla każdego z nich liczbę kilogramów jabłek odmian zimowych przez nich kupionych.
| Numer NIP | Liczba kilogramów jabłek odmian zimowych |
|---|---|
Przychód z pojedynczej sprzedaży to cena sprzedaży jednego kilograma jabłek pomnożona przez liczbę kilogramów. Podaj całkowity przychód hurtowni uzyskany w całym okresie. Podaj nazwę odmiany jabłek, która dała największy przychód.
Całkowity przychód [zł]:
Odmiana z największym przychodem:
Wykonaj zestawienie, w którym dla każdego miesiąca roku 2022 podasz nazwę najbardziej popularnej odmiany w tym miesiącu, czyli takiej, której w danym miesiącu sprzedano najwięcej. Na podstawie wykonanego zestawienia utwórz wykres kolumnowy ilustrujący wielkości sprzedaży najpopularniejszych odmian jabłek w poszczególnych miesiącach. Pamiętaj o czytelnym opisie wykresu – na osi X umieść dla każdego miesiąca jego nazwę połączoną z nazwą najbardziej popularnej odmiany w tym miesiącu, dodaj opis osi Y i tytuł wykresu.
Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE.
Zestawienie najpopularniejszych odmian w poszczególnych miesiącach 2022 roku wraz z liczbą sprzedanych kilogramów:
styczeń-Gala 14017, luty-Gala 14969, marzec-Jonagored 15079, kwiecień-Gala 19404, maj-Gala 17382, czerwiec-Reneta 18661, lipiec-Melba 21216, sierpień-Reneta 19054, wrzesień-Reneta 20881, październik-Reneta 17065, listopad-Reneta 19755, grudzień-Jonagored 13425.
Na podstawie zestawienia tworzymy wykres kolumnowy zatytułowany „Najpopularniejsze gatunki w miesiącach 2022 roku": na osi X – nazwa miesiąca połączona z nazwą najpopularniejszej odmiany, na osi Y – liczba kg.
Hurtownia ma system premiowania klientów hurtowych. Klient otrzymuje przy zakupie rabat, którego wysokość zależy od łącznej ilości jabłek zakupionych do tej pory przez tego klienta, wliczając w to jabłka zakupione w bieżącej transakcji.
Wysokość rabatu za każdy kilogram w bieżącej transakcji wynosi:
5 gr, jeśli klient dotychczas zakupił co najmniej 15 000 kg, ale mniej niż 20 000 kg
10 gr, jeśli klient dotychczas zakupił co najmniej 20 000 kg.
Podaj, w ilu transakcjach hurtownia udzieliła rabatu, oraz podaj łączną wartość tych rabatów w złotych.
Przykład:
Załóżmy, że przed 1.04.2022 klient z NIP 128-29-15-591 zakupił łącznie 10 000 kg jabłek, klient 192-09-72-275 nabył 14 900 kg, a klient 140-36-11-559 – kupił 19 900 kg. Wtedy dla przykładowych danych 1.04.2022:
| 2022-04-01 | Jonagold | Z | 128-29-15-591 | 470 |
|---|---|---|---|---|
| 2022-04-01 | Jonagold | Z | 192-09-72-275 | 410 |
| 2022-04-01 | Jonagored | Z | 140-36-11-559 | 242 |
pierwszy klient, po dokonaniu transakcji 1.04.2022, będzie miał już 10 470 kg zakupionych jabłek i dla tej transakcji jeszcze nie należy się rabat
drugi klient, po dokonaniu transakcji 1.04.2022, będzie miał już 15 310 kg zakupionych jabłek, czyli podczas tej transakcji otrzyma 5 gr rabatu na każdy kilogram kupowanych tego dnia jabłek (5 gr * 410 = 20,50 zł rabatu)
trzeci klient, po dokonaniu transakcji 1.04.2022, będzie miał już 20 142 kg zakupionych jabłek i podczas tej transakcji otrzyma 10 gr rabatu za każdy kilogram (10 gr * 242 = 24,20 zł rabatu).
Liczba transakcji z rabatem:
Łączna wartość rabatów [zł]:
W trzech plikach tekstowych o nazwach: kierowcy.txt, taryfikator.txt, rejestr.txt, zapisano dane związane z przekroczeniem dozwolonych prędkości pojazdów na pewnej trasie w okresie 2023-01-01 – 2023-12-30 (wszystkie dane są fikcyjne i wygenerowane na potrzeby zadania). Pierwszy wiersz każdego z plików jest wierszem nagłówkowym, a dane w wierszach rozdzielono znakiem średnika.
Plik o nazwie kierowcy.txt zawiera informacje o 1000 osobach będących właścicielami samochodów. W każdym wierszu znajduje się:
| Pole | Opis |
|---|---|
IdOsoby | identyfikator kierowcy |
Imie | imię |
Nazwisko | nazwisko |
NrRejestracyjny | numer rejestracyjny samochodu |
Przykład:
IdOsoby;Imie;Nazwisko;NrRejestracyjny 1;Echo;Ayala;FVX4190 2;Nolan;Stein;DUG5882 3;Lee;Joseph;TBG6984
Plik o nazwie taryfikator.txt zawiera informacje o 6 rodzajach wykroczeń związanych z przekroczeniem prędkości. W każdym wierszu znajdują się:
| Pole | Opis |
|---|---|
IdWykroczenia | identyfikator wykroczenia |
Wykroczenie | opis wykroczenia |
Punkty | liczba punktów karnych za dane wykroczenie |
Kwota | kwota mandatu, jaką należy zapłacić za to wykroczenie |
Przykład:
IdWykroczenia;Wykroczenie;Punkty;Kwota 1;Przekroczenie predkosci do 10 km/h;0;50 2;Przekroczenie predkosci od 11 do 20 km/h;2;100 3;Przekroczenie predkosci od 21 do 30 km/h;4;200 4;Przekroczenie predkosci od 31 do 40 km/h;6;300 5;Przekroczenie predkosci od 41 do 50 km/h;8;400 6;Przekroczenie predkosci od 51 km/h;10;500
Plik o nazwie rejestr.txt zawiera 5000 zarejestrowanych wykroczeń związanych z przekroczeniem prędkości. W każdym wierszu znajdują się:
| Pole | Opis |
|---|---|
IdZdarzenia | identyfikator zdarzenia |
Data | data zdarzenia w formacie rrrr-mm-dd |
IdOsoby | identyfikator kierowcy |
IdWykroczenia | identyfikator wykroczenia |
Przykład:
IdZdarzenia;Data;IdOsoby;IdWykroczenia 1;2023-01-01;617;1 2;2023-01-01;956;4
Z wykorzystaniem danych zawartych w podanych plikach oraz dostępnych narzędzi informatycznych podaj odpowiedzi do zadań 8.1.–8.3. Odpowiedzi zapisz w pliku wyniki8.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Podaj imię i nazwisko kierowcy, dla którego suma kwot za wszystkie mandaty była największa, oraz podaj tę największą sumę. Jest tylko jeden taki kierowca.
Imię i nazwisko kierowcy:
Suma kwot mandatów:
W którym miesiącu kierowcy otrzymali najmniej punktów karnych (łącznie) za wykroczenia polegające na przekroczeniu dozwolonej prędkości o więcej niż 20 km/h (wykroczenia o identyfikatorach od 3 do 6)? Podaj miesiąc oraz łączną liczbę punktów karnych z tego miesiąca.
Miesiąc:
Łączna liczba punktów karnych:
Wykonaj zestawienie numerów rejestracyjnych samochodów wraz z imionami i nazwiskami ich właścicieli, którzy nie figurują w rejestrze wykroczeń. Zestawienie posortuj alfabetycznie według numerów rejestracyjnych samochodów.
Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE.
Imię, Nazwisko, NrRejestracyjny: Sandra Wheeler BHW4028 Quynn Travis CJX1859 Jasper Santos KNM7950 Honorato Roth NIP6570 Ivy Bowen QFR8936 Helen White SRU9727 Quentin Tyler XHK9060 Kevin Wright YYS1077
Baza danych rejestru wykroczeń została zmodyfikowana. Dodano nową tabelę Fotoradar, wraz z polami IdFotoradaru, Miejscowosc i DozwolonaPredkosc. Natomiast do tabeli Rejestr zostało dodane pole IdFotoradaru, w którym dla każdego rekordu zapisano identyfikator tego fotoradaru, który zarejestrował dane wykroczenie.
Załóżmy, że w bazie istnieją fotoradary, które nie zarejestrowały żadnych wykroczeń. Zapisz w języku SQL zapytanie, w wyniku którego otrzymasz identyfikatory tych fotoradarów.
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 Fotoradar.IdFotoradaru FROM Fotoradar LEFT JOIN Rejestr ON Fotoradar.IdFotoradaru = Rejestr.IdFotoradaru WHERE Rejestr.IdFotoradaru is Null;