KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2011

PYTANIE NR 28.
Jaka wartość zmiennej W zostanie wyprowadzona na ekran monitora na koniec działania programu egzamin?
Ilustracja przedstawia fragment kodu programu napisanego w języku Pascal.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Wartość wyprowadzona na końcu działania programu to końcowa (ostatnio nadana) wartość zmiennej W w momencie wykonania instrukcji wypisania/wyświetlenia. W tym zadaniu, po przejściu całej logiki programu, zmienna W przyjmuje wartość 57, więc taka liczba pojawia się na ekranie.

Pełne wyjaśnienie:

W tego typu zadaniach egzaminacyjnych sprawdzana jest umiejętność śledzenia wykonania programu (tzw. trace), czyli ustalenia, jak w kolejnych krokach zmienia się wartość zmiennej i co ostatecznie zostaje wypisane na ekran.

Kluczowa zasada brzmi: na koniec działania interesuje nas ta wartość, którą zmienna W ma w chwili wykonania instrukcji wyświetlania (np. wypisania do standardowego wyjścia). Jeżeli w programie występuje kilka przypisań do tej samej zmiennej, to wcześniejsze wartości przestają mieć znaczenie, jeśli zostały później nadpisane.

  • Dlaczego poprawna jest odpowiedź "57"?
    Bo odpowiada wartości końcowej zmiennej W po wykonaniu całej sekwencji instrukcji prowadzących do wyświetlenia wyniku. Innymi słowy: jest to stan zmiennej na końcu działania programu.
  • Dlaczego "28" bywa wybierane błędnie?
    To typowy efekt zatrzymania analizy na wartości pośredniej (np. po pierwszym etapie obliczeń) i nieuwzględnienia późniejszego nadpisania lub kolejnych iteracji.
  • Dlaczego "10" bywa wybierane błędnie?
    To często skutek pomylenia wartości inicjalnej (ustawionej na początku) z wartością końcową albo nieuwzględnienia instrukcji modyfikujących zmienną.
  • Dlaczego "114" bywa wybierane błędnie?
    Może wynikać z mechanicznego zastosowania prostej operacji (np. podwojenia) na jakiejś wartości pośredniej bez sprawdzenia, czy program rzeczywiście kończy się takim stanem zmiennej.

Wskazówka egzaminacyjna: rozpisuj wykonanie programu w tabeli: krok → instrukcja → nowa wartość W. Zaznacz moment wypisania. Pozwala to ograniczyć pomyłki wynikające z "pamiętania" pierwszej obliczonej liczby zamiast wartości końcowej.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Najpewniejsza metoda to trace: wypisz kolejne kroki wykonania i po każdym przypisaniu dopisz nową wartość zmiennej. Na koniec sprawdź wartość dokładnie w momencie instrukcji wyświetlania (print/echo/console). To minimalizuje błędy pamięci i skróty myślowe.
Wartość pośrednia może zostać nadpisana późniejszym przypisaniem albo zmieniona w pętli. Wynik końcowy to stan w chwili wypisania lub po ostatniej instrukcji, a nie pierwsza "sensowna" liczba, którą zobaczysz podczas ręcznej analizy.
Zwykle chodzi o wartość wypisaną przez ostatnią instrukcję wyświetlania albo o stan zmiennej tuż przed zakończeniem programu. Trzeba odróżnić to od wartości inicjalizacji oraz wartości pojawiających się w trakcie wykonywania pętli.
Najczęstsze pomyłki to: pomijanie nadpisania zmiennej, błędne policzenie liczby iteracji pętli, nieuwzględnienie warunku (if), oraz uznanie wartości startowej za końcową. Pomaga prowadzenie tabeli kroków i uważne zaznaczenie miejsc, gdzie zmienna jest modyfikowana.
Nadpisanie występuje, gdy pojawia się kolejne przypisanie do tej samej zmiennej, np. W = ... wykonane po wcześniejszym ustawieniu W. Wtedy wcześniejsza wartość przestaje obowiązywać. W analizie zaznacz wszystkie linie, które zmieniają W.
Nie zawsze, ale często. Jeśli w pętli jest modyfikacja W, wynik zależy od liczby iteracji i kolejności działań. Jeżeli pętla nie dotyka W, może nie mieć wpływu. Na egzaminie kluczowe jest sprawdzenie: czy W zmienia się wewnątrz pętli i ile razy pętla się wykona.
Ustal warunek startowy, warunek zakończenia i krok zmiany licznika (np. i++). Następnie policz kolejne wartości licznika, które spełniają warunek. W razie wątpliwości wypisz je w krótkiej tabeli. To zapobiega typowemu błędowi "o jedną iterację".
Wartość inicjalna to ta ustawiona na początku (np. przy deklaracji lub pierwszym przypisaniu). Wartość końcowa to ta po wykonaniu całej logiki programu, zwykle tuż przed wypisaniem. Jeśli są późniejsze przypisania, inicjalizacja jest tylko punktem startu, nie wynikiem.
Tak, w programowaniu imperatywnym kolejność jest kluczowa: instrukcje wykonują się sekwencyjnie, a każde przypisanie może zmienić stan programu. Zamiana dwóch linii może dać inny wynik. Dlatego w analizie zawsze idź od góry do dołu, uwzględniając skoki wynikające z warunków i pętli.
Ćwicz krótkie programy z przypisaniami, warunkami i pętlami oraz zapisuj trace w tabeli. Ucz się rozpoznawać miejsca modyfikacji zmiennych i punkt wypisania wyniku. Dodatkowo trenuj wychwytywanie nadpisania i typowych błędów "o jeden krok" w iteracjach.
info

Statystycznie 48% uczniów zna prawidłową odpowiedź. trudne

W praktyce zawodowej kluczowe jest to, że wartość wyprowadzona na końcu działania programu to końcowa (ostatnio nadana) wartość zmiennej W w momencie wykonania instrukcji wypisania/wyświetlenia.

Materiały:

  • Dokumentacja języka używanego na egzaminie (opis instrukcji, operatorów i typów)
  • Materiały o debugowaniu i technice trace (śledzenie krok po kroku)
  • Zestawy zadań: analiza krótkich programów i przewidywanie wyniku

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego