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

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

betepah
Verakravez8790
yelena
andrewshilin1334
heodbxbbshe
lele4kass
rashodnikoff
МуратМарина1140
ALLA1868
Ioanova Korneeva1093
Павел_Перелыгин
savva-vika
Mikhailova
pimenov5
Mariya694