Potrafisz już przechowywać w programie liczby całkowite, rzeczywiste, znaki i napisy, wykorzystując do tego zmienne. Na razie jednak dla każdego takiego obiektu potrzebowałeś zadeklarować osobną zmienną. W praktyce jednak komputera używa się do przetwarzania danych o większych rozmiarach. Pojedyncze zmienne nie wystarczają do tego, gdyż należałoby ich zadeklarować bardzo dużo, a wówczas wykorzystanie komputera do rozwiązania problemu stałoby się mało opłacalne.
Z pomocą przychodzą tablice. Ogólnie rzecz biorąc, tablice można sobie wyobrazić jako uporządkowaną zbiorowość elementów jakiegoś typu, na przykład liczb. Wyobraź sobie tablicę jako tabelkę z pewną ilością pól, w każdym z tych pól można przechowywać jedną wartość określonego typu. Pola posiadają swoje numerki - tzw. indeksy. Do zadeklarowania tablicy używa się słowa kluczowego "array", zaraz po tym słowie następują nawiasy kwadratowe, w które ujęte są dwie liczby rozdzielone dwiema kropkami.
program t1;
var
zm: array[1..10] of integer;
begin
zm[1]:=100;
writeln(zm[1]);
end.
Zmienna "zm" jest zadeklarowana jako tablica 10 liczb całkowitych typu "integer". Wszystkie elementy tablicy muszą być tego samego typu. Typ ten jest określony po słowie kluczowym "of" następującym po zamknięciu nawiasów kwadratowych. Do konkretnej liczby zapamiętanej w tablicy odwołujemy się tak jak to jest podane w przykładzie przy pomocy indeksu, czyli liczby podanej zaraz po nazwie zmiennej tablicowej w nawiasie kwadratowym, np. "zm[1]".
Tablice dwuwymiarowe tworzymy dodając w jej deklaracji w nawiasie kwadratowym po przecinku dodatkowy zakres indeksów, np.:
program t2;
var
tablica: array[1..10,1..10] of integer;
begin
tab[1,1]:=19;
writeln(tab[4,3]);
end.
Taką tablicę można sobie wyobrazić jako tabelkę posiadającą 10 kolumn i 10 wierszy. Można na przykład przyjąć, że pierwszy indeks oznacza numer kolumny, a drugi numer wiersza jakiegoś pola. Taka tablica może się na przykład przydać do reprezentowania szachownicy (jeśli zmienimy jej szerokość oczywiście).
Elementów tablicy można oczywiście dowolnie używać w obliczeniach, np. "x:=23*tab[1,2];"