цветовая гамма растрового изображения кодируется 16 полутонами от чёрного к белому. Коды пикселей записываются в файл один за другим без промежутков. Определите размер сторон прямоугольного растворого изображения, если размер файла равен 37,5 Кбайт без учёта заголовка файла, а отношение сторор сторон составляет 3:4
uses crt;
Var mas:array[1..1000, 1..1000] of integer;
N,M,i,j,k:integer;
Begin
Writeln('Введите размер матрицы N*M');
Write('N = ');
readln(N);
Write('M = ');
readln(M);
if (M>1000) or (N>1000) or (M<1) or (N<1)
then
Writeln('Ошибка, указанные значения выходят за пределы матрицы') else
Begin
Writeln('Введите элементы матрицы');
k:=0;
for i:=1 to N do
for j:=1 to M do
Begin
readln(mas[i,j]);
if (mas[i,j] mod 2 = 0) then k:=k+1;
end;
Writeln();
Writeln('Исходная матрица');
for i:=1 to N do
Begin
for j:=1 to M do
Begin
Write(mas[i,j], ' ')
end;
Writeln();
end;
Writeln();
Writeln('Количество четных элементов = ',k);
end;
readln;
end.
Объяснение:
ответ:10.8.224.0
Комментарий: несложно заметить, что поразрядная конъюнкция для единичных битов не меняет значение составляющей IP-адреса, а для нулевых битов даёт только значение 0. Поэтому решение задачи можно у Так как 25510 = 111111112, то очевидно, что соответствующие составляющие IP-адреса не будут изменены, и напрасно переводить их из системы в систему не стоит. А нулевая составляющая IP-адреса даст значение 0.
Поэтому, перевод в двоичный код имел смысл только для третьего байта IP-адреса. Посмотрим ещё на одном примере.
Задание 2. По заданным IP-адресу сети и маске определите адрес сети:
IP-адрес: 145.92.137.88 Маска: 255.255.240.0
1. Получаем двоичный код третьей составляющей IP-адреса: 13710 = 100010012
2. Получаем двоичный код третьей составляющей маски: 24010 = 111100002
3. Применяем к ним операцию поразрядной конъюнкции, получим: 100000002
4. Записываем полученный адрес в десятичном формате 100000002 =12810
5. Четвёртая составляющая IP-адреса будет равна 0.
Таким образом, IP-адрес сети: 145.92.128.0
ответ:145.92.128.0
Задание 3. Маска подсети 255.255.255.240 и IP-адрес компьютера в сети 162.198.0.44. Определить порядковый номер компьютера в сети.
Так как на номер компьютера указывают нулевые биты маски, то имеет смысл рассматривать только последнюю составляющую маски - 240 и соответствующую ей составляющую IP-адреса - 44.
1. Получаем двоичный код четвёртой составляющей IP-адреса: 4410 = 001011002
2. Получаем двоичный код четвёртой составляющей маски: 24010 = 111100002
3. На номер компьютера указывают нулевые биты, поэтому 1100 - это номер компьютера. Переведём это число в двоичную систему, получим 12.
ответ: порядковый номер компьютера в сети 12.
Задачи для самостоятельного решения.
1) По заданным IP-адресу сети и маске определите адрес сети:
IP-адрес: 217.9.142.131 Маска: 255.255.192.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
0
9
16
64
128
142
192
217
2) По заданным IP-адресу сети и маске определите адрес сети:
IP-адрес: 12.16.196.10 Маска: 255.255.224.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
192
0
255
12
248
16
196
128
3) По заданным IP-адресу сети и маске определите адрес сети:
IP-адрес: 217.16.246.2 Маска: 255.255.252.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
244
217
16
2
255
252
246
0
4) Маска подсети 255.255.240.0 и IP-адрес компьютера в сети 162.198.75.44. Определить порядковый номер компьютера в сети.
5) Маска подсети 255.255.255.224 и IP-адрес компьютера в сети 162.198.0.157. Определить порядковый номер компьютера в сети.
6) Маска подсети 255.255.255.128 и IP-адрес компьютера в сети 122.191.12.189. Определить порядковый номер компьютера в сети.
7) Для некоторой подсети используется маска 255.255.252.0. Сколько различных адресов компьютеров допускает эта маска? (На практике два из возможных адресов не используются для адресации узлов сети: адрес сети, в котором все биты, отсекаемые маской, равны 0, и широковещательный адрес, в котором все эти биты равны 1.)
8) Для некоторой подсети используется маска 255.255.254.0. Сколько различных адресов компьютеров теоретически допускает эта маска, если два адреса (адрес сети и широковещательный) не используют?
Проверь себя. ответы.
Номер задания
1
2
3
4
5
6
7
8
ответ
НВЕА
DFAB
BCAH
2860
29
61
1022
29
Отправить по электронной почте
Написать об этом в блоге
Опубликовать в Twitter
Опубликовать в Facebook
Поделиться в Pinterest