//прога на Pascal`e const n = 10; var a: array of shortint; i, min, sumcount: shortint; sum: integer; begin randomize; setLength (a, n); writeln ('Исходный массив:'); for i:=0 to n-1 do begin a[i]:=random (101)-50; write (a[i], '; '); if a[i] in [10..15] then begin inc (sum, a[i]); inc (sumcount); end; if a[i]<a[min] then min:=i; end;
if min<>(n-1) then begin a[min]:=a[min]+a[n-1]; a[n-1]:=a[min]-a[n-1]; a[min]:=a[min]-a[n-1]; end; writeln (); if sumcount>0 then writeln ('CA чисел в промежутке [10..15]: ', sum/sumcount) else writeln ('Нет чисел в промежутке [10..15]'); writeln ('Удален элемент a[', min+1, '] = ', a[n-1], '; измененный массив:'); setlength (a, n-1); for i:=0 to n-2 do write (a[i], '; '); end.
Повтори 2 раз Команда1 Сместиться на (1, 3) Сместиться на (1, –2) Конец Сместиться на (2, 6)
Чертежник должен вернуться в исходную точку, возвращает его команда после цикла, т.е. Сместиться на (2, 6). То есть, чертежник после цикла должен оказаться в точке (-2, -6), чтобы команда "Сместиться на (2, 6)" вернула его назад.
Цикл совершает два повтора, чтобы оказаться в точке (-2, -6), каждый повтор чертежник должен сдвигаться на (-1, -3).
Объединим команды 2 и 3 в одну (сложим иксы между собой, и игреки между собой):
Сместиться на (2, 1)
Теперь можем найти команду 1. Команды 2 и 3 вместе сдвигают чертежник на (2, 1), первая команда должна делать так, чтобы каждый повтор чертежник перемещался на (-1, -3), то есть первая команда имеет вид:
const
n = 10;
var
a: array of shortint;
i, min, sumcount: shortint;
sum: integer;
begin
randomize;
setLength (a, n);
writeln ('Исходный массив:');
for i:=0 to n-1 do
begin
a[i]:=random (101)-50;
write (a[i], '; ');
if a[i] in [10..15] then begin
inc (sum, a[i]); inc (sumcount); end;
if a[i]<a[min] then min:=i;
end;
if min<>(n-1) then
begin
a[min]:=a[min]+a[n-1];
a[n-1]:=a[min]-a[n-1];
a[min]:=a[min]-a[n-1];
end;
writeln ();
if sumcount>0 then
writeln ('CA чисел в промежутке [10..15]: ', sum/sumcount)
else writeln ('Нет чисел в промежутке [10..15]');
writeln ('Удален элемент a[', min+1, '] = ', a[n-1], '; измененный массив:');
setlength (a, n-1);
for i:=0 to n-2 do write (a[i], '; ');
end.
Команда1 Сместиться на (1, 3) Сместиться на (1, –2)
Конец
Сместиться на (2, 6)
Чертежник должен вернуться в исходную точку, возвращает его команда после цикла, т.е. Сместиться на (2, 6). То есть, чертежник после цикла должен оказаться в точке (-2, -6), чтобы команда "Сместиться на (2, 6)" вернула его назад.
Цикл совершает два повтора, чтобы оказаться в точке (-2, -6), каждый повтор чертежник должен сдвигаться на (-1, -3).
Объединим команды 2 и 3 в одну (сложим иксы между собой, и игреки между собой):
Сместиться на (2, 1)
Теперь можем найти команду 1. Команды 2 и 3 вместе сдвигают чертежник на (2, 1), первая команда должна делать так, чтобы каждый повтор чертежник перемещался на (-1, -3), то есть первая команда имеет вид:
Сместиться на (-3, -4)
ответ: 3) Сместиться на (-3, -4)