Здравствуйте!!! Помогите пожалуйста написать программу в ПАСКАЛЕ! ____________ задание во...

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

Здравствуйте!!!
Помогите пожалуйста написать программу в ПАСКАЛЕ!

____________
задание во вложении


image

Информатика | 7 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Const
n=10;
var
j,i:integer;
a:array[1..n]of real;
s:real;     
    begin         
       for i:=1 to n do 
             readln(a[i]);         
                writeln;         
                  writeln('ARRAY: ');         
                        for i:=1 to n do             
                            write(a[i]:8:2);             
j:=1;       i:=1;     
      while (a[i]>0)and(i              begin           
                  i:=i+1;           
                  j:=i;       
              end;     
    if j<>n then     
        begin     
            for i:=j+1 to n do         
                  s:=s+abs(a[i]);         
            writeln;     
            writeln(s:8:2);     
       end     
   else     
       writeln('единственный отрицательный - последний элемент')   
  end.

(9.6k баллов)
0

Переменные необходимо определять ! s:=s+abs(a[i]);

0

Определять - это что Вы имеете в виду

0

ПРисваивать начальное зачение?

0

Да. И вопрос, для чего вы в цикле while a[i]>0 do используете считаете и I и J. Не проще ли j вынести за цикл J:=i+1

0

Чего ее определять? По умолчанию все значения в Паскаль равны 0

0

В j записываю индекс самого первого нечетного, чтобы потом ПОСЛЕ него начать считать сумму

0

А i я не считаю, а просто увеличиваю, чтобы просмотреть все элементы, пока не встретится отрицательное

0

j:=1; i:=1;
while a[i]>0 do i:=i+1;
j:=i;

0

Проще - это вопрос логики каждого. Мне проще так