Состояние некоторого объекта контролируется 27 датчиками. наименьшее количество двоичных разрядов, необходимое для идентификации этих датчиков? в ответе 5, от вас нужно подробное объяснение, как мы это получили.
Ну так при 4 двоичных разрядах, максимальное число которое может быть записано равно , что учитывая 0 т.е.(0000) дает всего 16 возможных варианта номера датчика. (<27) А для 5ти разрядов максимальное число Что с учетом комбинации 00000 дает 32 варианта, это даже с некоторым запасом. Вообще число различных комбинаций K представленных N двоичными разрядами: Отсюда и пляшем Скажем надо пронумеровать M датчиков (нет M мало, пусть для определенности 100 датчиков). Тогда наше число комбинаций должно быть больше M=100. Неравенство получилось: Ну решаем елы-палы ] Только ВНИМАНИЕ тут ЛОГАРИФМ ПО ОСНОВАНИЮ 2 (не десятичный (основание 10), не натуральный (основание e)) Возможно не каждый калькулятор его может посчитать "в лоб". Тогда придется использовать основное логарифмическое тождество, чтобы перейти к другому основанию свести его к натуральному или десятичному. Например так ≈6,4 Если получилось дробное число, а так и будет, необходимо отбросить дробную часть, а к целой части прибавить 1. (мы же не можем выделить скажем 0,1 разряда) Итого в примере с 100 датчиками потребуется 7 разрядов. Максимально возможное число комбинаций в этом случае составит 128, с запасом.
begin Assign(f, 'output.dat'); Rewrite(f); writeln('Вводите данные, окончание число 7777'); repeat read(k); if k<>7777 then writeln(f,k) until k=7777; Close(f); Reset(f); s := 0; p := 1; writeln; while not Eof(f) do begin readln(f, k); write(k:4); s := s + k; if k <> 0 then p := p * k end; Close(f); writeln; writeln('Сумма= ', s, ', произведение= ', p) end.
Uses crt; var f:text; i,x,sm,n:integer; pr:longint; begin randomize; clrscr; pr:=1; assign(f,'f.txt'); rewrite(f); writeln('Введите число заполнений (например 6, в файле будет шесть натуральных чисел) ?'); readln(n); for i:=1 to n do begin write(i,') '); readln(x); writeln(f,x); end; close(f); reset(f); while not Eof(f) do begin read(f,x); sm:=sm+x; if x <> 0 then pr:=pr*x; end; if n <> 0then begin writeln; writeln('Сумма всех чисел = ',sm); writeln('Произведение всех чисел = ',pr); end else writeln('Файл пустой.'); readkey; close(f);end.
дает всего 16 возможных варианта номера датчика. (<27)
А для 5ти разрядов максимальное число
Что с учетом комбинации 00000 дает 32 варианта, это даже с некоторым запасом.
Вообще число различных комбинаций K представленных N двоичными разрядами:
Отсюда и пляшем
Скажем надо пронумеровать M датчиков (нет M мало, пусть для определенности 100 датчиков).
Тогда наше число комбинаций должно быть больше M=100.
Неравенство получилось:
Ну решаем елы-палы
Только ВНИМАНИЕ тут ЛОГАРИФМ ПО ОСНОВАНИЮ 2 (не десятичный (основание 10), не натуральный (основание e))
Возможно не каждый калькулятор его может посчитать "в лоб".
Тогда придется использовать основное логарифмическое тождество, чтобы перейти к другому основанию свести его к натуральному или десятичному. Например так
Если получилось дробное число, а так и будет, необходимо отбросить дробную часть,
а к целой части прибавить 1. (мы же не можем выделить скажем 0,1 разряда)
Итого в примере с 100 датчиками потребуется 7 разрядов.
Максимально возможное число комбинаций в этом случае составит 128, с запасом.