Funkcje wbudowane na maturze z informatyki – jak nie stracić punktów?

  • Mateusz Oracz
  • 26 czerwca 2025

Każdy, kto przygotowuje się do matury z informatyki, natknął się na tajemniczy zapis w arkuszach egzaminacyjnych, który wywołuje konsternację wśród zdających. Mowa o uwadze dotyczącej funkcji wbudowanych, która regularnie pojawia się w zadaniach algorytmicznych.

Funkcje wbudowane na maturze z informatyki – jak nie stracić punktów?

W tym artykule wyjaśnimy raz na zawsze, co można, a czego nie można używać, aby nie stracić cennych punktów na egzaminie.

Czym są funkcje wbudowane?

Funkcjami wbudowanymi nazywamy wszystkie funkcje dostępne w języku programowania i dodatkowych bibliotekach, których można używać bez konieczności ich samodzielnego implementowania. Do tej kategorii należą między innymi:

  • print() (Python) lub cout (C++) – do wyświetlania danych
  • input() (Python) lub cin (C++) – do wczytywania danych
  • sort() – do sortowania
  • max(), min() – do znajdowania wartości maksymalnej i minimalnej
  • abs() – wartość bezwzględna
  • length() – długość łańcucha znaków
  • range() – używane w pętlach Pythona

Zablokowanie funkcji takich jak sort(), min(), max() ma uzasadnienie – samodzielna implementacja np. sortowania bąbelkowego jest przecież w wymaganiach maturalnych. Ale jak mamy wczytać czy wyświetlić dane?

Jak wczytać lub wyświetlić dane bez użycia funkcji wbudowanych?

Przyjrzyjmy się zadaniu 3.1 z matury z 2024 roku.

Funkcje wbudowane na maturze z informatyki – jak nie stracić punktów?

Kluczowe jest sformułowanie "napisz funkcję". Oznacza to, że:

  • Nie wczytujesz nic od użytkownika – więc nie potrzebujesz ani input, ani cin
  • Nie wyświetlasz nic w konsoli – więc nie potrzebujesz ani print, ani cout
  • Masz napisać funkcję, która jako argument przyjmie wartości określone w specyfikacji i zwróci wynik
W tym przypadku funkcja powinna przyjąć argument (wartość n) i zwrócić zmienną wynikową (m).

Uwaga w arkuszu może być podpowiedzią do rozwiązania

Warto traktować zapis o funkcjach wbudowanych jako wskazówkę, w którym kierunku pójść z rozwiązaniem. Wracając do wspomnianego zadania – chodziło o wyeliminowanie parzystych cyfr z liczby. W uwadze znajdziemy podpowiedź: "liczby całkowite", "dzielenie z resztą".

Funkcje wbudowane na maturze z informatyki – jak nie stracić punktów?

Rozwiązanie nasuwa się samo:

  1. Za pomocą modulo 10 wyciągamy ostatnią cyfrę.
  2. Za pomocą dzielenia całkowitego przez 10 zmniejszamy liczbę o ostatnią cyfrę.
  3. Powtarzamy proces, dopóki liczba jest większa od zera.
  4. Sprawdzamy, czy cyfra jest nieparzysta (modulo 2).
  5. Jeśli tak, dodajemy ją do wyniku na odpowiednią pozycję.

wynik = 0
pozycja = 1
while n > 0:
    cyfra = n % 10
    n //= 10
    if cyfra % 2 == 1:
        wynik += cyfra
    pozycja *= 10

Zadania są skonstruowane tak, że przy solidnych podstawach programowania nie odczuwa się potrzeby użycia zakazanych operacji.

Jak używać tablic bez funkcji wbudowanych?

Zapis "uwagi" nie jest zawsze identyczny. W zadaniu 2.3 z matury czerwcowej 2023 mamy inną sytuację – uwaga dotyczy odwoływania się do elementów tablicy.

Funkcje wbudowane na maturze z informatyki – jak nie stracić punktów?

Wyświetlenie wartości pod danym indeksem tablicy (zarówno w C++, jak i w Pythonie) odbywa się przez podanie indeksu w nawiasie kwadratowym – i to możemy robić. Ale żeby wyświetlić element tablicy, trzeba najpierw coś do niej dodać.

Dodawanie elementów do tablicy/listy

W C++ sprawa jest prosta – analogicznie odwołujemy się jak przy wyświetleniu i zmieniamy wartości za pomocą operatora przypisania.
W Pythonie większość osób od razu sięga po append(), ale czy to przypadkiem nie brzmi jak funkcja wbudowana? Dokładnie tak! Skoro w poleceniu wyraźnie napisano, co wolno używać, trzeba przypomnieć sobie, że listę w Pythonie możemy najpierw utworzyć wypełnioną zerami za pomocą mnożenia. Później możemy odczytać i zmienić dane w poszczególnych elementach. Dzięki takiemu zabiegowi kod jest zgodny ze specyfikacją.

lista = [0] * n
lista[5] = 15

Różnica między "napisz funkcję" a " zapisz algorytm"

Warto zwrócić uwagę na różnicę w poleceniach. W zadaniu z tablicami nie było sformułowania "napisz funkcję", tylko "zapisz w wybranej przez siebie notacji algorytm, który obliczy wartości elementów tablicy T".

Funkcje wbudowane na maturze z informatyki – jak nie stracić punktów?

Na pierwszy rzut oka może to być nieintuicyjne, ale w praktyce polecenie mówi nam, że należy napisać sam algorytm, który nie jest zamknięty w funkcji. Można myśleć o tym jako o fragmencie większego kodu – wszystkie dane są już wczytane, trzeba na nich tylko odpowiednio operować.

Ważne: tablica T nie jest daną wejściową. Polecenie opisuje tylko, co ma być wynikiem. Zatem tablicę T należy zainicjalizować w ramach rozwiązania.

Jak iterować po tablicy bez funkcji wbudowanych?

Przy tablicach, po których zazwyczaj iterujemy, warto zwrócić uwagę na pętle, szczególnie w Pythonie.
Większość programistów od razu sięgnie po for i in range(len(lista)), ale uwaga – range() oraz len() to też funkcje wbudowane! Alternatywami są:

  • Pętla while
  • for element in lista (operator in w Pythonie nie jest zabroniony)

W C++ pętle można robić standardowo, ale funkcje jak length() czy size() też odpadają.

Kiedy trzeba użyć funkcji wbudowanych?

Żeby nie było za prosto, istnieją wyjątki. W zadaniu 1.2 z matury majowej 2016 musieliśmy wypisać liczbę lub komunikat.

Funkcje wbudowane na maturze z informatyki – jak nie stracić punktów?

W tym przypadku trzeba było użyć funkcji wypisującej, jak print() czy cout – było to wyraźnie zaznaczone w poleceniu.
Zasada jest prosta: jeśli autor zadania mówi, że możesz czegoś użyć, to korzystasz. Tylko wtedy jest to zgodne z zasadami.

Częste pytania dotyczące zadań algorytmicznych

Czy można testować algorytm na komputerze?

W formule 2023: Oczywiście! Masz dostęp do komputera przez cały egzamin. Nie ma już podziału na teorię i praktykę – wszystko jest w jednym arkuszu. Możesz napisać algorytm na komputerze, sprawdzić go i przepisać do arkusza maturalnego.

W formule 2015: W części teoretycznej nie masz dostępu do komputera, więc jak coś zapiszesz, nie przetestujesz już, czy faktycznie działa.

Czy trzeba zapisywać importowane nagłówki/biblioteki?

Jeśli w zadaniu wyraźnie zakazano funkcji wbudowanych – po co chcesz coś importować? Na przykład, jeśli nie używasz cout ani cin, to w zasadzie nie korzystasz z biblioteki iostream, więc nie musisz jej importować.

Co z funkcją main() w C++?

Dopisywanie funkcji main() nie jest konieczne. Polecenie jasno wskazuje, że należy napisać samą funkcję lub algorytm, a nie w pełni działający program. Rozróżniamy więc: "napisz funkcję", "algorytm" czy "program".

Porady do zadań algorytmicznych

Kluczem do sukcesu jest dokładne czytanie poleceń i stosowanie się do zapisów w arkuszu. Pamiętaj:

  1. Jeśli jest zapis w uwadze – zawsze się do niego stosujesz.
  2. Jeśli nie ma uwagi – możesz robić, co chcesz (ale nie możesz doinstalowywać dodatkowych bibliotek).
  3. Traktuj uwagę jako podpowiedź.
  4. Rozróżniaj zapis "napisz funkcję" od " zapisz algorytm".
  5. Testuj swoje rozwiązania (jeśli masz dostęp do komputera).

Zadania maturalne są skonstruowane tak, że przy solidnych podstawach programowania nie odczuwa się potrzeby używania zakazanych funkcji. Kluczem jest zrozumienie, że ograniczenia mają sens edukacyjny – mają sprawdzić, czy potrafisz samodzielnie zaimplementować podstawowe algorytmy.

Jeśli masz jeszcze wątpliwości dotyczące konkretnych zapisów w arkuszach maturalnych, warto skonsultować się z nauczycielem lub przeanalizować więcej przykładowych zadań z poprzednich lat.

Powiązane artykuły :
Czy można używać własnego sprzętu na maturze z informatyki?
Czy można używać własnego sprzętu na maturze z informatyki?
Artykuł
Analiza matury z informatyki 2025 – Rozwiązania
Analiza matury z informatyki 2025 – Rozwiązania
Artykuł