Пират Пьер живет на острове 1, показанном на карте ниже. У него есть секретный код, чтобы найти клад: B-A-C-A-A-B. Этот код говорит ему, какие мосты надо пройти.
{таким образом, фразу " работа на завтра." можно закодировать как "11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-".}
Во всех заданиях надо работать со степенями двойки. 1. Шанс вытащить какой-то конкретный шар составляет 1 из 32. Следовательно, информация о вытащенном шаре уменьшает неопределенность в 32 раза. Есть формула Хартли, которая говорит, что объем информации в битах будет численно равен логарифму по основанию два от величины уменьшения неопределенности. Но в некоторых случаях можно воспользоваться тем, что если число является степенью двойки, то значение логарифма будет являться этой степенью. У нас 32 - это два в пятой степени, поэтому значение логарифма равно 5. ответ: Сообщение содержит 5 бит информации. 2. Выбор одного из 8 карандашей снижает неопределенность в 8 раз, восемь - это два в кубе, следовательно логарифм равен 3. ответ: Сообщение содержит 3 бита информации. 3. Если было получено 6 бит информации, то делаем обратную операцию - возводим двойку в эту шестую степень. Получаем 64. ответ: диапазон содержит 64 числа (от 0 до 63). 4. 16 стеллажей и в каждом 8 полок. Всего 16x8=256 полок. Координаты книги - 1 из 256 возможных вариантов. 256 - это два в восьмой. ответ: Сообщение содержит 8 бит информации. 5. В книге 512 страниц, закладка может лежать на любом из 512 мест. 512 - это два в девятой степени. Значит, сообщение о месте закладки несет информацию в 9 бит. ответ: Сообщение несет 9 бит информации.
{данная программа переводит любое сочетание символов ascii в систему счисления заданную пользователем.}
//pascal abc.net v3.0 сборка 1111
var
a,i,b,r,n,j,bug: integer;
s,se,slo,slof: string;
procedure preob(var a,b,n: integer; var se: string);
begin
repeat
b: =a mod n;
a: =a div n;
str(b,se);
s+=se;
until (a< =n-1);
end;
beginreadln(slo);
readln(n);
for j: =1 to length(slo) do
begin;
a: =ord(slo[j]);
preob(a,b,n,se);
str(a,se);
s+=se;
for i: =1 to length(s) div 2 do
begin;
se: =s[i];
s[i]: =s[length(s)-i+1];
s[length(s)-i+1]: =se[1];
end;
write(s,'-');
slof: =slof+s;
delete(s,1,length(s));
end;
end.
пример ввода:
работа на завтра.
2
пример вывода:
11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-
{таким образом, фразу " работа на завтра." можно закодировать как "11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-".}
1. Шанс вытащить какой-то конкретный шар составляет 1 из 32. Следовательно, информация о вытащенном шаре уменьшает неопределенность в 32 раза. Есть формула Хартли, которая говорит, что объем информации в битах будет численно равен логарифму по основанию два от величины уменьшения неопределенности. Но в некоторых случаях можно воспользоваться тем, что если число является степенью двойки, то значение логарифма будет являться этой степенью. У нас 32 - это два в пятой степени, поэтому значение логарифма равно 5.
ответ: Сообщение содержит 5 бит информации.
2. Выбор одного из 8 карандашей снижает неопределенность в 8 раз, восемь - это два в кубе, следовательно логарифм равен 3.
ответ: Сообщение содержит 3 бита информации.
3. Если было получено 6 бит информации, то делаем обратную операцию - возводим двойку в эту шестую степень. Получаем 64.
ответ: диапазон содержит 64 числа (от 0 до 63).
4. 16 стеллажей и в каждом 8 полок. Всего 16x8=256 полок. Координаты книги - 1 из 256 возможных вариантов. 256 - это два в восьмой.
ответ: Сообщение содержит 8 бит информации.
5. В книге 512 страниц, закладка может лежать на любом из 512 мест. 512 - это два в девятой степени. Значит, сообщение о месте закладки несет информацию в 9 бит.
ответ: Сообщение несет 9 бит информации.