KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2014

PYTANIE NR 13.
Po wykonaniu linii kodu zmienna całkowita x przyjmie wartość
Ilustracja przedstawia fragment kodu programistycznego w języku przypominającym Pascal lub podobny język proceduralny.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Wartość zmiennej x po wykonaniu pojedynczej linii kodu wynika z tego, jak język oblicza wyrażenia: liczy działania zgodnie z priorytetem operatorów i dopiero wynik przypisuje do x.
Dla pokazanej instrukcji końcowy rezultat obliczeń daje 6, więc po wykonaniu tej linii x przyjmie wartość 6.

Pełne wyjaśnienie:

W takich zadaniach należy potraktować instrukcję jako dwa kroki: najpierw obliczenie wyrażenia po prawej stronie, a następnie przypisanie uzyskanego wyniku do zmiennej całkowitej x. O poprawnym wyniku decydują przede wszystkim: priorytety operatorów, łączność (kierunek wiązania), ewentualne nawiasy oraz to, czy w wyrażeniu występują operatory zmieniające wartość zmiennej (np. inkrementacja/dekrementacja) albo znak liczby.

Odpowiedź "6" jest poprawna, ponieważ po wykonaniu działań w kolejności wynikającej z reguł języka (priorytety oraz ewentualne nawiasy) otrzymuje się wynik liczbowy równy 6, a następnie ten wynik zostaje przypisany do x. Warto pamiętać, że typ całkowity nie przechowuje części ułamkowej, a w wielu językach dzielenie całkowite może obcinać wynik – to częsty powód rozbieżności między intuicją a rzeczywistym rezultatem.

Dlaczego pozostałe propozycje są błędne?

  • "2" zwykle wynika z pomylenia kolejności działań (np. wykonania dzielenia/dodawania w złej kolejności) albo z założenia uproszczonego przekształcenia bez uwzględnienia priorytetów.
  • "12" często jest skutkiem policzenia tylko części wyrażenia (np. bez podziału przez jakiś czynnik) lub błędnego "rozsunięcia" nawiasów w głowie.
  • "-12" wskazuje na typowy błąd znaku: potraktowanie minusa jako odejmowania w innym miejscu niż faktycznie występuje, albo przeoczenie operatora jednoargumentowego zmieniającego znak.

Wskazówka egzaminacyjna: gdy tylko widzisz dłuższe wyrażenie, rozpisz je na etapy (np. w tabeli śledzenia) i wykonuj działania w kolejności: nawiasy, operatory jednoargumentowe, mnożenie/dzielenie, dodawanie/odejmowanie, a na końcu przypisanie. To minimalizuje błędy "na skróty".

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Najpierw oblicz wyrażenie po prawej stronie (z uwzględnieniem nawiasów i priorytetu operatorów), a dopiero potem przypisz wynik do zmiennej. Pomaga rozpisanie działań krok po kroku i sprawdzenie, czy występuje dzielenie całkowite lub operatory zmieniające zmienną.
Priorytet operatorów określa, które działania wykonują się wcześniej (np. mnożenie przed dodawaniem). Jeśli nie ma nawiasów, to właśnie priorytety decydują o kolejności obliczeń. Błędne założenie kolejności to jedna z najczęstszych przyczyn złych odpowiedzi.
W typach całkowitych nie przechowuje się ułamków. W wielu językach dzielenie liczb całkowitych daje wynik całkowity (część ułamkowa jest obcinana lub zaokrąglana zgodnie z regułami języka). To może zmienić dalsze obliczenia.
Najczęściej: pomylenie kolejności działań, przeoczenie nawiasów, błąd znaku (minus w złym miejscu), nieodróżnienie przypisania od porównania oraz nieuwzględnienie specyfiki typu całkowitego (np. dzielenie całkowite). Warto liczyć etapami.
W praktyce tak, bo różnice między językami bywają istotne (np. zachowanie dzielenia, konwersje typów, szczegóły operatorów). Jeśli arkusz nie podaje języka, zwykle zakłada ten używany w kwalifikacji i materiałach dydaktycznych. Na egzaminie czytaj uważnie kontekst.
Oznacz wszystkie minusy: czy są jednoargumentowe (zmiana znaku liczby), czy dwuargumentowe (odejmowanie). Następnie policz wartości częściowe i dopiero potem łącz je w całość. Taki "audyt znaków" chroni przed wyborem odpowiedzi ujemnej, gdy wynik powinien być dodatni.
Nawiasy są konieczne, gdy chcesz wymusić inną kolejność niż wynika z priorytetu operatorów. Nawet gdy nie są konieczne, często warto ich użyć dla czytelności i uniknięcia pomyłek (Twoich i czytającego). Na egzaminie nawiasy są mocną wskazówką co do kolejności liczenia.
Przypisanie działa jak ostatni etap: najpierw oblicza się wartość wyrażenia, a potem zapisuje wynik w zmiennej. Jeśli w wyrażeniu są elementy modyfikujące zmienną, kolejność ich wykonania jest określona regułami języka. Dlatego analizuj instrukcję całościowo.
Zmienna całkowita przechowuje liczby bez części ułamkowej (np. -12, 0, 6). To wpływa na wyniki działań, zwłaszcza dzielenia i konwersji typów. W zadaniach egzaminacyjnych oznacza to, że finalny wynik powinien być liczbą całkowitą.
Ćwicz krótkie wyrażenia z różnymi operatorami, zapisuj etapy obliczeń i sprawdzaj priorytety. Rób zadania z dzieleniem, nawiasami i znakami ujemnymi. Dobra metoda to "trace table": wpisujesz kolejne wartości zmiennych po każdej instrukcji, jak przy debugowaniu.
info

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

Źródła:

  • MDN Web Docs: Operator precedence (JavaScript) – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_precedence (dostęp: 2026-03-01)
  • PHP Manual: Operator Precedence – https://www.php.net/manual/en/language.operators.precedence.php (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja języka używanego na zajęciach (sekcja: operatory i priorytety)
  • Materiały kursowe INF.3 dotyczące podstaw programowania/skryptów
  • Zadania treningowe: obliczanie wartości wyrażeń i śledzenie zmian zmiennych (trace table)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego