Что получится в результате действий исполнителя Чертежник по следующему алгоритму:
нач
сместиться в точку (1, 1)
нц 3 раз
опустить перо
сместиться на вектор (1, 3)
сместиться на вектор (1, -3)
сместиться на вектор (-2, 0)
поднять перо
сместиться на вектор (3, 0)
кц
кон каким образом перемещаться?
b:array [1..100] of integer;
a:array [1..100,1..100] of integer;
i, j,n,m,k1,k2: integer;
begin
writeln ('Введите Кол-во строк');
readln (n);
writeln ('Введите Кол-во столбцов');
readln (m);
writeln ('Введите к1');
readln (k1);
writeln ('Введите к2');
readln (k2);
for i :=1 to n do
for j :=1 to m do
readln ( a [ i , j ]);
writeln ('Исходный массив');
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
writeln;
for j :=1 to m do
b[j]:=a[k1][j];
for j :=1 to m do begin
a[k1][j]:=a[k2][j];
a[k2][j]:=b[j];
end;
writeln ('Массив после операций');
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
end.
Записываем 4A98 в расширенной форме по степеням основания (т.е. 16 в нашем случае):
2. Шестнадцатиричное представление переводим в восьмеричное.
Поскольку , перевод удобно сделать через промежуточную двоичную систему.
Каждую шестнадцатиричную цифру заменяем четырьмя двоичными цифрами (так называемой тетрАдой).
0100 1010 1001 1000 . 1011 1100 0010 (2)
Разбиваем двоичное число на триАды (по три разряда) влево и вправо от десятичной точки и каждую триаду заменяем восьмеричной цифрой (они по написанию совпадают с десятичными). Если разрядов для триады не хватает, дополняем их нулями слева для целой части и справа для дробной.
100101010011000.10111100001 (2)= 100 101 010 011 000.101 111 000 010=
45230.5702(8)
ответ: 4A98.BC2(16)=19096.73486328125(10)=45230.5702(8)