1. Из-за ошибок программа не запустится.- в блоке описания переменных отсутствует var- clrscr не будет работать без подключенного модуля CRT. Да она и не особо нужна для решения этой задачи. Как и не нужен readln в предпоследней строке.2. После устранения недостатков получим, что первый цикл:Заполняет массив сл. значениями и выводит его на экран в одной строке.for i:=1 to 10 do begin a[i]:=random(21)-10; write(a[i]); end;3. Следующие строки кода делают реверс 1-ой половины массива://надо, чтобы a[1] стало a[5], a[5] стало a[1], a[2] cтало a[4], a[4] стало a[2],//элемент a[3] не трогаем, так как он находится посередине и его не с кем менять n:=0; //вспомогательная переменная, которая будет увеличиваться на 1 при //каждом выполнении тела цикла for i:=1 to 2 do begin k:=a[i]; // в переменной k запоминаем значение a[i] a[i]:=a[5-n]; // теперь a[i] = a[5-n] a[5-n]:=k; // А элемент a[5-n] = бывшему значению a[i], которое сохранили в k n:=n+1; //Для работы со следующей парой элементов увеличиваем n на 1 end;4. За реверс второй половины отвечает этот код:n:=0; for i:=6 to 8 do begin k:=a[i]; a[i]:=a[10-n]; a[10-n]:=k; n:=n+1; end;5. Ну и последний цикл выводит получившийся массив на экран:for i:=1 to 10 do write(a[i]);