KWALIFIKACJA INF3 - CZERWIEC 2017

PYTANIE NR 30.
Przedstawiono fragment JavaScript. Po jego wykonaniu zmienna str2 będzie przechowywać
Ilustracja przedstawia fragment kodu JavaScript, który jest częścią pytania egzaminacyjnego związanego z kwalifikacją
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Wynik w zmiennej zależy od konkretnych operacji wykonanych na napisie w podanym fragmencie JavaScript (np. wycinanie podciągu, łączenie, zamiana znaków). Aby poprawnie wskazać wartość str2, trzeba prześledzić kod krok po kroku i pamiętać o indeksowaniu od zera.

Pełne wyjaśnienie:

W zadaniach tego typu sprawdza się umiejętność analizy kodu JavaScript i przewidywania, jaka wartość znajdzie się w zmiennej po wykonaniu instrukcji. Najczęściej dotyczy to pracy na łańcuchach znaków: wycinania fragmentów, sklejania napisów, podstawiania znaków lub pobierania pojedynczych znaków.

Poprawna metoda rozwiązania jest zawsze taka sama:

  1. Ustal wartość początkową każdej zmiennej (np. str1, str2).
  2. Wykonuj instrukcje w kolejności od góry do dołu, po każdym kroku zapisując nową wartość zmiennych.
  3. Jeśli pojawiają się metody napisów, zwróć uwagę na ich parametry i to, czy operują na indeksach liczonych od zera.
  4. Na końcu porównaj uzyskany wynik z odpowiedziami.

Dlaczego odpowiedzi błędne bywają atrakcyjne? Zwykle wynikają z typowych pomyłek:

  • Przesunięcie o 1 znak (mylenie indeksów) daje wynik o bardzo podobnej postaci.
  • Pominięcie jednego kroku (np. dodatkowego wycięcia lub konkatenacji) prowadzi do wyniku "uciętego" albo z brakującym znakiem.
  • Pomylenie metody (np. uznanie, że parametr końcowy jest wliczany, gdy faktycznie jest wyłączny) daje fragment o złej długości.

W praktyce zawodowej (INF.3) taka analiza jest potrzebna przy debugowaniu walidacji formularzy, przetwarzaniu danych tekstowych i pracy z fragmentami URL lub identyfikatorów. Najbezpieczniej jest testować podobne fragmenty w konsoli przeglądarki, aby utrwalić działanie metod.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Spisz wartości zmiennych po każdej instrukcji, od góry do dołu. Przy metodach napisów zwracaj uwagę na indeksy (zwykle od 0) i na to, czy parametr końcowy jest wyłączny. Dopiero końcowy stan zmiennej porównaj z odpowiedziami.
To konwencja większości języków programowania: pierwszy element ma indeks 0, drugi 1 itd. Dzięki temu długość (length) jest jednocześnie indeksem "za ostatnim" elementem, co upraszcza wycinanie fragmentów i pętle.
Podciąg to fragment napisu wycięty z większego łańcucha, np. kilka znaków od wskazanego indeksu. Tworzy się go metodami typu slice lub substring. Błędy najczęściej wynikają z pomylenia parametrów i zakresu.
Najczęściej: mylenie indeksów (0 vs 1), zakładanie, że parametr końcowy jest wliczany, pomijanie jednej instrukcji przypisania oraz mylenie podobnych metod. Pomaga rozpisanie pośrednich wartości i kontrola długości napisu.
Nie zawsze. Obie służą do pobierania fragmentu napisu, ale różnią się obsługą niektórych przypadków (np. wartości ujemnych). Na egzaminie kluczowe jest czytanie, jakich parametrów użyto, i konsekwentne stosowanie zasad dla konkretnej metody.
Najprościej w konsoli DevTools w przeglądarce: wklej kod i użyj console.log do wypisania wartości pośrednich. To szybki sposób na weryfikację, jak działają metody napisów i w jakiej kolejności wykonują się operacje.
Łączenie (konkatenacja) tworzy nowy łańcuch z dwóch lub więcej fragmentów. Jeśli zadanie wycina fragmenty i potem je skleja, łatwo o błąd kolejności. Dlatego warto wypisać osobno każdy fragment, a dopiero potem wynik końcowy.
Oznacza to, że znak o indeksie równym parametrowi końcowemu nie należy do wyniku. Przykładowo zakres od 2 do 4 obejmuje zwykle indeksy 2 i 3. To typowa pułapka egzaminacyjna powodująca wynik krótszy o 1 znak.
Zawsze, gdy operacje obejmują fragmenty wyrazów, skróty lub funkcje zmieniające zapis. JavaScript rozróżnia wielkość liter w danych i identyfikatorach. Jeden inny znak (np. "S" vs "s") może zmienić poprawną odpowiedź.
Ćwicz krótkie snippety: wycinanie, łączenie, zamianę znaków i pobieranie znaków po indeksie. Ucz się nawyku rozpisywania wartości pośrednich. Warto też testować w konsoli i porównywać wyniki z dokumentacją metod String.
info

Około 45% zdających odpowiada poprawnie na to pytanie. trudne

Eksperci podkreślają: "Wynik w zmiennej zależy od konkretnych operacji wykonanych na napisie w podanym fragmencie JavaScript (np. wycinanie podciągu, łączenie, zamiana znaków)."

Źródła:

  • MDN Web Docs: String (JavaScript) – opis obiektu i pracy z napisami, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String (dostęp 2026-02-18)
  • MDN Web Docs: String.prototype.slice() – zasady wycinania fragmentów łańcucha, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice (dostęp 2026-02-18)
  • ECMA-262 (ECMAScript Language Specification): sekcja dotycząca obiektu String i jego metod, https://tc39.es/ecma262/ (dostęp 2026-02-18)

Materiały:

  • Dokumentacja MDN: obiekt String i metody pracy z napisami
  • Ćwiczenia: śledzenie wartości zmiennych krok po kroku na krótkich snippetach JS
  • Kurs podstaw JavaScript (typy danych, operatory, funkcje)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego