Instrukcja for(i=0; i<=100; i+=2) cout<<i<<endl; oznacza, że:
- zmienna sterująca i jest ustawiana na 0 (inicjalizacja),
- pętla trwa, dopóki warunek i<=100 jest spełniony,
- po każdej iteracji wykonywany jest krok i+=2, czyli przejście do kolejnej liczby parzystej,
- ciałem pętli jest pojedyncza instrukcja wypisania: cout<<i<<endl;.
W praktyce oznacza to wypisanie kolejno wartości: 0, 2, 4, 6, …, 98, 100. Po wypisaniu 100 następuje jeszcze inkrementacja do 102, ale wtedy warunek 102<=100 jest fałszywy, więc pętla się kończy i 102 nie jest już wypisywane, bo wypisywanie następuje wewnątrz pętli.
Odpowiedź "parzyste 0-100" jest więc poprawna, bo dokładnie ten zbiór liczb pojawia się na wyjściu.
Pozostałe propozycje są błędne z typowych powodów:
- "parzyste 0-98" pomija 100, mimo że warunek jest i<=100, więc 100 też spełnia warunek i zostanie wypisana.
- "nieparzyste 1-99" sugeruje start od 1 i krok o 2, ale w kodzie start jest od 0, więc generowane są liczby parzyste.
- "nieparzyste 1-101" dodatkowo sugeruje wypisanie 101, co nie wynika ani ze startu, ani z kroku i+=2, ani z warunku zakończenia.
Wskazówka egzaminacyjna: zawsze sprawdź, czy po nawiasie pętli nie ma dodatkowego średnika, i czy ciało pętli to jedna instrukcja czy blok w { }.