Пусть искомая команда имеет вид: Сместиться на (x, y)
И пусть начальные координаты Чертёжника (0,0).
После выполнения команды Сместиться на (–4, 8)он будет в точке (-4,8).
Далее, после выполненя цикла из 4-х команд:
Координата Х = -4 + 4*[х+(-2)+4]
Координата Y = 8 + 4*[y+(-5)+6]
Чтобы Чертёжник вернулся в исходную точку, его координаты X и Y должны быть равны начальным: X = 0, Y = 0.
То есть нам нужно решить два уравнения:
-4 + 4*[х+(-2)+4] = 0
-4 + 4х - 8 + 16 = 0
4х + 4 = 0
4х = -4
x = -1
8 + 4*[y+(-5)+6] = 0
8 + 4y - 20 + 24 = 0
4y + 12 = 0
4y = -12
y = -3
Значит, Команда1 должна иметь вид: Сместиться на (-1, -3)
Непонятна последняя фраза в задании, но тем не менее - вот вариант решения:
В ячейку А1 вводим цену в рублях
В ячейку А4 вводим формулу <em>=A1/A10</em>
В ячейку А6 вводим формулу <em>=A1/A11</em>
В ячейку А10 вводим курс доллара к рублю (сколько рублей стоит 1 доллар)
В ячейку А11 вводим курс евро к рублю (сколько рублей стоит 1 евро)
Украшаем это всё рамками и надписями с пояснениями :)
Теперь, если курс изменился, меняем его в ячейке А10 или А11 - и в ячейках А4 и А6 получаем текущую цену в валюте.
<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
var x1:=a.Where(x->x>0).Min;
var i1:=a.FindIndex(x->x=x1);
var x2:=a.Where(x->x<0).Max;
var i2:=a.FindIndex(x->x=x2);
Swap(a[i1],a[i2]); a.Println
end.
<u>Пример</u>
n= 16
-9 -8 1 -9 2 5 -6 7 5 -9 0 2 -6 -7 3 6
-9 -8 -6 -9 2 5 1 7 5 -9 0 2 -6 -7 3 6
1) e
2) b
3) a
4) d
5) c
6) --
7) a
8) --
9) --
10) a