KWALIFIKACJA INF2 + INF3 - CZERWIEC 2007

PYTANIE NR 28.
Tablica WYNIKI jest zadeklarowana w następujący sposób:

var WYNIKI : array[a..f, 1..3] of byte;


Ilość elementów, które można zapisać w tablicy WYNIKI wynosi:
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Liczbę elementów tablicy 2D wyznacza iloczyn liczby indeksów w każdym wymiarze. Zakres a..f ma 6 wartości (a, b, c, d, e, f), a zakres 1..3 ma 3 wartości. Zatem 6×3 = 18 komórek, które można zapisać w tablicy.

Pełne wyjaśnienie:

W deklaracji array[a..f, 1..3] of byte tablica jest dwuwymiarowa. Każdy wymiar ma własny zakres indeksów, a łączna liczba elementów to iloczyn liczby możliwych indeksów w każdym wymiarze.

1) Pierwszy wymiar: a..f
Zakres indeksów jest dyskretny i obejmuje oba końce. Oznacza to wartości: a, b, c, d, e, f. Jest ich 6.

2) Drugi wymiar: 1..3
Zakres obejmuje: 1, 2, 3, czyli 3 wartości.

3) Liczba elementów tablicy
Tablica ma więc 6 wierszy i 3 kolumny (lub odwrotnie, zależnie od interpretacji wymiarów), czyli:
6 × 3 = 18

Dlatego odpowiedź 18 jest poprawna.

Dlaczego pozostałe odpowiedzi są błędne?

  • 15 — zwykle wynika z błędnego policzenia zakresu a..f jako 5 elementów (pominięcie jednej litery) albo z błędu "koniec − początek" bez dodania 1, co nie działa dla zakresów dyskretnych.
  • 3 — to liczba indeksów tylko w drugim wymiarze (1..3). Taka odpowiedź ignoruje fakt, że tablica jest dwuwymiarowa.
  • 45 — to wynik niepoprawnych działań (np. dodawania lub mnożenia z inną, nieistniejącą liczbą elementów). Nie wynika z żadnej poprawnej interpretacji podanych zakresów.

Wskazówka egzaminacyjna: zawsze licz wartości w zakresie dyskretnym jako "ile różnych indeksów jest dopuszczonych", a potem w tablicy wielowymiarowej mnożysz rozmiary wymiarów.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Policz, ile wartości ma każdy zakres indeksów (pamiętaj, że oba końce są wliczane), a potem pomnóż te liczby. Dla dwóch wymiarów wynik to: liczba_indeksów_wymiar1 × liczba_indeksów_wymiar2.
Oznacza tablicę o dwóch wymiarach. Pierwszy wymiar jest indeksowany wartościami od a do f, a drugi od 1 do 3. Każda para indeksów wskazuje jedną komórkę tablicy.
Bo zakres w tego typu deklaracjach jest inkluzywny, czyli zawiera oba końce. Litery to: a, b, c, d, e, f. To łącznie 6 różnych wartości indeksu pierwszego wymiaru.
Nie. Typ byte określa, co jest przechowywane w pojedynczej komórce (zwykle 1 bajt danych), ale nie zmienia liczby komórek. Liczba elementów zależy wyłącznie od zakresów indeksów w wymiarach.
Liczba elementów to liczba komórek (np. 18). Rozmiar w pamięci to zwykle liczba elementów × rozmiar typu. Jeśli element ma typ byte, to rozmiar często równa się liczbie elementów w bajtach, ale pytanie może dotyczyć tylko elementów.
Gdy dane naturalnie układają się w siatkę: tabela wyników, plansza gry, macierz, harmonogram, zestawienie pomiarów. Wtedy łatwo iterować po wierszach i kolumnach pętlami zagnieżdżonymi i odwoływać się do komórek przez dwa indeksy.
Najczęstszy błąd to policzenie go jako 3 − 1 = 2, czyli pominięcie tego, że zakres jest inkluzywny. Poprawnie liczymy wartości dyskretne: 1, 2, 3, więc są 3 elementy w tym wymiarze.
Tak, w Pascalu/Object Pascalu można używać typów wyliczeniowych lub przedziałów znaków jako indeksów. Dzięki temu kod bywa czytelniejszy (np. dni tygodnia, litery). Nadal obowiązuje zasada: liczba elementów wynika z liczby dopuszczonych indeksów.
Stosuje się pętle zagnieżdżone: zewnętrzna po pierwszym zakresie (a..f), wewnętrzna po drugim (1..3). Kluczowe jest użycie poprawnych granic w obu pętlach, aby nie pominąć elementów ani nie wyjść poza zakres.
Zrób kontrolę w dwóch krokach: (1) wypisz w myślach skrajne i 1–2 wartości pośrednie, by upewnić się, że zakres jest inkluzywny, (2) pomnóż liczby wartości z wymiarów. Jeśli wynik jest mały i spójny, zwykle jest poprawny.
info

To pytanie poprawnie rozwiązuje 65% zdających egzamin. średnie

Według specjalistów z branży: "Liczbę elementów tablicy 2D wyznacza iloczyn liczby indeksów w każdym wymiarze."

Źródła:

  • Embarcadero DocWiki: "Arrays (Delphi)" (opis tablic i ich indeksowania), https://docwiki.embarcadero.com/RADStudio/en/Arrays - accessed 2026-03-01
  • ISO/IEC 7185:1990, Information technology — Programming languages — Pascal (definicje elementów języka, w tym typów strukturalnych takich jak tablice)

Materiały:

  • Dokumentacja języka (Pascal/Delphi/Object Pascal) dotycząca tablic i zakresów
  • Zadania treningowe z liczenia liczby elementów w tablicach 1D/2D/3D
  • Notatki o przedziałach dyskretnych: liczba wartości = koniec - początek + 1

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego