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

-КОПИРАЙТЕР -ИНТЕРНЕТ-МАРКЕТОЛОГ
-СТРАТЕГИЧЕСКИЙ МАРКЕТОЛОГ
-ОПЕРАТИВНЫЙ МАРКЕТОЛОГ
- PR-EVENT МЕНЕДЖЕР
кто эти люди?

Показать ответ
Ответ:
sergei199
sergei199
15.02.2021 10:57
Var a:array of integer;
n,i,p,i1,i2: integer;
begin
write('n = ');
readln(n);
SetLength(a,n);
Randomize;
a[0]:=random(50)+100;
write(a[0]:4);
for i:=1 to n-1 do
 begin
 a[i]:=a[i-1]-random(11);
 write(a[i]:4);
 end;
writeln;
p:=a[0]-a[n-1];
writeln('p = ',p);
i1:=0; i2:=n-1; 
repeat
i:=(i1+i2) div 2;
if a[i]>p then i1:=i1+1;
if a[i]<p then i2:=i2-1;
until (a[i]=p)or(i1>=i2);
if a[i]=p 
 then writeln('i = ',i) 
 else writeln('Искомого элемента нет');
end.

Пример:
n = 20
 142 139 135 129 120 120 120 113 107 106 104  99  89  88  81  72  71  70  60  54
p = 88
i = 13
0,0(0 оценок)
Ответ:
фая49
фая49
02.01.2023 05:37
Сложение чисел в двоичной системе можно выполнять столбиком, как в десятичной системе (и по правилам её арифметики), но при этом если в десятичной перенос в следующий разряд происходил при сумме по разряду больше или равной десяти, то в двоичной- при сумме больше или равной двум.
Из этой суммы мы вычитаем двойки (обычно одну двойку), и остаток (ноль или единицу) записываем в текущий разряд, а к следующему разряду прибавляем число, равное количеству двоек, которое мы вычли (обычно, один, если складываем только два числа).
Таким образом можно складывать не только два двоичных числа, а сколько угодно одновременно.

  100110
+  10011

  111001

   1100111
+   10001

  1111000

      1101
+100101

  110010

  111001
+  11001

1010010
Про этот пример напишу подробно, как суммировал по разрядам:
1-ый разряд (разряд единиц):
1 + 1 = 2
т.к. в разряд можно записать число не больше единицы, то вычитаем из этой суммы максимальное количество двоек (здесь- одну двойку):
2 - 1*2 = 2 - 2 = 0  (этот ноль мы запишем в первый разряд ответа)

2-ой разряд:
0 + 0 +(1) = 1  (записываем во второй разряд ответа)
Единица в скобках- это количество двоек (одна), которое мы вычитали из суммы по предыдущему разряду (то есть, эту единицу перенесли из предыдущего разряда, так как он переполнился)

3-ий разряд:
0 + 0 = 0  (записываем в ответ)

4-ый разряд:
1 + 1 = 2
2 - 1*2 = 2 - 2 = 0  (записываем в ответ)

5-ый разряд:
1 + 1 + (1) = 3
3 - 1*2 = 3 - 2 = 1  (записываем в ответ)

6-ой разряд:
1 + (1) = 2
2 - 1*2 = 2 - 2 = 0  (записываем в ответ)

7-ой разряд:
В слагаемых нет седьмого разряда, но мы его добавили в сумму, чтобы перенести в него единицу из предыдущего разряда (складывать её не с чем, поэтому я просто напишу такое равенство):
(1) = 1  (записываем в седьмой разряд ответа)

Так как далее переносить ничего не надо, то это был последний разряд, мы получили нашу сумму (перенос на несколько разрядом может возникнуть только если складываем три и более слагаемых).

  1101001
+  110010

10011011

  100010
-   10011

       1111
Разность можно считать так же как сумму, только меняем все знаки (минус на плюс, а плюс на минус). Напишу про этот пример подробнее:
1-ый разряд:
0 - 1 = -1
Так как записывать отрицательное число в разряд мы не можем, до прибавляем к этой разности нужное число двоек, чтобы получить положительный результат, или ноль:
-1 + 1*2 = -1 + 2 = 1  (записываем в первый разряд ответа)

2-ой разряд:
1 - 1 - (1) = 0 - 1 = -1
Единица в скобках- это количество двоек (одна), которое мы прибавили к разности в предыдущем разряде (то есть, эту единицу мы заняли из второго разряда, когда считали разность в первом)
-1 + 1*2 = -1 + 2 = 1  (записываем в ответ)

3-ий разряд:
0 - 0 - (1) = -1
-1 + 1*2 = -1 + 2 = 1  (записываем в ответ)

4-ый разряд:
0 - 0 - (1) = -1
-1 + 1*2 = -1 + 2 = 1  (записываем в ответ)

5-ый разряд:
0 - 1 - (1) = -2
-2 + 1*2 = -2 + 2 = 0

6-ой разряд:
1 - (1) = 0
Более разрядов в исходных числах нет. В ответ запишем все вычисленные разряды, кроме двух незначащих нулей, идущих вначале ответа (шестой и пятый разряды).

 11010011
-       11111

 10110100

  11101
-  1011

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