в целом программа работает. Хотя могу дать пару замечаний
индексную переменную лучше объявлять в самом цикле.
в паскале переменной не обязательно задавать стартовое нулевое значение, она и так будет равна 0.
вместо s:=s+1 можно написать s += 1
ну и отступы...
после правок будет выглядеть примерно так:
program p1;
var
a : array [1..5] of real;
s : real;
begin
for var i:= 1 to 5 do
begin
write('a[', i, ']=');
readln(a[i]);
if a[i] > 0 then s += 1;
end;
writeln;
writeln('количество положительных элементов = ', s);
write('элементы, имеющие нечетные индексы:');
for var i := 1 to 5 do if i mod 2 <> 0 then write(' ', a[i]);
end.