W tego typu zadaniach kluczowe jest rozdzielenie dwóch etapów działania kodu: (1) jak powstaje zawartość tablicy oraz (2) co jest wypisywane na wyjściu.
Jeżeli kod używa generatora liczb losowych i pętli wykonującej się określoną liczbę razy, to tablica jest wypełniana wartościami losowymi w liczbie wynikającej z warunku pętli (np. 10 iteracji oznacza 10 elementów). Następnie zwykle pojawia się druga pętla (lub ta sama pętla z dodatkowym warunkiem) z instrukcją warunkową, która decyduje, co wypisać. Gdy warunek sprawdza, czy element jest mniejszy od zera, na wyjściu pojawią się wyłącznie wartości ujemne.
Odpowiedź "10 losowymi wartościami, a następnie wypisanie wartości ujemnych." jest zgodna z takim przebiegiem: losowanie daje różne liczby, a filtr w postaci warunku wybiera tylko ujemne.
Dlaczego pozostałe odpowiedzi nie pasują do typowego kodu z tego zadania?
- Wariant z "kolejnymi liczbami od -100 do 100" sugeruje generowanie sekwencji rosnącej (np. inkrementację), a nie losowanie. To inny mechanizm wypełniania tablicy.
- Wariant z "kolejnymi liczbami od 0 do 9 i wypisanie ich" pomija filtrowanie (warunek na ujemne) i zakłada dodatni, prosty zakres, typowy dla demonstracji indeksów, a nie dla selekcji liczb ujemnych.
- Wariant z "100 losowymi wartościami, a następnie wypisanie wartości dodatnich" zmienia zarówno liczbę elementów (100 zamiast 10), jak i kryterium wypisywania (dodatnie zamiast ujemnych), więc wymagałby innego warunku w kodzie.
Wskazówka egzaminacyjna: zawsze najpierw policz iteracje pętli wypełniającej tablicę (ile elementów realnie powstaje), a dopiero potem sprawdź warunek wypisywania (np. mniejsze od zera vs większe od zera). To ogranicza pomyłki wynikające z intuicji.