KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2012

PYTANIE NR 26.
Fragment programu jest
Ilustracja przedstawia fragment kodu w języku programowania C lub C++.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Struktura (rekord) łączy pod jedną nazwą kilka pól, często różnych typów, a w kodzie rozpoznasz ją po deklaracji pól w jednym bloku. Tablica przechowuje elementy jednego typu pod indeksami, procedura zawiera instrukcje, a unit to moduł/nagłówek. Dlatego taki fragment programu jest strukturą.

Pełne wyjaśnienie:

W programowaniu struktura (często nazywana też rekordem) to typ złożony, który grupuje w jedną całość kilka pól opisujących jeden obiekt/byt. Kluczową cechą struktury jest to, że pola mają zwykle różne nazwy i mogą mieć różne typy (np. liczba, tekst, data). W kodzie rozpoznaje się ją po deklaracji typu, w której wymienia się kolejne pola wewnątrz jednego bloku definicji.

Odpowiedź "strukturą" jest więc poprawna, jeśli pokazany fragment programu przedstawia definicję typu złożonego z polami (np. dane osoby: imię, wiek, adres).

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "unitem" – unit/moduł to element organizacji programu (plik lub jednostka kompilacji) zawierający deklaracje i/lub implementacje. To nie jest pojedynczy typ danych z polami, tylko "opakowanie" na kod i deklaracje.
  • "tablicą" – tablica przechowuje wiele elementów tego samego typu, dostępnych zwykle przez indeks. Nawet jeśli w zapisie występuje lista, to sama "lista wartości" nie przesądza o tablicy; w strukturze lista dotyczy pól o nazwach i typach.
  • "procedurą" – procedura/funkcja to fragment kodu wykonywalnego (instrukcje, parametry, ciało). Jeśli we fragmencie widzisz definicję pól/typów, a nie instrukcje do wykonania, to nie jest procedura.

Wskazówka egzaminacyjna: gdy pytanie dotyczy tego, "czym jest fragment programu", najpierw ustal, czy to definicja danych (typ, pola) czy definicja zachowania (procedura, instrukcje). To zwykle najszybciej prowadzi do poprawnej odpowiedzi.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Struktura (rekord) to typ złożony, który łączy kilka nazwanych pól w jedną całość. Pola mogą mieć różne typy, np. tekst i liczby. Używa się jej do opisu jednego obiektu danymi o różnych cechach, np. użytkownika: login, email, wiek.
Strukturę rozpoznasz po tym, że zawiera pola o nazwach (np. imie, wiek) i często o różnych typach. Tablica zwykle ma jeden typ elementu i dostęp przez indeks. Jeśli w definicji widać zestaw pól, to wskazuje na strukturę/rekord.
Tablica przechowuje wiele elementów tego samego typu (np. 10 liczb) i służy do pracy na kolekcji. Struktura grupuje różne informacje o jednym obiekcie (np. imię, nazwisko, rok). To inne zastosowanie: "wiele takich samych" vs "jedna rzecz opisana wieloma cechami".
Procedura (lub funkcja) to fragment programu, który wykonuje określone czynności: ma parametry, ciało z instrukcjami i często zwraca wynik (funkcja). Nie jest typem danych. Gdy widzisz instrukcje i logikę działania, myśl o procedurze; gdy widzisz pola/typy, myśl o strukturze.
Unit/moduł to sposób organizowania programu w większe części: pliki lub jednostki kompilacji zawierające deklaracje i implementacje. Ułatwia porządkowanie kodu i ponowne użycie. To pojęcie dotyczy struktury projektu, a nie tego, czy dany fragment jest typem danych jak struktura.
W aplikacjach webowych struktury/rekordy (lub obiekty o podobnej roli) służą do przenoszenia danych: modele formularzy, DTO dla API, wyniki zapytań do bazy, konfiguracje. Pozwalają trzymać razem powiązane pola i przekazywać je między warstwami (UI, logika, baza).
Częsty błąd to kierowanie się samym wyglądem "listy" w kodzie. Uczniowie wybierają tablicę, bo widzą wiele wpisów, ale nie sprawdzają, czy są to pola o nazwach i typach (struktura), czy elementy jednego typu pod indeksami (tablica). Warto szukać nazw pól.
Nie zawsze, ale to typowa cecha. Struktura może mieć pola tego samego typu, jednak nadal są to nazwane pola opisujące jedną całość. Tablica natomiast ma zwykle elementy jednego typu i identyfikuje je indeksem, a nie osobnymi nazwami pól.
Ćwicz krótkie klasyfikowanie: czy fragment deklaruje dane (typy, pola), czy opisuje działanie (procedura, pętla, instrukcje). Zrób zestaw przykładów: definicja struktury, deklaracja tablicy, nagłówek procedury, moduł/unit. To buduje szybkie skojarzenia egzaminacyjne.
Procedura ma zwykle elementy "wykonywania": parametry, ciało z instrukcjami, słowa kluczowe związane z działaniem. Struktura ma elementy "opisu danych": pola, ich typy i nazwy. Jeśli widać definicję pól bez instrukcji, to najczęściej jest to struktura/rekord, nie procedura.
info

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

Eksperci podkreślają: "Struktura (rekord) łączy pod jedną nazwą kilka pól, często różnych typów, a w kodzie rozpoznasz ją po deklaracji pól w jednym bloku."

Źródła:

  • cppreference.com, "struct (C)", https://en.cppreference.com/w/c/language/struct (dostęp: 2026-02-18)
  • Microsoft Learn, "Structure types (C#)", https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/struct (dostęp: 2026-02-18)
  • Free Pascal Reference Guide, "Records", https://www.freepascal.org/docs-html/ref/refse40.html (dostęp: 2026-02-18)

Materiały:

  • Dokumentacja języka używanego na zajęciach (sekcja: typy złożone/records/structs)
  • Materiały o podstawach programowania: typy danych, deklaracje, zakresy
  • Ćwiczenia: rozpoznawanie fragmentów deklaracji (tablica vs struktura vs procedura)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego