KWALIFIKACJA INF2 + INF3 - CZERWIEC 2015

PYTANIE NR 21.
Przedstawiony kod programu został zapisany w języku
Ilustracja przedstawia fragment kodu programu napisanego w języku Java.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna jest odpowiedź JAVA, jeśli w pokazanym fragmencie występują cechy typowe dla tego języka, np. definicja class, słowo public static void main, użycie pakietów/importów lub typów obiektowych. ANSI C, C++ i Pascal mają inne charakterystyczne elementy zapisu programu.

Pełne wyjaśnienie:

Pytanie polega na rozpoznaniu języka programowania po składni widocznej w przedstawionym kodzie. Odpowiedź JAVA jest poprawna wtedy, gdy w kodzie występują konstrukcje typowe dla Javy, które odróżniają ją od ANSI C, C++ i Pascala.

Co zwykle wskazuje na Javę?

  • Obecność słowa kluczowego class i definicji klasy jako podstawowej jednostki programu.
  • Charakterystyczny punkt wejścia: public static void main(String[] args).
  • Instrukcje importu/pakietu (np. import ..., package ...), spotykane w typowych plikach źródłowych Javy.
  • Używanie typów i obiektów z biblioteki standardowej (np. klasy do wejścia/wyjścia), a nie nagłówków w stylu C.

Dlaczego "ANSI C" nie pasuje? W C program zwykle składa się z funkcji (bez klas), często spotyka się dyrektywy preprocesora (np. dołączanie nagłówków), a wejście programu to funkcja main bez modyfikatorów dostępu i bez składni klasowej.

Dlaczego "C++" nie jest najlepszym wyborem? C++ może wyglądać podobnie do Javy (klamry, średniki), ale typowy kod C++ częściej używa mechanizmów i bibliotek charakterystycznych dla tego języka (np. strumieni wejścia/wyjścia), a punkt wejścia nie ma postaci z public static void. Jeśli kod jednoznacznie pokazuje "main" w postaci Javy, wskazuje to na Javę, a nie C++.

Dlaczego "PASCAL" odpada? Pascal ma odmienną składnię: używa słów kluczowych takich jak program, begin, end, często zamiast klamer i średników w stylu C/Java. Zwykle deklaracje i struktura programu są tam łatwo rozpoznawalne.

Wskazówka egzaminacyjna: szukaj 1–2 elementów rozstrzygających (np. "class" + "public static void main"). Nie wybieraj języka tylko na podstawie klamer i średników, bo to może prowadzić do mylenia Javy z C/C++.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Najczęściej rozpoznasz Javę po definicji class, obecności metody main w formie public static void main(String[] args) oraz po liniach package/import. Sama obecność klamer i średników nie wystarcza, bo podobnie wygląda C i C++.
W Javie typowo pracuje się na klasach i metodach, a w ANSI C na funkcjach i plikach z nagłówkami. Jeśli widać deklarację klasy oraz "main" z modyfikatorami dostępu, to mocna przesłanka Javy. W C częste są też dyrektywy preprocesora.
Oba języki używają podobnych znaków składni: nawiasów klamrowych { }, średników i instrukcji warunkowych/pętli o zbliżonym zapisie. To powoduje "efekt podobieństwa". Trzeba szukać cech rozstrzygających, np. postaci metody main lub importów.
Pascal zwykle zawiera charakterystyczne słowa kluczowe, np. program, var, begin, end, a także inną składnię deklaracji. Jeśli w przedstawionym kodzie dominuje taki zapis, to nie będzie to Java ani C/C++.
Nie. Średniki występują także w Javie. To typowy błąd: uczeń widzi ";" i automatycznie wybiera C/C++. Dopiero połączenie kilku cech (np. klasy, importów, postaci funkcji/metody startowej) daje pewną identyfikację języka.
Najbardziej klasyczny zapis to metoda: public static void main(String[] args). Jeśli w kodzie widzisz taką sygnaturę w obrębie klasy, to jest to bardzo silna wskazówka, że fragment został zapisany w Javie, a nie w ANSI C, C++ czy Pascalu.
W ANSI C często występują dyrektywy preprocesora (np. dołączanie plików nagłówkowych), praca na wskaźnikach i funkcje poza klasami. Java nie używa preprocesora w tym sensie i zwykle ma strukturę opartą o klasy, pakiety oraz biblioteki Javy.
Zwykle decydują: postać "main" z public static void, obecność package/import oraz użycie klas z biblioteki standardowej Javy. C++ może mieć klasy, ale nie ma typowej dla Javy sygnatury startowej z modyfikatorami dostępu.
Najczęstsze są: wybór języka "na oko" po samych klamrach, ignorowanie słów kluczowych rozstrzygających, oraz kierowanie się tym, czego ostatnio się uczyli. Pomaga metoda: najpierw znajdź 2–3 cechy unikalne (np. "class" i "main" w formie Javy), dopiero potem wybieraj.
Ćwicz na krótkich fragmentach kodu i rób notatki z "cech rozpoznawczych" dla 4–5 języków. Ucz się rozróżniać: struktura programu (klasa vs funkcje), punkt wejścia, dyrektywy i importy, oraz charakterystyczne słowa kluczowe. To skraca czas na egzaminie.
info

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

Według specjalistów z branży: "Poprawna jest odpowiedź JAVA, jeśli w pokazanym fragmencie występują cechy typowe dla tego języka, np. definicja class, słowo public static void main, użycie pakietów/importów lub typów obiektowych."

Źródła:

  • Oracle: The Java® Language Specification (JLS), Java SE 17 Edition, sekcje dot. składni i deklaracji klas/metod, https://docs.oracle.com/javase/specs/ (dostęp: 2026-03-01)
  • ISO/IEC 9899:2018, Programming languages — C (C18), dokument normy opisujący składnię i strukturę programu w C
  • ISO/IEC 14882:2020, Programming languages — C++ (C++20), dokument normy opisujący składnię i strukturę programu w C++

Materiały:

  • Oficjalna specyfikacja języka Java (JLS) – rozdziały o składni
  • Krótkie zestawienia różnic składni Java vs C++ (tabele porównawcze)
  • Ćwiczenia: rozpoznawanie języka po krótkich fragmentach kodu

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego