то что параметр цикла не в заголовке это не ошибка, но настоятельная рекомендация, а ошибка у вас в том, что вы не выделили память под динамический массив, a:=new integer[n] (или SetLength(a,n)). И, поскольку индексация элементов в динамических массивах начинается с 0, то в цикле For верхняя граница параметра i должна быть на 1 меньше n, то есть For i:=0 to n-1.