В принципе - вроде всё правильно. Единственно - у Вас поставлен очень неудобный, "слепой" ввод данных. Поэтому я бы на свой вкус вместо
readln(n);
for i:=1 to n do
read(a[i]);
readln(k);
сделал бы так:
Код:
write('n= ');
readln(n);
for i:=1 to n do
begin
write('a[',i,']= ');
readln(a[i]);
end;
write('k= ');
readln(k);
Но это - не принципиальное замечание.