KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2012

PYTANIE NR 9.
Automatyczne tłumaczenie kodu napisanego w języku programowania na kod maszynowy, to
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Kompilacja to proces automatycznego tłumaczenia kodu źródłowego programu na kod wynikowy (najczęściej maszynowy lub pośredni), aby mógł zostać wykonany przez komputer. Enkapsulacja dotyczy programowania obiektowego, konsolidacja oznacza łączenie/ujednolicanie, a weryfikacja to sprawdzanie poprawności.

Pełne wyjaśnienie:

Kompilacja to etap, w którym kompilator przetwarza kod źródłowy (np. w C/C++) i tłumaczy go na kod wynikowy możliwy do uruchomienia: zazwyczaj kod maszynowy albo formę pośrednią, która dopiero później jest zamieniana na kod maszynowy. W praktyce kompilacja jest elementem procesu budowania programu (build) i poprzedza uruchomienie pliku wykonywalnego.

Dlatego w tym pytaniu poprawną odpowiedzią jest kompilacja, bo opis dotyczy właśnie translacji programu z języka wysokiego poziomu do postaci zrozumiałej dla maszyny.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • Enkapsulacja – pojęcie z programowania obiektowego: ukrywanie danych i implementacji w klasach/obiektach oraz kontrola dostępu. Nie jest to proces tłumaczenia na kod maszynowy.
  • Konsolidacja – ogólnie oznacza scalanie, łączenie, ujednolicanie (np. danych, zasobów). W informatyce może występować w kontekstach administracyjnych lub danych, ale nie jest nazwą procesu translacji kodu źródłowego na kod maszynowy.
  • Weryfikacja – oznacza sprawdzanie zgodności/ poprawności (np. weryfikacja wymagań, weryfikacja działania, testy). Może dotyczyć programu, ale nie jest synonimem kompilacji.

Wskazówka egzaminacyjna: jeśli w treści pojawia się "tłumaczenie programu na kod maszynowy/kod wykonywalny", szukaj pojęć: kompilacja/kompilator (a nie terminów od OOP, testowania czy zarządzania danymi). Gdy mowa o uruchamianiu instrukcji bez tworzenia kodu wynikowego, wtedy bliżej jest do interpretacji.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Kompilacja to przetworzenie kodu źródłowego przez kompilator do kodu wynikowego, który może zostać wykonany przez komputer (np. kod maszynowy lub kod pośredni). W praktyce to etap "build", który tworzy plik wykonywalny albo moduły do dalszego linkowania.
W uproszczeniu kompilator analizuje składnię i znaczenie kodu, wykrywa część błędów, a następnie generuje kod wynikowy. Często po drodze wykonuje optymalizacje. Efektem jest program w postaci wykonywalnej lub obiektowej do połączenia przez linker.
Kompilacja tworzy kod wynikowy przed uruchomieniem programu, natomiast interpretacja wykonuje instrukcje bez wcześniejszego wytworzenia klasycznego pliku wynikowego w kodzie maszynowym. W testach mylenie tych pojęć jest częstym źródłem błędnych odpowiedzi.
Kod maszynowy to zestaw instrukcji w formie zrozumiałej dla procesora. Żeby CPU mógł wykonać program, finalnie musi otrzymać instrukcje w tej postaci. Kompilator (bezpośrednio lub pośrednio) pomaga przełożyć kod źródłowy na instrukcje możliwe do wykonania.
Nie zawsze. Często kompilacja tworzy pliki obiektowe lub kod pośredni, który dopiero później jest łączony (linkowanie) i zamieniany na finalną postać wykonywalną. Mimo tego nadal mówimy o kompilacji jako o tłumaczeniu z języka wysokiego poziomu do postaci bliższej maszynie.
Linkowanie (łączenie) to etap składania plików obiektowych i bibliotek w jeden program. Kompilacja tłumaczy kod źródłowy do plików wynikowych (np. obiektowych), a linker dopiero scala je w całość. Na egzaminie warto pamiętać, że to dwa różne etapy builda.
Enkapsulacja dotyczy programowania obiektowego: ukrywania pól i metod oraz kontroli dostępu (np. private/public). Nie opisuje procesu zamiany kodu źródłowego na kod wykonywalny. To typowy "dystraktor" oparty na znajomości terminów z innych działów.
Najczęściej:
  • mylą kompilację z interpretacją,
  • wybierają słowo "weryfikacja", bo kojarzy się z poprawnością,
  • automatycznie zaznaczają termin z OOP (enkapsulacja), bo brzmi znajomo.
Warto szukać w treści słów "tłumaczenie na kod maszynowy".
Błędy kompilacji pojawiają się na etapie budowania projektu, gdy kod ma problemy składniowe, typów lub brakuje deklaracji/plików. W IDE zwykle widać je w konsoli kompilatora. To inne błędy niż te, które występują dopiero podczas uruchamiania programu.
Ucz się definicji: kompilator, kompilacja, interpretator, linker, kod źródłowy, kod maszynowy. Przećwicz też proste scenariusze: co dzieje się po kliknięciu "Build/Compile" w IDE i jakie typy błędów mogą się wtedy pojawić. To pozwala szybko rozpoznać właściwy termin.
info

Statystycznie 79% uczniów zna prawidłową odpowiedź. średnio łatwe

Specjaliści zwracają uwagę: "Kompilacja to proces automatycznego tłumaczenia kodu źródłowego programu na kod wynikowy (najczęściej maszynowy lub pośredni), aby mógł zostać wykonany przez komputer."

Źródła:

  • GNU GCC Documentation – "What is a compiler?" / ogólny opis kompilacji, https://gcc.gnu.org/onlinedocs/ (dostęp: 2026-02-18)
  • Microsoft Learn – dokumentacja MSVC: kompilator i proces kompilacji, https://learn.microsoft.com/en-us/cpp/build/reference/compiler-options (dostęp: 2026-02-18)
  • Aho, Lam, Sethi, Ullman: "Compilers: Principles, Techniques, and Tools" (tzw. Dragon Book), rozdz. 1 (definicje kompilatora i procesu translacji), wydanie 2

Materiały:

  • Dokumentacja kompilatorów (np. GCC/Clang/MSVC) – opis etapów kompilacji
  • Podręczniki wprowadzające do kompilatorów (rozdziały o kompilacji i kodzie pośrednim)
  • Materiały kursowe z podstaw programowania nt. kompilacji vs interpretacji

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego