m Matura-Online.pl Rozwiązania zadań maturalnych
MINP-R0-100-2505 • Otwarte rozszerzone • 11 pkt • Trudność: ★★★★☆

Zadanie 6

Matura z informatyki, maj 2025, poziom rozszerzony

Wymaganie:

II.3) przygotowując opracowania rozwiązań złożonych problemów, posługuje się wybranymi aplikacjami w stopniu zaawansowanym: b) stosuje zaawansowane funkcje arkusza kalkulacyjnego w zależności od rodzaju danych […]. P.II.3) przygotowuje opracowania rozwiązań problemów, posługując się wybranymi aplikacjami: c) gromadzi dane pochodzące z różnych źródeł w tabeli arkusza kalkulacyjnego, korzysta z różnorodnych funkcji arkusza w zależności od rodzaju danych, filtruje dane według kilku kryteriów, dobiera odpowiednie wykresy do zaprezentowania danych, analizuje dane, korzystając z dodatkowych narzędzi, w tym z tabel i wykresów przestawnych.

Treść zadania

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:

  • data – data przywozu ładunku w formacie rrrr-mm-dd
  • nazwa_obszaru – nazwa 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 rozdzielone są znakami tabulacji.

Przykład.

data         nazwa_obszaru   masa [kg]   zawartosc [%]
2033-03-03   Cebrenia        27,8        0,2
2033-03-04   Amenthes        11,8        1,7
2033-03-05   Noachis         21,0        6,0
2033-03-06   Coprates        26,3        11,4
2033-03-07   Ismenius Lacus  28,8        0,0
2033-03-08   Mare Boreum     29,2        0,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. (0–2)

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

Zadanie 6.2. (0–1)

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

Zadanie 6.3. (0–2)

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

Zadanie 6.4. (0–3)

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.

Zadanie 6.5. (0–3)

Uwzględnij zasady działania stacji opisane na początku zadania i podaj:

  • ile razy stacja wysyłała ładunek na orbitę
  • datę pierwszego transportu ładunku na orbitę
  • datę ostatniego transportu ładunku na orbitę.

Źródło: arkusz CKE MINP-R0-100-2505. Otwórz oryginalny PDF

Rozwiązanie

Odpowiedzi z zasad oceniania CKE:

  • 6.1. łączna masa ładunków 41498,2 kg, łączna masa martianeum 3092,2943 kg
  • 6.2. Thaumasia
  • 6.3. okres zaczynający się 13.12.2035, masa 174,5 kg
  • 6.4. zestawienie liczby przewozów dla 30 obszarów w latach 2033–2038 (np. Tharsis: 29, 40, 38, 41, 46, 39; Iapygia: 47, 51, 67, 53, 51, 33) i wykres skumulowany kolumnowy
  • 6.5. 30 wysyłek na orbitę; pierwsza 29.05.2033, ostatnia 1.09.2038

Wspólne wczytanie danych (np. pandas):

import pandas as pd

df = pd.read_csv("martianeum.txt", sep="\t", decimal=",")
df["data"] = pd.to_datetime(df["data"])
df["rok"] = df["data"].dt.year

6.1 – łączna masa ładunków i wydobyte martianeum:

masa_lacznie = df["masa [kg]"].sum()
# martianeum wydobyte tylko gdy zawartość >= 1%
df["wydobyte"] = df.apply(
    lambda r: r["masa [kg]"] * r["zawartosc [%]"] / 100
              if r["zawartosc [%]"] >= 1.0 else 0.0,
    axis=1
)
martianeum_lacznie = df["wydobyte"].sum()
print(round(masa_lacznie, 2), round(martianeum_lacznie, 4))

6.2 – obszar o najmniejszej średniej masie:

srednia = df.groupby("nazwa_obszaru")["masa [kg]"].mean()
print(srednia.idxmin())

6.3 – największa masa w 7-dniowym okresie (start 2033-03-03):

from datetime import timedelta
start = pd.Timestamp("2033-03-03")
df["okres"] = ((df["data"] - start) // pd.Timedelta(days=7))
okres_start = df.groupby("okres")["data"].min()  # lub wyliczone z indeksu
suma_okres = df.groupby("okres")["masa [kg]"].sum()
najw = suma_okres.idxmax()
data_start = start + pd.Timedelta(days=int(najw)*7)
print(round(suma_okres[najw], 2), data_start.strftime("%Y-%m-%d"))

6.4 – tabela przewozów obszar × rok + wykres skumulowany kolumnowy:

zestawienie = df.groupby(["nazwa_obszaru", "rok"]).size().unstack(fill_value=0)
zestawienie.plot(kind="bar", stacked=True, title="Liczba przewozów per obszar")
# dalej: opisy osi (xlabel="nazwy obszarów", ylabel="liczba przewozów"), legenda = lata

6.5 – symulacja zasad transportu na orbitę:

df = df.sort_values("data").reset_index(drop=True)
magazyn = 0.0
liczba_transportow = 0
pierwsza, ostatnia = None, None
for _, r in df.iterrows():
    if r["zawartosc [%]"] >= 1.0:
        magazyn += r["masa [kg]"] * r["zawartosc [%]"] / 100
    if magazyn >= 100:          # transporter zabiera 100 kg raz dziennie
        magazyn -= 100
        liczba_transportow += 1
        if pierwsza is None:
            pierwsza = r["data"]
        ostatnia = r["data"]
print(liczba_transportow, pierwsza.strftime("%Y-%m-%d"), ostatnia.strftime("%Y-%m-%d"))

Według treści transporter zabiera na koniec dnia 100 kg, a nadwyżka zostaje na stacji — dlatego w danym dniu jest najwyżej jedna wysyłka.

Typowy błąd / pułapka

W 6.1 martianeum wydobywamy tylko wtedy, gdy zawartość wynosi co najmniej 1%. W 6.3 pierwszy 7-dniowy okres zaczyna się 3 marca 2033 (pierwszy dzień danych), a nie 1 marca. W 6.5 o wysyłce decyduje stan magazynu na koniec dnia (z nadwyżkami z poprzednich dni), a nie sam dzienny urobek; transporter zabiera dokładnie 100 kg, reszta zostaje na stacji. W 6.4 wykres ma być skumulowany kolumnowy, nie zwykły kolumnowy.

Strona arkusza CKE z treścią zadania

Zadanie 6 - informatyka 2025 PR
Strona arkusza CKE 2025 PR informatyka - zadanie 6 (Martianeum - stacja wydobywcza na Marsie). Na podstawie: CKE 2025 Oryginalny PDF CKE, str. 13

Rozwiązanie krok po kroku

6.1 – sumy

Łączna masa = suma kolumny masa [kg]. Wydobyte martianeum liczymy tylko z wierszy o zawartosc [%] >= 1.0, jako masa × zawartosc / 100 (przeliczenie procentów).

6.2 – obszar o najmniejszej średniej masie

Grupowanie po nazwa_obszaru, średnia z masa [kg], idxmin().

6.3 – największa suma 7-dniowa

Liczymy numer okresu (od 2033-03-03) jako (data - start) // 7 dni, grupujemy po okresie, sumujemy masy, bierzemy max + datę startu odpowiedniego okresu.

6.4 – wykres kolumnowy skumulowany

Pivot tabela obszar × rok z liczbą przewozów, wykres bar stacked (osie podpisane “nazwy obszarów” / “liczba przewozów”, legenda = lata, tytuł).

6.5 – symulacja transportu

Iterujemy po dniach (posortowanych), dodajemy wydobyte martianeum do magazynu, ilekroć magazyn przekroczy 100 kg – odejmujemy 100 i zwiększamy licznik transportów. Zapamiętujemy datę pierwszego i ostatniego transportu.

Rozumiesz, jak to rozwiązać?

Przećwicz podobne typy zadań w aplikacji

matury-online.pl ma tysiące zadań pogrupowanych po dziedzinach. Sprawdź, czy temat „arkusz kalkulacyjny, analiza danych, transport ładunków, ekstrema, wykresy” zrobisz samodzielnie.

Otwórz matury-online.pl