<em>1.Краткая запись</em>
<em>2.Решение</em>
<em>3.Ответ</em>
1.резервные копии
<span>2.перенос </span>
<span>3.снижение ресурсоемкости </span>
<span>4.в целях безопасности</span>
Сама процедура занимает 5 строчек.
<u>// PascalABC.NET 3.3, сборка 1607 от 31.12.2017</u>
<u>// Внимание! Если программа не работает, обновите версию!</u>
procedure MV(a:array[,] of integer; b,c:array of integer);
begin
for var i:=0 to b.Length-1 do
c[i]:=a.Row(i).Zip(b,(p,q)->p*q).Sum;
end;
begin
var a:array[,] of integer:=((2,4,0),(-2,1,3),(-1,0,1));
var b:array of integer:=(1,2,-1);
Writeln('Матрица A'); a.Println(3);
Write('Вектор B: '); b.Println;
var c:=new integer[3];
MV(a,b,c);
Write('Вектор С: '); c.Println
end.
Только для третьего. Эксель и я сошлись во мнениях.
Переводим X и Y в двоичную систему - это все же два числа, а не четыре, как если бы из двоичной переводить Z. Цифры шестнадцатиричного X расписываем по двоичным тетрадам, а восьмеричного Y - по триадам.
X = B7₁₆ = 1011 0111₂ = 10110111
Y = 271₈ = 010 111 001₂ = 10111001
Требуется найти Z, которое находится между X и Y.
Запишем в столбик, выравняв по младшему разряду, сначала X, потом варианты Z и в конце Y. То, что не будет попадать в интервал между числами в первой и последней строках, потом вычеркнем.
10110111
<span>10111001 - равно нижнему, вычеркнем
10011000 - меньше верхнего, вычеркнем
10111000 - подходит - это ответ
10110111
</span>- равно верхнему, вычеркнем
10111001
Ответ: <span>3) 10111000₂</span>