Przejdź do głównej treści
  1. Strona główna
  2. Technik programista
  3. INF.04
  4. Pytanie

Kwalifikacja: INF.04 - Projektowanie, programowanie i testowanie aplikacji

Zawód: Technik programista

Kategorie: Programowanie Projektowanie aplikacji

Słowa kluczowe: Java Operatory arytmetyczne Pętla for w Javie Tablice w Javie Typy proste w Javie Śledzenie algorytmu

Zaproponowany fragment kodu w języku Java wypełnia tablicę elementami:
int[] tablica = new int [10];
int j = 2;

for (int i = 0; i < 10; i++) {
    tablica[i] = j;
    j += 2;
}

Ten fragment kodu w języku Java rzeczywiście tworzy tablicę o 10 elementach i wypełnia ją kolejnymi liczbami parzystymi, zaczynając od 2. Wynika to bezpośrednio z działania pętli for oraz zmiennej j, która startuje z wartością 2 i w każdym przebiegu pętli jest zwiększana o 2. Dzięki temu do każdej komórki tablicy trafia kolejna liczba parzysta: 2, 4, 6, 8 itd., aż do 20. Takie rozwiązanie jest bardzo często spotykane przy algorytmach, które generują lub przetwarzają sekwencje liczb wg określonego wzorca czy postępu arytmetycznego. Co ciekawe, ten schemat można łatwo modyfikować, np. zmieniając wartość początkową lub krok, żeby tablica wypełniała się liczbami nieparzystymi albo dowolnym innym ciągiem. W profesjonalnych projektach, gdy mamy do czynienia z większymi zbiorami danych, lepiej korzystać z metod typu Arrays.fill() lub streamów, jednak zrozumienie takiej manualnej pętli jest fundamentem nauki programowania. Z mojego doświadczenia, taki kod najlepiej obrazuje, jak działa indeksowanie tablic i inkrementacja wartości. Warto przećwiczyć podobne zadania, żeby utrwalić sobie podstawowe operacje na strukturach danych, bo potem przy bardziej złożonych algorytmach wszystko staje się prostsze. Takie rzeczy są wręcz codziennością w pracy programisty – czy to podczas inicjalizowania danych testowych, czy podczas przygotowywania danych wejściowych do algorytmów.
Patrząc na kod, można zauważyć, że kluczowe są tu dwie rzeczy: zmienna j zainicjowana jako 2 i to, że za każdym razem w pętli do tablicy trafia właśnie jej aktualna wartość, po czym zwiększa się o 2. Jeśli ktoś wskazał, że tablica będzie zawierać liczby od 0 do 9 lub od 1 do 10, to pewnie zasugerował się klasycznym przykładem wypełniania tablicy kolejnymi indeksami lub wartościami początkowymi. To bardzo częsty błąd, bo wielu początkujących automatycznie myśli, że for (int i = 0; i < n; i++) oznacza, że do tablicy wpisujemy po prostu wartość i albo i+1. Jednak tutaj w ogóle nie używamy zmiennej i do ustalania wartości – ona służy tylko jako indeks do tablicy, a wartość nadpisuje j, która rośnie szybciej i zaczyna się od zupełnie innego miejsca niż zero. Często spotykam się z tym, że ktoś wpisuje do tablicy w kółko tę samą wartość, bo zapomina o inkrementacji, ale w tym kodzie j jest wyraźnie zwiększana – dlatego odpowiedzi z samymi dwójkami też nie pasują. Warto zapamiętać, że kod tego typu można łatwo adaptować do różnych postępów liczbowych, a kluczowe jest rozróżnienie roli zmiennej indeksującej (i) oraz zmiennej, która decyduje o faktycznej wartości wstawianej do tablicy (j). To właśnie takie niuanse odróżniają proste wypełnienie tablicy od tworzenia sekwencji matematycznych – i często decydują o poprawności algorytmu. Z mojego punktu widzenia dobrym nawykiem jest zawsze, nawet na kartce, rozpisać sobie wartości poszczególnych zmiennych w każdej iteracji. Pozwala to uniknąć błędów logicznych i lepiej zrozumieć, co rzeczywiście ląduje w strukturze danych, którą przygotowujemy.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wyślemy tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.