KWALIFIKACJA INF3 - STYCZEŃ 2015

PYTANIE NR 38.
Zamieszczony w ramce fragment kodu w JavaScript wypisze
Ilustracja przedstawia fragment kodu w języku JavaScript, który znajduje się w ramce.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź wskazuje, jaki dokładnie ciąg znaków zostanie wypisany przez podany fragment JavaScript. Aby to ustalić, analizuje się operacje na napisie (np. wycięcie fragmentu, indeksowanie, konkatenacja) oraz instrukcję wypisywania. Wynikiem działania jest tekst "ze", a pozostałe odpowiedzi odpowiadają innym możliwym wycinkom.

Pełne wyjaśnienie:

W tego typu zadaniach trzeba odczytać, jaki napis zostanie wypisany przez fragment kodu JavaScript (najczęściej przez console.log(), alert() albo document.write()). Poprawna odpowiedź "ze" oznacza, że wynik końcowy działania wyrażenia jest dokładnie dwuznakowym łańcuchem.

Najczęstszy mechanizm prowadzący do takiego wyniku to:

  • Wycięcie fragmentu napisu (np. metodami slice() lub substring()) tak, aby pozostały dwa znaki.
  • Indeksowanie napisu (pobranie znaków z konkretnych pozycji), pamiętając, że w JavaScript indeksowanie zaczyna się od zera.
  • Konkatenacja (łączenie) dwóch pojedynczych znaków w jeden napis.

Dlaczego pozostałe propozycje mogą kusić, ale są błędne?

  • "wo" może wynikać z przesunięcia indeksu (typowy błąd: liczenie od 1 zamiast od 0) lub z wycięcia fragmentu o tej samej długości, ale z innego miejsca.
  • "owodzeni" i "wodzenia" wyglądają jak dłuższe fragmenty jednego słowa, więc często są skutkiem pomylenia parametrów metod slice/substring (np. granica końcowa vs długość) albo nieprawidłowego ustalenia początku wycinka.

Wskazówka egzaminacyjna: zawsze rozpisz pośredni wynik w głowie (albo na brudno) i sprawdź: (1) od którego znaku zaczyna się wycinek, (2) czy parametr końcowy jest włączny czy wyłączny, (3) czy nie ma konwersji typu lub dodatkowego łączenia napisów.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
console.log() wypisuje do konsoli dokładnie tę wartość, którą przekażesz jako argument (np. napis, liczbę, obiekt). Gdy argumentem jest wyrażenie, najpierw jest ono obliczane, a dopiero potem wynik trafia do konsoli. To podstawa debugowania w aplikacjach webowych.
slice(poczatek, koniec) zwraca fragment napisu od indeksu poczatek do koniec, przy czym indeks koniec jest wyłączny. Indeksy liczą się od zera. To częste źródło pomyłek, gdy oczekujesz innej długości wyniku.
Obie metody wycinają fragment napisu, ale różnią się zachowaniem przy nietypowych parametrach. substring() zamienia wartości ujemne na 0 i może zamieniać kolejność argumentów, gdy pierwszy jest większy. slice() obsługuje indeksy ujemne (od końca napisu).
To standard w wielu językach programowania: pierwszy znak ma indeks 0, drugi 1 itd. Taki zapis upraszcza obliczenia przesunięć i długości. Na egzaminie błąd "od 1" często prowadzi do wyboru sąsiedniego fragmentu (np. dwóch innych liter).
Najprościej użyć narzędzi deweloperskich przeglądarki: otwórz konsolę (DevTools) i wklej fragment kodu lub jego kluczowe wyrażenie. Możesz też dodać tymczasowe console.log() w miejscu, które chcesz sprawdzić. To szybka metoda weryfikacji odpowiedzi.
"Wyłączny" znaczy, że znak o indeksie równym parametrowi końcowemu nie wchodzi do wyniku. Przykład: z napisu o długości 10, slice(2,4) daje 2 znaki (o indeksach 2 i 3). To kluczowe przy zadaniach z krótkim wynikiem.
Najczęściej: (1) pomylenie metody slice z substring, (2) błędne liczenie indeksów (0 vs 1), (3) nieuwzględnienie, że granica końcowa jest wyłączna, (4) pominięcie konkatenacji napisów i uznanie, że wynik będzie dłuższy lub krótszy.
Zwykle pokażą tę samą wartość, ale w inny sposób. alert() wyświetla okno dialogowe i konwertuje wartość do napisu, co bywa uciążliwe. console.log() wypisuje do konsoli i lepiej nadaje się do debugowania (np. obiekty można rozwijać). Mechanizm obliczenia argumentu jest podobny.
Najczęściej po operatorze + użytym z napisami (np. "a" + "b"). Uwaga: gdy jeden z operandów jest napisem, JavaScript często konwertuje drugi do tekstu i też skleja. W zadaniach może to zmienić wynik z liczby na napis lub z jednego znaku na dwa.
Ćwicz krótkie fragmenty: wycinanie napisów, indeksowanie, łączenie tekstu i wypisywanie wyniku. Rób to w konsoli przeglądarki i zapisuj, co zwracają metody slice, substring, indexOf. Na egzaminie pomaga też rozpisanie indeksów pod napisem.
info

Statystycznie 58% uczniów zna prawidłową odpowiedź. średnie

W praktyce zawodowej kluczowe jest to, że poprawna odpowiedź wskazuje, jaki dokładnie ciąg znaków zostanie wypisany przez podany fragment JavaScript.

Źródła:

  • MDN Web Docs: console.log() - https://developer.mozilla.org/en-US/docs/Web/API/console/log (dostęp: 2026-03-01)
  • MDN Web Docs: String.prototype.slice() - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice (dostęp: 2026-03-01)
  • MDN Web Docs: String.prototype.substring() - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja MDN: console.log i podstawy konsoli deweloperskiej
  • Dokumentacja MDN: metody String (slice, substring, indexOf)
  • Ćwiczenia praktyczne: uruchamianie krótkich fragmentów JS w konsoli przeglądarki

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego