Введём обозначения x - назад 2 у - вперёд 3 Всего команд 40 поэтому х+у = 40. Также сказано, что команд назад 2 на 10 больше: х-у = 10 Составим систему уравнений.
выразим из 2 уравнения х, получим: х = 10 + у подставим этот х в 1 уравнение: 10 + у + у = 40 упрощаем: 2у = 30 упрощаем: у = 15 подставим в выраженный ранее х: х = 10 + 15 = 25
Мы получили команд назад 2 - 25, то есть кузнечик в сумме сдвинулся назад на 2*25 = 50, а вперёд на 3*15 = 45. Если мы вычтем из 1 результата 2 то получим 5 - число указывает смещение кузнечика. То есть всю программу можно заменить одной командой: назад 5.
begin Randomize; Writeln('Элементы массива'); for i := 1 to n do begin a[i] := Random(61) - 30; Write(a[i]:4); if a[i]>0 then a[i]:=2*a[i] else if a[i]<0 then a[i]:=7 end; Writeln; Writeln('После преобразования'); for i := 1 to n do Write(a[i]:4); Writeln end.
x - назад 2
у - вперёд 3
Всего команд 40 поэтому х+у = 40. Также сказано, что команд назад 2 на 10 больше: х-у = 10
Составим систему уравнений.
выразим из 2 уравнения х, получим: х = 10 + у
подставим этот х в 1 уравнение: 10 + у + у = 40
упрощаем: 2у = 30
упрощаем: у = 15
подставим в выраженный ранее х: х = 10 + 15 = 25
Мы получили команд назад 2 - 25, то есть кузнечик в сумме сдвинулся назад на 2*25 = 50, а вперёд на 3*15 = 45. Если мы вычтем из 1 результата 2 то получим 5 - число указывает смещение кузнечика. То есть всю программу можно заменить одной командой: назад 5.
n = 15;
var
a: array[1..n] of integer;
i: integer;
begin
Randomize;
Writeln('Элементы массива');
for i := 1 to n do
begin
a[i] := Random(61) - 30;
Write(a[i]:4);
if a[i]>0 then a[i]:=2*a[i]
else
if a[i]<0 then a[i]:=7
end;
Writeln;
Writeln('После преобразования');
for i := 1 to n do Write(a[i]:4);
Writeln
end.
Тестовое решение:
Элементы массива
-20 15 16 20 0 16 -15 -1 -2 21 -8 -10 4 -24 1
После преобразования
7 30 32 40 0 32 7 7 7 42 7 7 8 7 2