{"id":"informatyka-2026-maj-matura-rozszerzona/zad/2","paper_id":"informatyka-2026-maj-matura-rozszerzona","number":"2","points":5,"ptype":"open","subject":"informatyka","category":"matura","year":2026,"month":"maj","level":"rozszerzona","text":"Zadanie 2. Dodawanie\nRozważamy dodawanie pisemne dwóch liczb zapisanych w systemie dziesiętnym,\nzilustrowane na przykładzie.\nPrzeniesienie:\n1\n1\n1\n1\nLiczba a:\n2\n7\n7\n3\n2\nLiczba b:\n7\n2\n6\n1\n9\n1\n0\n0\n3\n5\n1\nW tym przykładzie mamy 4 przeniesienia.","answer":null,"answer_text":"3\n4","solution":"Odpowiedź: **2.1.** | Liczba a | Liczba b | Liczba przeniesień | |---|---|---| | 37932 | 12528 | 3 | | 88765 | 11111 | **0** | | 456789 | 222222 | **3** | **2.2.** Przykładowe rozwiązanie z klucza CKE: ``` wpamieci ← 0 p ← 0 dopóki a > 0 wykonuj cyfraa ← a mod 10 cyfrab ← b mod 10 suma ← cyfraa + cyfrab + wpamieci jeżeli suma ≥ 10 wpamieci ← 1 p ← p + 1 w przeciwnym wypadku wpamieci ← 0 a ← a div 10 b ← b div 10 ``` Wynikiem jest `p`. CKE przyznaje maksimum punktów za **każde inne całkowicie poprawne** rozwiązanie spełniające warunki zadania.\n\nTreść zadania (CKE)\n\nJak liczyć przeniesienia ręcznie\n\nIdziemy od prawej, sumujemy cyfry razem z przeniesieniem z poprzedniej pozycji:\n\n```\n456789\n+ 222222\n\n9+2 = 11 → przeniesienie (1), zapisujemy 1\n8+2+1 = 11 → przeniesienie (2), zapisujemy 1\n7+2+1 = 10 → przeniesienie (3), zapisujemy 0\n6+2+1 = 9 → bez przeniesienia\n5+2 = 7 → bez\n4+2 = 6 → bez\n```\n\nRazem 3 przeniesienia.\n\nRozbicie punktacji 2.2 — cztery niezależne punkty\n\nCKE punktuje algorytm składnikowo, więc warto zadbać o każdy element osobno:\n\n1. pętla po liczbie cyfr a (i b) — dopóki a > 0\n2. pobieranie cyfr — a mod 10, b mod 10\n3. liczenie sumy z przeniesieniem i wyznaczenie nowego przeniesienia\n4. poprawny wynik, w tym inicjalizacja wpamieci ← 0 i p ← 0\n\nNawet niedokończony algorytm może zebrać 2–3 punkty, jeśli te części są poprawne — dlatego opłaca się pisać go czytelnie i po kolei.\n\nTo samo w Pythonie\n\n```python\ndef przeniesienia(a, b):\nwpamieci = 0\np = 0\nwhile a > 0:\nsuma = a % 10 + b % 10 + wpamieci\nif suma >= 10:\nwpamieci = 1\np += 1\nelse:\nwpamieci = 0\na //= 10\nb //= 10\nreturn p\n```\n\nZgodne z ograniczeniami: żadnych tablic, żadnej konwersji na tekst, tylko %, // i porównania.\n\nPunktacja CKE\n\n- 2.1. 1 pkt — oba brakujące wiersze poprawne.\n- 2.2. 4 pkt — po jednym za pętlę, pobieranie cyfr, obsługę przeniesienia i poprawny wynik.\n- Razem: 5 pkt.\n\nTypowy błąd: **W 2.1 pułapka jest w drugim wierszu.** 88765 + 11111: kolejne sumy cyfr to 5+1=6, 6+1=7, 7+1=8, 8+1=9, 8+1=9 — żadna nie osiąga 10, więc przeniesień jest **0**. Sam fakt, że liczby są duże, niczego nie przesądza. **W 2.2 najczęściej gubi się przeniesienie kaskadowe.** Trzeba dodawać `wpamieci` do sumy cyfr, bo przeniesienie z niższej pozycji może samo wywołać kolejne (np. 9+0+1 = 10). Algorytm, który sprawdza tylko `cyfraa + cyfrab ≥ 10`, przepuszcza te przypadki. **Warunek `suma ≥ 10`, nie `> 10`.** Suma równa dokładnie 10 też daje przeniesienie. **Ograniczenia zadania są istotne.** Zakaz tablic i konwersji na tekst wymusza operowanie na `mod 10` i `div 10`. Rozwiązanie w stylu „zamień na string i iteruj po znakach\" to 0 punktów, choćby działało.","image":"img/informatyka-2026-maj-matura-rozszerzona/zad-2.webp","solution_image":null,"topics":"algorytm, dodawanie pisemne, przeniesienia, pseudokod","page_from":7,"source":"ocr","answer_source":null,"answer_text_source":"ocr","solution_source":"maturaonline","text_source":"ocr","source_label":"Informatyka · Matura · maj 2026 (rozszerzona)","subject_label":"Informatyka","category_label":"Matura","text_html":"<p>Zadanie 2. Dodawanie<br>Rozważamy dodawanie pisemne dwóch liczb zapisanych w systemie dziesiętnym,<br>zilustrowane na przykładzie.<br>Przeniesienie:<br>1<br>1<br>1<br>1<br>Liczba a:<br>2<br>7<br>7<br>3<br>2<br>Liczba b:<br>7<br>2<br>6<br>1<br>9<br>1<br>0<br>0<br>3<br>5<br>1<br>W tym przykładzie mamy 4 przeniesienia.</p>","answer_text_html":"<p>3<br>4</p>","solutions":[{"source":"maturaonline","label":"matura-online.pl","kind":"text","html":"<p>Odpowiedź: <strong>2.1.</strong> | Liczba a | Liczba b | Liczba przeniesień | |---|---|---| | 37932 | 12528 | 3 | | 88765 | 11111 | <strong>0</strong> | | 456789 | 222222 | <strong>3</strong> | <strong>2.2.</strong> Przykładowe rozwiązanie z klucza CKE: ``<code> wpamieci ← 0 p ← 0 dopóki a &gt; 0 wykonuj cyfraa ← a mod 10 cyfrab ← b mod 10 suma ← cyfraa + cyfrab + wpamieci jeżeli suma ≥ 10 wpamieci ← 1 p ← p + 1 w przeciwnym wypadku wpamieci ← 0 a ← a div 10 b ← b div 10 </code>`<code> Wynikiem jest </code>p`. CKE przyznaje maksimum punktów za <strong>każde inne całkowicie poprawne</strong> rozwiązanie spełniające warunki zadania.</p>\n<p>Treść zadania (CKE)</p>\n<p>Jak liczyć przeniesienia ręcznie</p>\n<p>Idziemy od prawej, sumujemy cyfry razem z przeniesieniem z poprzedniej pozycji:</p>\n<p>```<br>456789</p>\n<ul><li>222222</li></ul>\n<p>9+2 = 11 → przeniesienie (1), zapisujemy 1<br>8+2+1 = 11 → przeniesienie (2), zapisujemy 1<br>7+2+1 = 10 → przeniesienie (3), zapisujemy 0<br>6+2+1 = 9 → bez przeniesienia<br>5+2 = 7 → bez<br>4+2 = 6 → bez<br>```</p>\n<p>Razem 3 przeniesienia.</p>\n<p>Rozbicie punktacji 2.2 — cztery niezależne punkty</p>\n<p>CKE punktuje algorytm składnikowo, więc warto zadbać o każdy element osobno:</p>\n<ol><li>pętla po liczbie cyfr a (i b) — dopóki a &gt; 0</li><li>pobieranie cyfr — a mod 10, b mod 10</li><li>liczenie sumy z przeniesieniem i wyznaczenie nowego przeniesienia</li><li>poprawny wynik, w tym inicjalizacja wpamieci ← 0 i p ← 0</li></ol>\n<p>Nawet niedokończony algorytm może zebrać 2–3 punkty, jeśli te części są poprawne — dlatego opłaca się pisać go czytelnie i po kolei.</p>\n<p>To samo w Pythonie</p>\n<p>```python<br>def przeniesienia(a, b):<br>wpamieci = 0<br>p = 0<br>while a &gt; 0:<br>suma = a % 10 + b % 10 + wpamieci<br>if suma &gt;= 10:<br>wpamieci = 1<br>p += 1<br>else:<br>wpamieci = 0<br>a //= 10<br>b //= 10<br>return p<br>```</p>\n<p>Zgodne z ograniczeniami: żadnych tablic, żadnej konwersji na tekst, tylko %, // i porównania.</p>\n<p>Punktacja CKE</p>\n<ul><li>2.1. 1 pkt — oba brakujące wiersze poprawne.</li><li>2.2. 4 pkt — po jednym za pętlę, pobieranie cyfr, obsługę przeniesienia i poprawny wynik.</li><li>Razem: 5 pkt.</li></ul>\n<p>Typowy błąd: <strong>W 2.1 pułapka jest w drugim wierszu.</strong> 88765 + 11111: kolejne sumy cyfr to 5+1=6, 6+1=7, 7+1=8, 8+1=9, 8+1=9 — żadna nie osiąga 10, więc przeniesień jest <strong>0</strong>. Sam fakt, że liczby są duże, niczego nie przesądza. <strong>W 2.2 najczęściej gubi się przeniesienie kaskadowe.</strong> Trzeba dodawać <code>wpamieci</code> do sumy cyfr, bo przeniesienie z niższej pozycji może samo wywołać kolejne (np. 9+0+1 = 10). Algorytm, który sprawdza tylko <code>cyfraa + cyfrab ≥ 10</code>, przepuszcza te przypadki. <strong>Warunek <code>suma ≥ 10</code>, nie <code>&gt; 10</code>.</strong> Suma równa dokładnie 10 też daje przeniesienie. <strong>Ograniczenia zadania są istotne.</strong> Zakaz tablic i konwersji na tekst wymusza operowanie na <code>mod 10</code> i <code>div 10</code>. Rozwiązanie w stylu „zamień na string i iteruj po znakach&quot; to 0 punktów, choćby działało.</p>"}]}