# Informatyka — zadanie 5.3

> Źródło: matura.lol — https://matura.lol/question/maturazai-informatyka-inf-2018-05/zad/5.3
> Wersja Markdown strony zadania (dla asystentów AI). Przy cytowaniu podaj matura.lol i link powyżej.

- arkusz: Informatyka · Matura · maj 2018 (rozszerzona)
- rok: 2018
- poziom: rozszerzona
- typ: open
- punkty: 3
- działy: Arkusz kalkulacyjny, symulacja wzrostu

## Treść

Kontekst - patrz zadanie 5.1.

Utwórz i podaj zestawienie łącznej liczby metrów sześciennych wody dopływającej do zbiornika retencyjnego w kolejnych miesiącach 2008 roku (od stycznia 2008 do grudnia 2008). Na podstawie zestawienia wykonaj wykres kolumnowy. Pamiętaj o czytelnym opisie wykresu (tytuł wykresu i opisy osi).

## Rozwiązanie — maturazai.pl (AI)

## Poprawna odpowiedź

| Miesiąc | Łączny dopływ wody [m³] |
| 2008-01 | 95 433 |
| 2008-02 | 94 730 |
| 2008-03 | 109 439 |
| 2008-04 | **632 931** (największy) |
| 2008-05 | 329 203 |
| 2008-06 | 85 628 |
| 2008-07 | 166 597 |
| 2008-08 | 139 747 |
| 2008-09 | 282 342 |
| 2008-10 | 170 729 |
| 2008-11 | 222 440 |
| 2008-12 | 172 072 |

**Wykres**: kolumnowy, oś X = miesiąc, oś Y = dopływ [m³], tytuł: "Dopływ wody do zbiornika retencyjnego - 2008 rok".

## Sposób 1 - agregacja miesięczna

**Idea:** filtruj dane do roku 2008, sumuj wg miesiąca (pozycje 6-7 daty w formacie rrrr-mm-dd).

## Sposób 2 - Python + matplotlib

```python
from collections import defaultdict
import matplotlib.pyplot as plt

sumy = defaultdict(int) # "2008-01", "2008-02",
with open('woda.txt', encoding='utf-8') as f:
for linia in f:
cz = linia.strip().split('\t')
if len(cz) != 2:
continue
data, dop = cz
if data.startswith('2008'):
miesiac = data[:7] # rrrr-mm
sumy[miesiac] += int(dop)

miesiace = sorted(sumy.keys())
wartosci = [sumy[m] for m in miesiace]

for m, w in zip(miesiace, wartosci):
print(f"{m}: {w}")

plt.figure(figsize=(12, 6))
plt.bar(miesiace, wartosci, color='steelblue')
plt.title('Dopływ wody do zbiornika retencyjnego - 2008 rok')
plt.xlabel('Miesiąc')
plt.ylabel('Łączny dopływ wody [m³]')
plt.xticks(rotation=45)
plt.grid(axis='y', alpha=0.3)
plt.tight_layout()
plt.savefig('wykres_2008.png', dpi=120)
plt.show()

## Sposób 3 - arkusz kalkulacyjny

**Kroki:**
1. Otwórz woda.txt (separator TAB).
2. Kolumna A: data, B: dopływ.
3. Filtruj A na 2008 (Data > Filtr > Tekst > zawiera "2008").
4. **Tabela przestawna**: wiersze = miesiąc (`=LEWY(A2; 7)` w kolumnie C), wartości = SUMA B.
5. Posortuj wiersze tabeli przestawnej alfabetycznie po miesiącu.
6. **Wstaw → Wykres → Kolumnowy** na bazie tabeli.
7. Dodaj tytuł: "Dopływ wody - 2008".
8. Opisz osie: X = "Miesiąc", Y = "Dopływ [m³]".

**Wzór alternatywny - bez tabeli przestawnej:**
- F1:F12 - etykiety miesięcy ("2008-01", "2008-02", ).
- G1: `=SUMA.JEŻELI(C:C; F1; B:B)` → 95433.
- G2 G12 - analogicznie.
- Zaznacz F1:G12, wstaw wykres kolumnowy.

## Reference informatyczny - agregacja czasowa + wizualizacja

> Reference - Wyciąganie miesiąca:
> - **Format rrrr-mm-dd**: `data[:7]` = rrrr-mm (Python).
> - **SQL**: `SUBSTRING(data, 1, 7)` lub `DATE_FORMAT(data, '%Y-%m')`.
> - **Arkusz**: `=LEWY(A2; 7)` lub `=TEKST(A2; "RRRR-MM")`.
>
> Reference - Wykres kolumnowy vs słupkowy:
> - **Kolumnowy** - pionowe słupki, oś X = kategorie. Dla porównania kategorii.
> - **Słupkowy** - poziome. Gdy nazwy są długie.
> - **Liniowy** - dla trendów czasowych.
> - W tym zadaniu kolumnowy jest wymagany przez treść.
>
> Reference - Wymagania CKE dla wykresu:
> - **Tytuł** wykresu.
> - **Opisy osi** (oś X i Y).
> - **Legenda** (jeśli wiele serii).
> - **Skala** czytelna.
> - **Kolory** kontrastowe.

## Schemat oceniania CKE

> Klucz CKE (zadanie 5.3, max 3 pkt):
> - **1 pkt** za prawidłowe zestawienie miesięcznych sum (12 wartości)
> - **1 pkt** za poprawny zakres i typ wykresu (kolumnowy, 12 miesięcy)
> - **1 pkt** za czytelny opis wykresu (tytuł + opisy obu osi)
> - **0 pkt** - błędne lub brak

## Typowe pułapki

- **Filtrowanie po LEWY(A;4) = "2008"** - uczniowie często zapominają. Bez filtra suma obejmuje wszystkie lata.
- **Tylko styczeń-listopad** - często ostatnie miesiące pomijane. Sprawdź 12 wierszy.
- **Brak opisu osi** - strata 1 pkt. Tytuł + opis = obowiązkowe dla CKE.
- **Wykres liniowy zamiast kolumnowego** - strata 1 pkt.
- **Niepoprawny zakres** - czasem wstawiana jest tylko kolumna wartości bez etykiet - wykres bez nazw miesięcy.
- **Suma w niewłaściwych jednostkach** - wynik w m³, NIE w litrach.

## Złożoność obliczeniowa

- Wczytanie 3653 wierszy: O(N).
- Filtr (data startuje na 2008): O(N).
- Agregacja po miesiącach: O(N) z O(1) per insert.
- Wykres: O(12) słupków.
- **Łącznie: O(N) ≈ 3653 operacji.**

## Linki

- [dane JSON](https://matura.lol/api/question/maturazai-informatyka-inf-2018-05/zad/5.3)
- [otwórz w wyszukiwarce](https://matura.lol/?problem=maturazai-informatyka-inf-2018-05%2Fzad%2F5.3)

## Podobne zadania

- [Zadanie 5.3](https://matura.lol/question/informatyka-2018-maj-matura-rozszerzona-2/zad/5.3) — Kontekst - patrz zadanie 5.1. Utwórz i podaj zestawienie łącznej liczby metrów sześciennych wody dopływającej do zbiornika retencyjnego w kolejnych miesiącach 2
- [Zadanie 10.1](https://matura.lol/question/informator-maturalny-informatyka-2025/zad/10.1) — Zadanie 10.1. (0-3) Dla każdego miesiąca od stycznia 2018 do grudnia 2019 podaj sumę kilogramów zamówionego masła. Dla wykonanego zestawienia sporządź wykres ko
- [Zadanie 5.1](https://matura.lol/question/informatyka-2023-maj-matura-stara-rozszerzona-2/zad/5.1) — Zadanie 5.1. (0-3) Dla każdego miesiąca pracy przetwórni (od maja do września) wykonaj zestawienie liczby dostarczonych kilogramów malin, liczby dostarczonych k
- [Zadanie 10.1](https://matura.lol/question/informator-maturalny-informatyka-2023/zad/10.1) — Zadanie 10.1. (0-3) Dla każdego miesiąca od stycznia 2018 do grudnia 2019 podaj sumę kilogramów zamówionego masła. Dla wykonanego zestawienia sporządź wykres ko

_Ostatnia aktualizacja danych: 2026-10-03_
