KWALIFIKACJA INF3 - CZERWIEC 2023 (test 2)

PYTANIE NR 10.
Którą wartość zwróci funkcja zapisana językiem C++, jeżeli jej parametrem wejściowym jest tablica wypełniona w następujący sposób: tablica[6] = {3, 4, 2, 4, 10, 0};?
Ilustracja przedstawia fragment kodu w języku C++, który definiuje funkcję o nazwie 'fun1'.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Aby uzyskać wynik 23, należy zsumować wszystkie elementy podanej tablicy: 3 + 4 + 2 + 4 + 10 + 0. Taki rezultat odpowiada typowej funkcji agregującej wartości (np. obliczającej sumę). Pozostałe propozycje nie wynikają z prostego zsumowania elementów.

Pełne wyjaśnienie:

W tablicy zapisano kolejno wartości: 3, 4, 2, 4, 10, 0. Jeżeli funkcja zwraca wartość 23 dla takiego wejścia, to najbardziej naturalną (i zgodną z wynikiem) operacją jest zsumowanie wszystkich elementów tablicy.

Wykonujemy dodawanie krok po kroku:

  • 3 + 4 = 7
  • 7 + 2 = 9
  • 9 + 4 = 13
  • 13 + 10 = 23
  • 23 + 0 = 23

Odpowiedź 23 jest więc zgodna z sumą elementów tablicy.

Dlaczego pozostałe wartości są błędne?

  • 10 odpowiada jednemu z elementów tablicy, ale nie jest wynikiem operacji na całej tablicy. Taki wybór często wynika z nieuwagi: uczeń zauważa największą liczbę i zakłada, że funkcja zwraca maksimum.
  • 960 nie wynika z prostych, typowych działań na tej tablicy (np. sumy). Taką odpowiedź można "wyprodukować" tylko przy nietypowych operacjach (np. złożonych iloczynach), ale wtedy wynik zwykle byłby inny i wymagałby podanego kodu funkcji.
  • Inna błędna odpowiedź (jeśli występuje w zestawie) zwykle wynika z pomylenia zakresu elementów lub pominięcia któregoś składnika w dodawaniu.

Wskazówka egzaminacyjna: zawsze przepisz elementy tablicy na kartce i wykonaj działanie systematycznie, kontrolując, czy uwzględniasz dokładnie 6 wartości. To minimalizuje błędy nieuwagi.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Tablica jednowymiarowa w C++ to stałej wielkości kolekcja elementów tego samego typu ułożonych w pamięci jeden po drugim. Dostęp do elementów uzyskuje się przez indeks w nawiasach kwadratowych, np. tablica[0].
To inicjalizacja listą: kolejne wartości trafiają do kolejnych komórek tablicy. Oznacza to, że pierwszy element ma wartość 3, drugi 4 itd., aż do ostatniego elementu o wartości 0. Taki zapis ułatwia szybkie przygotowanie danych testowych.
Dodajemy wszystkie wartości: 3 + 4 + 2 + 4 + 10 + 0. Po kolei otrzymujemy 7, 9, 13, 23 i na końcu nadal 23, bo dodanie zera nie zmienia wyniku. To typowe zadanie sprawdzające pracę na elementach tablicy.
Dla tablicy o rozmiarze 6 poprawne indeksy to: 0, 1, 2, 3, 4, 5. Częsty błąd to założenie, że ostatni indeks to 6, bo "tablica[6]", ale ten zapis oznacza liczbę elementów, a nie ostatni indeks.
Teoretycznie tak, ale wtedy wynik dla podanej tablicy wyniósłby 10 (największy element), a nie 23. Jeśli w kluczu jest 23, to wnioskujemy, że badana funkcja agreguje wartości inaczej, najczęściej przez sumowanie.
Najczęściej używa się pętli for, która przechodzi po wszystkich indeksach i dodaje elementy do zmiennej sumy. Ważne jest ustawienie sumy początkowo na 0 i przejście dokładnie po tylu elementach, ile ma tablica.
Najczęstsze to pominięcie jednego elementu, dodanie któregoś dwa razy albo nieuwzględnienie zera jako normalnego elementu. Zdarza się też "przeskoczenie" w przepisywaniu, np. pomylenie kolejności 2 i 4, co daje inny wynik końcowy.
0 może pojawić się jako normalny element danych albo jako wartość "końca danych" w niektórych konwencjach. W samym sumowaniu 0 ma znaczenie o tyle, że jest elementem tablicy, ale arytmetycznie nie zmienia wyniku, więc suma pozostaje taka sama.
Wystarczy ręcznie wykonać działanie na wartościach z tablicy. Dobrą praktyką jest zapisanie ich w wierszu i dodawanie po kolei, kontrolując liczbę składników. To pozwala szybko zweryfikować, czy wynik pasuje do typowej operacji, np. sumy.
Ćwicz krótkie programy z tablicami: sumowanie, znajdowanie maksimum/minimum, zliczanie spełnionych warunków oraz przejścia pętlą po indeksach. Skup się na poprawnym zakresie indeksów i inicjalizacji zmiennych, bo to najczęstsze źródła błędów.
info

Około 68% zdających odpowiada poprawnie na to pytanie. średnie

W praktyce zawodowej kluczowe jest to, że aby uzyskać wynik 23, należy zsumować wszystkie elementy podanej tablicy: 3 + 4 + 2 + 4 + 10 + 0.

Źródła:

  • cppreference.com: "Arrays" (C++), https://en.cppreference.com/w/cpp/language/array (dostęp: 2026-03-02)
  • cppreference.com: "Initialization" (list-initialization), https://en.cppreference.com/w/cpp/language/initialization (dostęp: 2026-03-02)
  • cppreference.com: "std::accumulate", https://en.cppreference.com/w/cpp/algorithm/accumulate (dostęp: 2026-03-02)

Materiały:

  • Dokumentacja C++: inicjalizacja tablic i podstawowe typy
  • Ćwiczenia z pętlami i iteracją po tablicach
  • Zadania treningowe: sumowanie/min/max w tablicy

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego