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.