ryjakomsp00lne
22.03.2021 17:31

1)s: = 'счет: ' + 10; t: ='2.1' + 3; s: = ? t: = ?

2)s: = 'информатика'; t: = s[10] + s[9] + s[2] + s[4]; t: = ?

3)t: ='+'; s: =t*5; s: = ?

4)for var x: = 1 to 3 do writeln('a'*x);

мне просто нужны ответы к этим программам,

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
msSisi1
27.09.2021 13:08

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 оценок)
Ответ:
мирок3
30.04.2023 18:14

задача 1.

var

   a, s : integer;

begin

   writeln('введите числа:');

   while s < 101 do begin

       read(a);

       s += a;

   end;

   writeln('Стоп! Сумма чисел больше 100, s=', s);

end.

задача 2.

var

   h : char;

   n : integer;

begin

   writeln('введите символы:');

   while n < 5 do begin

       read(h);

       if h = 'F' then n += 1;

   end;

   writeln('Стоп! Символ F был введен 5 раз')

end.

задача 3.

var

   a : integer;

begin

   write('Введите число от 1 до 4 : ');

   readln(a);

   if (a = 1) or (a = 2) then begin

       for var i := 3 downto 1 do begin

           for var j := 1 to i do write('*');

           writeln;

       end;

   end

   else if (a = 3) or (a = 4) then begin

       for var i := 1 to 3 do begin

           for var j := 1 to i do write('*');

           writeln;

       end;

   end

   else writeln('вы ввели не правильное число :(');

end.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота