Есть ответ 👍

Вмассиве найти сумму и кол-во элементов между первым и последним положительными элементами.(паскаль)

201
260
Посмотреть ответы 2

Ответы на вопрос:


Const n=10;   var a: array[1..n] of integer; i,k1,k2,s: integer;   begin randomize; writeln('массив a: '); for i: =1 to n do   begin   a[i]: =random(51)-25;   write(a[i]: 4);   end; writeln; for i: =1 to n do   begin   if a[i]> 0 then k2: =i;   if a[n+1-i]> 0 then k1: =n+1-i;   end; writeln('k1 = ',k1,' k2 = ',k2); s: =0; for i: =k1+1 to k2-1 do s: =s+a[i]; writeln('s = ',s,' k = ',k2-k1-1); end. пример: массив a:   -9   -4 -22   -1   19 -23 -24   16 -12 -25 k1 = 5 k2 = 8 s = -47 k = 2

Запишем этот  алгоритм, и на место команды1 поставим команду сместиться на (a, b). (здесь a,  b -это нужные нам координаты смещения в команде1) повтори 2 разсме­стить­ся на (a, b) сме­стить­ся на (3, 2)сме­стить­ся на (2, 1)конецсместиться на (−6, −4)выполнение этого алгоритма к следующим  смещениям по оси  икс:   a +  3 +  2 + a + 3 + 2 -  6 так как нам известно, что в результате этих смещений чертёжник вернулся в исходную точку, то это значит что сумма всех смещений равна нулю. можем записать уравнение и найти a: a +  3 +  2 + a + 3 + 2 -  6 = 0 2a + 4 = 0 2a = -4 a = -4 / 2 = -2  (нашли смещение по x в команде1) далее, делаем то же самое для смещения по y: выполнение этого алгоритма  к следующим  смещениям по оси  игрек: b  +  2  +  1  + b + 2 + 1 -  4 составляем уравнение: b  +  2  +  1  + b + 2 + 1 -  4 = 0 2b  +  2  = 0 2b = -2 b = -2 / 2 = -1 (нашли смещение по y в команде1) значит, вместо команды1 нужно поставить команду, указанную в варианте ответа  1) сместиться на (-2, -1)

Популярно: Информатика