В результате выполнения программы матрица была заполнена следующим образом, см. рисунок. Какая формула, использующая индексы i и j, была записана на месте многоточия? from random import* N = int(input('Введите N количество строк и столбцов матрицы:')) A = [[0] * N for i in range(N)] k = 0 for i in range (N): for j in range (N): … for i in range (N): for j in range (N): print ("{:3}".format(A[i][j]), end = " ") print()
1. Шестнадцатиричное представление переводим в десятичное. Записываем 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)
var 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)