В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
Мокааа585
Мокааа585
14.12.2020 14:19 •  Информатика

решить теорию Алгоритмов,вариант 2

Показать ответ
Ответ:
AveMartells
AveMartells
11.09.2022 09:37

96

Объяснение:

Сначала вспомним, что такое конъюнкция: это аналог логической операции И(в простонародье - операции умножения). В бинарной(двоичной) системе счисления она используется так :

0 и 0 = 0

1 и 0 = 0

0 и 1 = 0

1 и 1 = 1

Ну, а теперь возьмём пример

Адрес: 231.32.255.131

Маска: 255.255.240.0

Отлично. Посмотрим сразу на число 255, оно в двоичной системе выглядит так : 11111111. Это значит, что при побитовой конъюнкции любого числа, получается тоже самое число. Т.е. :

231 = 11100111, 255 = 11111111. (возьму первые 4 бита : 1*1=1,1*1=1,1*1=1,1*0=0)

Т.о. 231(логическое И)255=231.

Теперь адрес сети:

231*255=231

32*255=32

255*240=240

131*0=0

Вот и получили адрес сети : 231.32.240.0

Теперь решение задачи :

Тут нужно в обратную сторону. Есть IP адрес, есть узел.

Узел : 98.162.71.123

Адрес: 98.162.71.96

Надо найти правый байт. У узла он равен 123(в десятичной) -> 1111011(в двоичной). У адреса он равен 96(в десятичной) -> 1100000.

Ну, а теперь обратное действие, смотрим на байты узла, умножаем на x, получаем байты адреса. Вот так :

1111011*=1100000

1*х=1 -> x=1

1*x=1 -> x=1

1*x=0 -> x=0

... И так далее, но дальше считать нет смысла, ибо все остальные пять байтов будут равны нулю, т.к. правая часть вся равна нулю(по свойствам выше)

Получили =1100000, а это тоже самое, что и последний байт адреса сети, и равен он 96.

Получили маску : 255.255.255.96

0,0(0 оценок)
Ответ:
shpirnoroman
shpirnoroman
24.10.2022 11:41
1)uses crt;
var i,j,n,ans:integer;
begin
read(n);
for i:=1 to 9 do
for j:=0 to 9 do
if i+j=n then
ans:=ans+1;
writeln(ans);
end.
2)
uses crt;
var i,n:integer;
x:array[1..100] of integer;
begin
writeln('Введите количество x и значения: ');
read(n);
for i:=1 to n do
read(x[i]);
writeln('x  y');
for i:=1 to n do
writeln(x[i],'  ',x[i]*x[i]+3);
end.
3.
uses crt;
var i:integer;
begin
for i:=1 to 5 do
write(i*i*i,' ');
end.
4.
uses crt;
var i,n,sum:real;
begin
writeln('Введите N:');
read(n);
i:=3;
while i<=n do
begin
sum:=sum+1/i;
i:=i+3;
end;
writeln(sum);
end.
5.
uses crt;
var j,i,n,sum:integer;
a:array[1..100] of integer;
begin
writeln('Введите количество чисел и сами числа:');
read(n);
for i:=1 to n do
begin
sum:=0;
read(a[i]);
for j:=1 to length(inttostr(a[i])) do
sum:=sum+strtoint(inttostr(a[i])[j]);
if sum mod 3 = 0 then
write(a[i],' ');
end;
end.
6.a)uses crt;
var n:string;
begin
read(n);
writeln(max(strtoint(n[1]),strtoint(n[2])));
end.
б)
uses crt;
var n:string;
begin
read(n);
writeln(max(max(strtoint(n[1]),strtoint(n[2])),strtoint(n[3])));
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота