magsh99
?>

Исследователь наблюдает изменение параметра, который может принимать одно из семи значений. значения записываются при количества бит. исследователь зафиксировал 120 значений. определите информационный объем результатов наблюдения

Информатика

Ответы

Arzieva Abdulmanov1438
Для записи одного из семи значений требуется log(2)7 ≈ 3 бита.
Запись 120 значений: 120*3 = 360 бит = 360/8 байт = 45 байт
lagutkins

//

function decToX(x:integer;k:integer):string;

// конвертирует x из десятичной системы счисления в систему счисления по основанию k (до 16-ричной, но можно расширить до какой угодно).

var s:string='';

   t:string='';

   i:integer;

begin

   while x>0 do begin

       i := x mod k;

       if i = 10 then t:='A'

       else if i = 11 then t:='B'

       else if i = 12 then t:='C'

       else if i = 13 then t:='D'

       else if i = 14 then t:='E'

       else if i = 15 then t:='F'

       else str(i, t);

       s:=t+s;

       x:=x div k;

   end;

   decToX := s;

end;

//

function xToDec(x:string; k:integer):integer;

// конвертирует x из системы счисления по основанию k (до 16-ричной) в десятичную

var s:string='';

   i,j,l:integer;

begin

   i:=length(x);

   l:=0;

   while i>0 do begin

       case x[i] of

           '0','1','2','3','4','5','6','7','8','9': val(x[i],j);

           'A': j:=10;

           'B': j:=11;

           'C': j:=12;

           'D': j:=13;

           'E': j:=14;

           'F': j:=15;

       end;

       l:=l+round(j*exp((length(x)-i)*ln(k)));

       i:=i-1;

   end;

   xToDec := l;

end;

//

var sbin:string;

// тело программы

// здесь мы вводим строку с двоичным кодом, далее конвертируем его в десятичную систему счисления, а после переводим в 14-ричную

begin

   write('Введите двоичное число: '); readln(sbin);

   writeln(decToX(xToDec(sbin,2),14));

   

end.

Объяснение:

Я написал универсальные функции перевода из любой системы счисления в десятичную и наоборот. Они расширяемые, так что можно не ограничиваться 16-ричной системой счисления.

Может быть написано чуть больше, чем необходимо, зато универсально :)

selena77

Мы ищем максимальное число, кратное 3. Но в данной программе нет проверки на максимальное число.

Если мы введём кратные числа трём в таком порядке: 24,9,3,

то мы получим ответ 3. Но оно не будет максимальным кратным, т.к 24 должно быть максимальным.

Внёс изменения в программу, добавив переменную max, которая не использовалась.

var n,k,max:integer;

begin

 k := 0;

 repeat

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

readln(n);

if (n mod 3=0) and (n>max) then

 k := n;

 max:=n

 until n=0;

 writeln('Максимальное число кратное 3: ', k);

end.

n - вводимые числа, которые проверяются на кратность 3.

k - переменная, в которую записывается число n, которое кратное 3.

max - записывает в себя максимальное число, кратное трём. В дальнейшем, чтоб цикл не допускал кратные числа n, которые меньше max.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Исследователь наблюдает изменение параметра, который может принимать одно из семи значений. значения записываются при количества бит. исследователь зафиксировал 120 значений. определите информационный объем результатов наблюдения
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

vallzh8328
Tselyaritskaya Yurevich
stertumasova29
Воздвиженская
vs617
natabodrikova
studiojanara
vvb1383
natalyazx151092814
ivanovmk1977
Дмитрий74
varvv15
pronikov90
evolkova-73
Татьяна Гришаевич