Arkusz maturalny z informatyki rozszerzonej, czerwiec 2024 (Formuła 2015, 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 2024 (Formuła 2015, termin dodatkowy). Egzamin składał się z dwóch części: części I (zadania 1–3, 60 minut, 15 punktów) oraz części II (zadania 4–6, 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) kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE. Pełną treść zadań znajdziesz też w arkuszu PDF.
Dodatnią liczbę całkowitą L nazywamy liczbą nieliczną, jeżeli w jej zapisie binarnym cyfry 1 nie sąsiadują ze sobą.
Uzupełnij tabelę – w drugiej kolumnie podaj zapis binarny liczby podanej w zapisie o podstawie 8 oraz liczby podanej w zapisie szesnastkowym, w trzeciej kolumnie wpisz PRAWDA gdy podana liczba jest nieliczna, albo FAŁSZ – w przeciwnym przypadku.
| Liczba L | Zapis binarny liczby L | Czy liczba L jest nieliczna? |
|---|---|---|
| 259₁₀ | 100000011 | FAŁSZ |
| 20012₈ | ||
| 3574₁₆ |
W wybranej przez siebie notacji (w pseudokodzie lub języku programowania) napisz funkcję czy_nieliczna(k), która sprawdzi, czy dana dodatnia liczba k jest liczbą nieliczną.
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, reszta z dzielenia), porównywanie liczb, instrukcje sterujące, przypisania do zmiennych lub samodzielnie napisane funkcje, wykorzystujące powyższe operacje. Zabronione jest używanie funkcji wbudowanych oraz operatorów innych niż wymienione, dostępnych w językach programowania. W szczególności nie wolno używać żadnych funkcji zamiany zapisu liczb między systemami pozycyjnymi.
k – dodatnia liczba całkowita
Wynik:
PRAWDA – jeżeli liczba k, jest liczbą nieliczną, 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.
czy_nieliczna(k):
poprzednia ← 0
dopóki k > 0 wykonuj
aktualna ← k mod 2
k ← k div 2
jeżeli (aktualna = 1 i poprzednia = 1)
wynik FAŁSZ i zakończ
poprzednia ← aktualna
wynik PRAWDA i zakończDane są dodatnia liczba całkowita n oraz n-elementowy ciąg liczb, zapisany w tablicy A[1..n]. Przeanalizuj poniższy algorytm.
Algorytm 1:
p ← 1
m ← 1
dla i = 1, 2, …, n wykonuj
licz ← 0
dla j = 1, 2, …, n wykonuj
jeżeli A[i] = A[j] wykonuj
licz ← licz + 1
jeżeli licz > m wykonuj
p ← i
m ← licz
Jakie wartości przyjmą: p, A[p] i m po wykonaniu powyższego algorytmu dla ciągu z tablicy A = [7, 9, 15, 0, 6, 7, 6, 10, 15, 6, 0] ?
p =
A[p] =
m =
Podaj, ile razy w algorytmie 1. dla podanych wartości n wykonywana jest operacja sprawdzenia, czy A[i] = A[j].
| n | Ile razy sprawdzany jest warunek A[i] = A[j] |
|---|---|
| 3 | |
| n |
Uzupełnij luki w algorytmie 2. tak, by stanowił on odpowiednik algorytmu 1., w którym operacja porównania A[i] = A[j] jest wykonywana nie więcej niż n(n-1)2 razy.
Algorytm 2:
p ← 1
m ← 1
dla i = wykonuj
licz ←
dla j = wykonuj
jeżeli A[i] = A[j] wykonuj
licz ← licz + 1
jeżeli licz > m wykonuj
p ← i
m ← liczUwaga: to zadanie otwarte – odpowiedź z klucza CKE jest jedynie przykładowa; istnieją również inne poprawne rozwiązania. Klucz CKE podaje dwa przykładowe poprawne zestawy luk:
(1) 1, 2, …, n-1 (2) 1 (3) i+1, i+2, …, n (1) 1, 2, …, n-m (2) 1 (3) i+1, i+2, …, n
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.
W tabeli miasta zamieszczono informacje o liczbie ludności miast Polski. Zawartość tabeli miasta:
| identyfikator | miasto | wojewodztwo | ludnosc |
|---|---|---|---|
| 767 | Szamotuły | wielkopolskie | 18853 |
| 768 | Szczawnica | małopolskie | 5711 |
| 769 | Szczawno-Zdrój | dolnośląskie | 5569 |
| 770 | Szczebrzeszyn | lubelskie | 4964 |
| 771 | Szczecin | zachodniopomorskie | 401907 |
Dla podanych danych w wyniku zapytania
SELECT ludnosc FROM miasta WHERE identyfikator > 770 OR miasto = "Szamotuły"
otrzymamy
| Nr | Zdanie | P / F |
|---|---|---|
| 1. | dwie liczby | |
| 2. | pusty wynik | |
| 3. | 401907 | |
| 4. | 420760 |
Wynik dodawania liczb binarnych 1011101₂ oraz 111₂ jest:
| Nr | Zdanie | P / F |
|---|---|---|
| 1. | równy 1100110₂ | |
| 2. | mniejszy niż 1111111₂ | |
| 3. | większy niż 1110000₂ | |
| 4. | równy 1100100₂ |
W pliku slowa.txt danych jest 1000 słów (napisów) złożonych z małych liter alfabetu angielskiego. Słowa mają długość mieszczącą się w przedziale od 1 do 200 znaków.
Napisz program(-my), dający(-e) odpowiedzi do poniższych zadań. Uzyskane odpowiedzi zapisz w pliku wyniki4.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Do Twojej dyspozycji jest plik slowa_przyklad.txt, który zawiera 10 słów w podanym formacie. Odpowiedzi dla tego pliku są podane w treści zadań. Pamiętaj, że Twój program musi ostatecznie działać dla pliku slowa.txt, zawierającego 1000 słów.
Podaj, w ilu spośród podanych słów znajduje się trójliterowy fragment "k?t", gdzie ? oznacza dowolną pojedynczą literę (taki fragment występuje na przykład w słowach "alamakota", albo "brokat", ale nie – w słowie "krata".)
Dla pliku slowa_przyklad.txt odpowiedzią jest
2
Poniżej podaj odpowiedź dla pełnego pliku slowa.txt i kliknij Sprawdź.
Odpowiedź:
Wypisz wszystkie pięcioliterowe fragmenty zaczynające się i kończące literą "e", które zawierają się w słowach z pliku slowa.txt.
Dla pliku slowa_przyklad.txt odpowiedzią jest
erefe efere
Poniżej wpisz wszystkie pięcioliterowe fragmenty dla pełnego pliku slowa.txt (po jednym w wierszu lub oddzielone spacjami) i kliknij Sprawdź.
Alfabet angielski zawiera 26 liter. Kodowanie ROT13 zamienia każdą literę na literę, która jest na pozycji o 13 miejsc dalej w alfabecie (a→n, b→o itd.), przy czym po przekroczeniu „z" liczymy z powrotem od „a" (czyli m→z, ale n→a, o→b, i tak dalej).
Słowo aren ma ciekawą własność – po zakodowaniu za pomocą ROT13 staje się słowem nera, czyli tym samym słowem czytanym od tyłu.
Podaj, ile w pliku slowa.txt jest słów, które mają tę własność. Wypisz ich liczbę oraz najdłuższe z nich.
Dla pliku slowa_przyklad.txt odpowiedzią jest
2
aren
(w pliku slowa_przyklad.txt są 2 słowa o tej własności: aren i bo)
Liczba słów:
Najdłuższe słowo:
Znajdź i wypisz z pliku slowa.txt wszystkie takie słowa, w których ta sama litera występuje na co najmniej połowie pozycji (przykładowo: w słowie "owocowo" litera „o" ma 4 wystąpienia na ogólną liczbę 7 liter w słowie i spełnia podany warunek, za to w słowie "ambaras" litera „a" ma tylko 3 wystąpienia na 7 liter, więc nie spełnia podanego warunku).
W pliku slowa_przyklad.txt są 4 takie słowa:
terefere
ananas
bo
alabama
Poniżej wpisz wszystkie takie słowa dla pełnego pliku slowa.txt (po jednym w wierszu lub oddzielone spacjami) i kliknij Sprawdź.
Pewne uzdrowisko słynie z leczniczego źródła wody. W pliku uzdrowisko.txt zapisano przyjazdy i wyjazdy kuracjuszy do tego uzdrowiska w okresie od stycznia do grudnia 2023 roku (wszystkie dane są fikcyjne i wygenerowane na potrzeby zadania).
W każdym wierszu pliku uzdrowisko.txt zapisano następujące dane:
Dane w wierszach są rozdzielone znakiem tabulacji.
Fragment pliku uzdrowisko.txt:
data przyjechali wyjechali 2023-01-01 528 484 2023-01-02 641 625 2023-01-03 352 603 2023-01-04 342 412
Z wykorzystaniem dostępnych narzędzi informatycznych podaj odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku wyniki5.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Utwórz zestawienie łącznej liczby kuracjuszy, którzy przyjechali do uzdrowiska w każdym miesiącu 2023 roku. Dla otrzymanego zestawienia sporządź wykres kolumnowy ilustrujący wyniki. Pamiętaj o prawidłowym i czytelnym opisie wykresu (wstaw tytuł i opisy osi).
Kliknij Pokaż odpowiedź, aby zobaczyć wzorcowe rozwiązanie z klucza CKE – zestawienie miesięczne oraz gotowy wykres.
Zestawienie łącznej liczby kuracjuszy, którzy przyjechali w danym miesiącu:
| miesiąc | liczba kuracjuszy, którzy przyjechali |
|---|---|
| 1 | 15226 |
| 2 | 13394 |
| 3 | 15096 |
| 4 | 15292 |
| 5 | 15723 |
| 6 | 14880 |
| 7 | 16378 |
| 8 | 14778 |
| 9 | 14294 |
| 10 | 15637 |
| 11 | 15272 |
| 12 | 15528 |
Na podstawie zestawienia tworzymy wykres kolumnowy zatytułowany „liczba kuracjuszy, którzy przyjechali w danym miesiącu": na osi X – miesiące, na osi Y – liczba kuracjuszy.
Znajdź najdłuższy ciąg kolejnych dni, w których liczba kuracjuszy, którzy przyjechali, była większa niż liczba wyjeżdżających. Podaj daty początku i końca tego ciągu.
Data początku:
Data końca:
Zakładamy, że w dniu 31.12.2022 w uzdrowisku przebywało 10 000 kuracjuszy. Podaj, w jakim dniu po raz pierwszy liczba kuracjuszy (po przyjeździe nowych i wyjeździe wszystkich opuszczających uzdrowisko w danym dniu) przekroczyła 11 000, oraz podaj datę, kiedy liczba kuracjuszy (po przyjeździe nowych i wyjeździe wszystkich opuszczających uzdrowisko w danym dniu) była największa.
Data, kiedy liczba kuracjuszy przekroczyła 11 000:
Data, kiedy liczba kuracjuszy była największa:
Źródło ma wydajność 3900 litra/dobę. Każdy z kuracjuszy pije dziennie 0,4 litra wody ze źródła. Jeżeli wydajność źródła jest większa niż łączne potrzeby kuracjuszy danego dnia, to pozostałą ilość wody uzdrowisko butelkuje w szklanych butelkach o pojemności 5 litrów (butelki zawsze wypełnia się do pełna, a pozostała woda jest zużywana do innych celów). W przypadku, gdy wydajność dobowa źródła jest zbyt mała, aby zaspokoić potrzeby wszystkich kuracjuszy obecnych w uzdrowisku, pracownicy uzdrowiska brakującą wodę podają z butelek. Przy tym każda otwarta butelka zawsze jest zużywana do końca i w pierwszej kolejności na potrzeby kuracjuszy, tj. jeśli zostanie jakaś część wody w ostatniej użytej butelce, to zostanie wykorzystana do innych celów (nie liczymy jej w następnym dniu).
Uwaga: zakładamy, że:
a) Podaj datę, kiedy po raz pierwszy zabrakło zarówno wody ze źródła, jak i wody butelkowanej, aby zaspokoić potrzeby wszystkich kuracjuszy przebywających w danym dniu w uzdrowisku.
b) Podaj łączną liczbę dni, w których zabrakło wody dla wszystkich kuracjuszy.
c) Podaj najmniejszą liczbę butelek wody, jaka powinna znajdować się w dniu 31.12.2022 w magazynie uzdrowiska, aby wody nie zabrakło przez cały rok.
a)
b)
c)
W pewnym centrum medycznym odbywają się szczepienia. Lekarz przepisuje pacjentowi odpowiednią dla niego szczepionkę, a każda szczepionka ma rekomendowaną liczbę dawek. Pacjent zostaje uznany za zaszczepionego, jeśli przyjmie wszystkie dawki rekomendowane dla danej szczepionki. Dane dotyczące szczepień od 2 stycznia 2023 do 7 maja 2024 są zapisane w dwóch plikach: szczepionki.txt oraz wizyty.txt. Pierwszy wiersz w każdym pliku jest wierszem nagłówkowym i zawiera nazwy odpowiednich pól. Dane w wierszach rozdzielone są znakiem tabulacji.
Plik o nazwie szczepionki.txt zawiera informacje szczepionkach. W każdym wierszu znajduje się:
kod_szczepionki – tekst do 10 znaków, określający jednoznacznie szczepionkęliczba_dawek – liczba rekomendowanych dawek, liczba całkowita większa od 0 i mniejsza od 10Przykład:
kod_szczepionki liczba_dawek sz1_3d 3 sz2_1d 1
Plik o nazwie wizyty.txt zawiera informacje o podanej pacjentowi dawce szczepionki. W każdym wierszu znajduje się:
pesel – numer PESEL pacjenta przyjmującego daną dawkę szczepienia, składający się z 11 znakówkod_szczepionki – kod podanej szczepionkidata_szczepienia – data szczepienia w formacie rrrr-mm-ddnumer_dawki – liczba całkowita mniejsza od 10 określająca, która dawka szczepionki została podana.Przykład:
Pesel kod_szczepionki data_szczepienia numer_dawki 79051863861 sz16_1d 2023-01-02 1 84100517145 sz13_5d 2023-01-02 1
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żdej szczepionki podaj, ile łącznie jej dawek zostało podanych pacjentom. Jako wynik podaj listę zawierającą kod szczepionki i liczbę dawek. Lista powinna być posortowana nierosnąco według liczby dawek.
Kliknij Pokaż odpowiedź, aby zobaczyć rozwiązanie z klucza CKE.
| kod_szczepionki | liczba dawek |
|---|---|
| sz15_5d | 111 |
| sz10_4d | 83 |
| sz21_5d | 82 |
| sz17_4d | 81 |
| sz20_5d | 79 |
| sz9_5d | 73 |
| sz3_5d | 72 |
| sz13_5d | 71 |
| sz1_3d | 69 |
| sz6_3d | 64 |
| sz7_5d | 60 |
| sz12_3d | 60 |
| sz24_3d | 59 |
| sz22_3d | 45 |
| sz18_2d | 38 |
| sz19_2d | 35 |
| sz4_2d | 34 |
| sz8_2d | 29 |
| sz16_1d | 28 |
| sz11_1d | 25 |
| sz23_1d | 23 |
| sz5_1d | 23 |
| sz14_1d | 16 |
| sz2_1d | 15 |
Podaj, ilu różnych pacjentów przyjęło przynajmniej jedną dawkę szczepionki o kodzie sz12_3d. Podaj, ile wśród nich było kobiet (płeć określa przedostatnia cyfra numeru PESEL, cyfra parzysta oznacza płeć żeńską).
Liczba pacjentów:
Liczba kobiet:
Podaj rok i miesiąc, w którym najwięcej osób ukończyło szczepienie (czyli: w tym miesiącu przyjęło ostatnią rekomendowaną dawkę danego szczepienia). Podaj także liczbę osób, które ukończyły szczepienie w tym terminie.
Rok i miesiąc:
Liczba pacjentów:
Podaj, ilu pacjentów zostało zaszczepionych częściowo (czyli: przyjęło przynajmniej jedną dawkę szczepionki, ale nie przyjęło wszystkich rekomendowanych dawek).
Odpowiedź:
Wykonaj zestawienie, w którym dla każdego dnia tygodnia (poniedziałek – niedziela) policzysz, ile szczepień zostało wykonanych tego dnia. Zestawienie posortuj według dnia tygodnia.
Kliknij Pokaż odpowiedź, aby zobaczyć rozwiązanie z klucza CKE.
| dzień tygodnia | liczba szczepień |
|---|---|
| 1 (poniedziałek) | 172 |
| 2 (wtorek) | 164 |
| 3 (środa) | 179 |
| 4 (czwartek) | 208 |
| 5 (piątek) | 182 |
| 6 (sobota) | 185 |
| 7 (niedziela) | 185 |