Результатом исполнения данной программы не может быть число 100, так как эта программа содержит ошибку.
Массив здесь описан
var a: array [1..8] of integer;
При выполнении цикла
for i:=1 to 8 do a [i] := a [i-1] + 3;
на первом шаге должна быть выполнена команда a[1]:=a[0]+3
Элемента a[0] в массиве нет. Даже если бы он был, то введенное значение a[1] было бы заменено новым значением a[0]+3