Проверьте программу ** правильность написания, пожалуйся program p1; var a: array [1..5]...

0 голосов
18 просмотров

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


Информатика (29 баллов) | 18 просмотров
Дано ответов: 2
0 голосов

program p1;

var a: array [1..5] of real;

i:integer; s:real = 0;

begin

for i:=1 to 5 do

begin

write('a[',i,']=');

readln(a[i]);

if a[i] > 0 then s:=s+1;

end;

writeln(#13#10,'количество положительных элементов = ', s:0:1);

write('элементы, имеющие нечетные индексы:');

for i:=1 to 5 do

if i mod 2 <> 0 then write('  ',a[i]:0:1);

end.  

Вот, а так все идеально))

(1.5k баллов)
0 голосов

в целом программа работает. Хотя могу дать пару замечаний

индексную переменную лучше объявлять в самом цикле.

в паскале переменной не обязательно задавать стартовое нулевое значение, она и так будет равна 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.

(1.2k баллов)