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*
Комментарий*

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

inainainainaina0073
Vladimirovna1370
achernakov
Есартия52
Александровна
smokestylemos
Kosov-Aleksandr379
sadinuraliev263
rusart3
olgakuz00261
ivanovk3599
Дмитрий_Владимирович1162
grachevakaterina
expo3217
Aleks0091