Вопрос задан 24.10.2023 в 03:06. Предмет Информатика. Спрашивает Романова Софья.

Проверьте программу на правильность написания, пожалуйся 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.
0 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.  

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

0 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.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Программа, которую вы предоставили, содержит некоторые ошибки в синтаксисе. Вот исправленная версия программы:

pascal
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 begin if i mod 2 <> 0 then write(' ', a[i]); end; end.

Внесенные исправления включают в себя:

  1. Добавление операторов begin и end в циклы for и if, чтобы указать блоки кода.
  2. Замена символа &gt; на >.
  3. Уточнение типов переменных и индексов массива.
  4. Добавление пробелов и отступов для улучшения читаемости.

Теперь программа должна правильно компилироваться и выполняться.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос