# Informatyka — zadanie 5.3

> Źródło: matura.lol — https://matura.lol/question/maturazai-informatyka-inf-2015-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 2015 (rozszerzona)
- rok: 2015
- poziom: rozszerzona
- typ: open
- punkty: 6
- działy: Programowanie i algorytmika

## Treść

Zadanie 5.3. (0-6)
Prognozując zmiany demograficzne w Edulandii, przyjmujemy, że tempo wzrostu populacji
w każdym województwie w kolejnych latach będzie takie samo jak w okresie 2013-2014.
Tempo wzrostu w danym województwie to iloraz
(2013)
(2014)
ludnosc
ludnosc
, który zaokrąglamy w dół
do 4 miejsc po przecinku - ludnosc (r) to ludność w tym województwie w roku r. Ludność
dla roku r>2014 obliczamy wg wzoru:
ludnosc (r) = ludnosc (r - 1) • tempo_wzrostu
zaokrąglając w dół do liczby całkowitej.
Jeżeli w jakimś województwie w danym roku ludność jest ponaddwukrotnie większa niż stan
z roku 2013, to w tym województwie występuje efekt przeludnienia. Przyjmujemy wówczas,
że począwszy od następnego roku ludność danego województwa nie będzie się zmieniać.
MIN_2R
Na przykład dla województwa w01D mamy:
• Ludność w 2013 roku (mężczyzn i kobiet) wynosi 1 415 007 + 1 397 195 = 2 812 202
• Ludność w 2014 roku (mężczyzn i kobiet) wynosi 1 499 070 + 1 481 105 = 2 980 175
• Tempo wzrostu dla tego województwa jest równe
1,0597
202
812
2
175
980
2
po zaokrągleniu
w dół do 4 miejsc po przecinku.
Liczba mieszkańców województwa w roku 2015 wyniesie:
2 980 175 * 1,0597 = 3 158 091 (po zaokrągleniu w dół do liczby całkowitej).
Dla województwa w01D ludność w roku 2025 przekroczy ponaddwukrotnie ludność
początkową (wyniesie 5 639 669) i od tego czasu nie będzie się w kolejnych latach zmieniać.
Wykonaj polecenia:
• Podaj liczbę wszystkich mieszkańców Edulandii w 2025 roku i wskaż, które województwo
będzie miało w tym roku najwięcej mieszkańców.
• Podaj liczbę województw, w których kiedykolwiek wystąpi efekt przeludnienia w latach
2014-2025 włącznie.
Do oceny oddajesz:
• plik tekstowy wynik5.txt zawierający odpowiedzi do poszczególnych zadań.
Odpowiedź do każdego zadania powinna być poprzedzona jego numerem.
• plik zawierający odpowiedź do zadania 5.1. o nazwie:
• plik(i) zawierający(e) komputerową realizację Twoich obliczeń:
Wypełnia
egzaminator
Nr zadania
5.1.
5.2.
5.3.
Maks. liczba pkt.
5
2
6
Uzyskana liczba pkt.
MIN_2R

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

## Poprawna odpowiedź

- **Liczba mieszkańców w 2025 roku: 125 930 205**
- **Najliczniejsze województwo w 2025: w12C**
- **Liczba województw z efektem przeludnienia (2014-2025): 18**

## Sposób 1 - symulacja roku po roku w Pythonie

```python
import pandas as pd
import math

df = pd.read_csv('kraina.txt', sep=';', header=None,
names=['nazwa', 'k2013', 'm2013', 'k2014', 'm2014'])

wyniki = {}
przeludnienie = 0

for _, row in df.iterrows():
nazwa = row['nazwa']
L_2013 = row['k2013'] + row['m2013']
L_2014 = row['k2014'] + row['m2014']
# Tempo wzrostu - zaokrąglone W DÓŁ do 4 miejsc po przecinku
tempo_dokladne = L_2014 / L_2013
tempo = math.floor(tempo_dokladne * 10000) / 10000
L = L_2014
czy_przeludnione = False
# Symulacja od 2015 do 2025
for rok in range(2015, 2026):
if not czy_przeludnione:
L = math.floor(L * tempo) # nowa ludność, zaokrąglana w dół
if L > 2 * L_2013:
czy_przeludnione = True
# od następnego roku ludność się NIE ZMIENIA
# czyli wartość L pozostaje
if czy_przeludnione:
przeludnienie += 1
wyniki[nazwa] = L

suma_2025 = sum(wyniki.values())
najwieksze = max(wyniki, key=wyniki.get)

print('Suma 2025:', suma_2025) # 125 930 205
print('Najwięcej:', najwieksze, wyniki[najwieksze]) # w12C
print('Przeludnione:', przeludnienie) # 18

## Sposób 2 - arkusz kalkulacyjny

**Krok 1: kolumny pomocnicze**
- Kolumna G: `=B2+C2` (ludność 2013)
- Kolumna H: `=D2+E2` (ludność 2014)
- Kolumna I: `=ZAOKR.DÓŁ(H2/G2; 4)` (tempo, zaokrąglone w dół)
- Limit 2x2013: `=G2*2`

**Krok 2: kolumny lat 2015-2025 (J, K, L, , U)**
- J2 (2015): `=JEŻELI(I2<=$V$1; ZAOKR.DÓŁ(H2*I2; 0); H2)` - ale lepiej:
- J2: `=ZAOKR.DÓŁ(H2*I2; 0)` - naiwnie bez sprawdzania przeludnienia
- Następna kolumna: `=JEŻELI(J2 > 2*G2; J2; ZAOKR.DÓŁ(J2*I2; 0))` - "zamrażamy" wartość po przekroczeniu.
**Krok 3: agregacja**
- Suma 2025: `=SUMA(U2:U51)` → 125 930 205
- Najwięcej: `=INDEKS(A2:A51; PODAJ.POZYCJĘ(MAX(U2:U51); U2:U51; 0))` → w12C
- Liczba przeludnionych: kolumna pomocnicza X = `=JEŻELI(U2>2*G2; 1; 0)`, suma X → 18

## Sposób 3 - Pascal pełny

```pascal
program Demografia;
var
f: TextFile;
nazwa: array[1 50] of String;
L_2013, L: array[1 50] of LongInt;
tempo: array[1 50] of Double;
przeludnione: array[1 50] of Boolean;
i, rok: Integer;
suma2025, max_lud: LongInt;
max_nazwa: String;
pl_count: Integer;
linia: String;
pos: Integer;
k13, m13, k14, m14: LongInt;
begin
AssignFile(f, 'kraina.txt');
Reset(f);
i := 0;
while not Eof(f) do
begin
Inc(i); Readln(f, linia);
// Parsowanie (uproszczone - pełne jak w 5.2)
// extract nazwa[i], k13, m13, k14, m14
L_2013[i] := k13 + m13;
L[i] := k14 + m14;
tempo[i] := Trunc(L[i] / L_2013[i] * 10000) / 10000;
przeludnione[i] := False;
end;
CloseFile(f);
for rok := 2015 to 2025 do
for i := 1 to 50 do
if not przeludnione[i] then
begin
L[i] := Trunc(L[i] * tempo[i]);
if L[i] > 2 * L_2013[i] then przeludnione[i] := True;
end;
suma2025 := 0; max_lud := 0; pl_count := 0;
for i := 1 to 50 do
begin
suma2025 := suma2025 + L[i];
if L[i] > max_lud then begin max_lud := L[i]; max_nazwa := nazwa[i]; end;
if przeludnione[i] then Inc(pl_count);
end;
Writeln('Suma 2025: ', suma2025); // 125 930 205
Writeln('Najwięcej: ', max_nazwa); // w12C
Writeln('Przeludnione: ', pl_count); // 18
end.

## Reference informatyczny - symulacja iteracyjna

> Reference - Iterative simulation:
> - Symulacja procesu wieloletniego: pętla po latach, każdy rok aktualizuje stan.
> - **Zaokrąglenie w dół**: `math.floor()` (Python), `Trunc()` lub `Int()` (Pascal), `floor()` (C++).
> - **Tempo zaokrąglone do 4 miejsc**: `floor(x * 10000) / 10000`.
> - **Stała wartość po warunku**: flag boolean `przeludnione` + pomijanie aktualizacji.
> - **Argmax w grupie**: `max(dict, key=dict.get)` (Python), `INDEKS+PODAJ.POZYCJĘ` (Excel).

## Schemat oceniania CKE

> Klucz CKE (zadanie 5.3, max 6 pkt):
> - **6 pkt** - 3 poprawne odpowiedzi (suma, najliczniejsze województwo, liczba przeludnionych)
> - **4 pkt** - 2 poprawne
> - **2 pkt** - 1 poprawna
> - **0 pkt** - niepełna lub błędna albo brak
> - Nie przyznaje się 5, 3, 1 pkt.

## Typowe pułapki

- **Zaokrąglenie tempa**: musi być W DÓŁ do 4 miejsc, np. 1.05978 → 1.0597 (nie 1.0598!).
- **Zaokrąglenie ludności**: w dół do całkowitej, np. 2 980 175.4 → 2 980 175.
- **Moment przeludnienia**: "OD NASTĘPNEGO ROKU ludność się nie zmienia" - czyli rok, w którym wystąpi przekroczenie, ma jeszcze policzoną nową wartość; dopiero kolejne lata zostają zamrożone.
- **Definicja przeludnienia**: "ponaddwukrotnie WIĘKSZA" = `L > 2*L_2013` (ostre nieostre).
- **Lata 2014-2025 włącznie**: trzeba sprawdzić, czy w którymkolwiek z tych lat doszło do przeludnienia.
- **Pomylenie sumy z liczbą województw** - w nazwie województwo identyfikuje się też pełnym imieniem (w12C).

## Złożoność obliczeniowa

- Symulacja: O(N · T), gdzie N = 50 województw, T = 11 lat (2015-2025).
- Wybór maksimum, suma: O(N).
- **Całkowita: O(N · T)** = O(550) - natychmiastowe.

## Linki

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

## Podobne zadania

- [Zadanie 2](https://matura.lol/question/informatyka-2025-maj-matura-rozszerzona/zad/2) — Zadanie 2. Zapis symboliczny W pliku symbole.txt zapisano 2000 napisów. Każdy z nich jest zapisany w osobnym wierszu i składa się z dokładnie 12 znaków spośród:
- [Zadanie 7](https://matura.lol/question/informatyka-2025-maj-matura-rozszerzona/zad/7) — Zadanie 7. Poszukiwanie wody na Marsie W trzech plikach tekstowych o nazwach laziki.txt, obszary.txt, pomiary.txt zapisano informacje zawierające dane o poszuki
- [Zadanie 3](https://matura.lol/question/informatyka-2023-maj-matura-rozszerzona/zad/3) — Zadanie 3. Liczba Pi Pewien matematyk jest zafascynowany liczbą π ≈ 3,14159265 do tego stopnia, że zapisał jej rozwinięcie dziesiętne z dokładnością do 10 000 c
- [Zadanie 3](https://matura.lol/question/informatyka-2025-maj-matura-rozszerzona/zad/3) — Zadanie 3. Dron Tor lotu pewnego drona składa się z prostych odcinków. Lot rozpoczyna się w punkcie (0, 0), a kończy w punkcie (20000, 0). Dron poza startem i l

_Ostatnia aktualizacja danych: 2026-10-03_
