m Matura-Online.pl Rozwiązania zadań maturalnych
MINP-R0-100-2405 Otwarte krótkie 1 pkt Trudność: ★★★☆☆

Zadanie 2

Matura z informatyki, maj 2024, poziom rozszerzony

Wymaganie:

I. Rozumienie, analizowanie i rozwiązywanie problemów — śledzenie wykonania algorytmu na konkretnych danych, operacje mod i div, systemy pozycyjne.

Treść zadania

Zadanie 2. Cyfry

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.

Zadanie 2.2. (0–1) 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 = …

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

Rozwiązanie

Liczba: n = 333333 666666 999999 (18 cyfr; od lewej do prawej).

Algorytm przetwarza cyfry od najmłodszej (mod 10), pomnożone przez kolejne potęgi 10 (zmienna b).

  • Cyfra parzysta a: dokłada do c wartość b * (a/2)
  • Cyfra nieparzysta a: dokłada do c wartość b (czyli traktuje cyfrę nieparzystą tak, jakby była "1" na danej pozycji)

Analiza grupami sześciu cyfr (od najmłodszych):

Pozycje 1–6 (cyfra 9, nieparzysta): dla każdej z 6 cyfr c += b. Suma wkładów: 1 + 10 + 100 + 1000 + 10000 + 100000 = 111 111.

Pozycje 7–12 (cyfra 6, parzysta, a div 2 = 3): dla każdej c += 3 * b. Suma: 3 * (10⁶ + 10⁷ + 10⁸ + 10⁹ + 10¹⁰ + 10¹¹) = 3 * 111 111 * 10⁶ = 333 333 000 000.

Pozycje 13–18 (cyfra 3, nieparzysta): dla każdej c += b. Suma: 10¹² + 10¹³ + … + 10¹⁷ = 111 111 * 10¹² = 111 111 000 000 000 000.

Wynik:
c = 111 111 + 333 333 000 000 + 111 111 000 000 000 000
c = 111 111 333 333 111 111

Typowy błąd / pułapka

Najczęstsze błędy: (1) zapomnienie, że algorytm przetwarza cyfry od końca (mod 10 zwraca cyfrę jedności), więc cyfra 9 trafia na pozycje najmłodsze a cyfra 3 na najstarsze; (2) interpretacja warunku — dla cyfry nieparzystej dodajemy samo b, nie b * a; (3) zła obsługa b — po przetworzeniu cyfry b jest mnożone przez 10, więc startuje od b=1 dla pozycji jedności.

Strona arkusza CKE z treścią zadania

Zadanie 2 - informatyka 2024 PR
Strona arkusza CKE 2024 PR informatyka - zadanie 2 (Cyfry). Na podstawie: CKE 2024 Oryginalny PDF CKE, str. 7

Rozwiązanie

Symulacja w Pythonie (weryfikacja):

n = int("333333" + "666666" + "999999")  # 333333666666999999
b, c = 1, 0
while n > 0:
    a = n % 10
    n = n // 10
    if a % 2 == 0:
        c += b * (a // 2)
    else:
        c += b
    b *= 10
print(c)  # 111111333333111111

Wynik: c = 111 111 333 333 111 111

Algorytm tworzy nową liczbę dziesiętną, w której:

  • każda cyfra parzysta a w oryginale → cyfra a/2 w wyniku,
  • każda cyfra nieparzysta w oryginale → cyfra 1 w wyniku.

Sprawdzenie reguły: 9 → 1, 6 → 3, 3 → 1 — pasuje do wyniku 111111333333111111.

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 „analiza algorytmu, system dziesiętny, cyfry parzyste, programowanie dynamiczne" zrobisz samodzielnie.

Otwórz matury-online.pl