Целое число было выбрано наугад из заданного диапазона чисел. сообщение о выборе числа из какого диапазона несет наименьшее количество информации: a) от 12 до 76 b) от 100 до 133 c) от –17 до 25 d) от –32 до 0 e) от 12 до 34
Формула Шеннона о количестве информации в событии с вероятностью p i=-log(p)/log(2) Важно только количество целых чисел в диапазоне. Чем больше чисел в диапазоне, тем меньше вероятность выбора одного числа и тем больше информации в сообщении о выборе a) 76-12+1 = 65 в) 133-100+1=34 с) 25-(-17)+1=43 д) 0-(-32)+1=33 е) 34-12+1=23 Соответственно, наименьшее количество информации будет в сообщении о выборе числа из последнего диапазона, от 12 до 34
Для начала посчитаем, сколько бит информации было передано: 2 минуты и 45 секунд = 165 секунд 165 с * 128000 бит/с = 21120000 бит
Теперь вспомним, что такое частота дискретизация и уровни квантования. Дело в том, что аудио сигнал - это такая прикольная сложная синусоида. Чтобы записать сигнал в цифровом виде, каждую секунду сигнала как бы делят на промежутки (количество этих промежутков в секунде и есть частота дискретизации). Для каждого из этих промежутков записывается что-то вроде среднего значения высоты. Количество возможных значений - количество уровней квантования. Но это так - если говорить очень упрощённо. Подробнее прочитайте в своём учебнике информатики.
Итак - у нас 256 уровней квантования. Значит каждое из значений можно записать 8 битами. И на секунду у нас приходится 22000 таких записей. То есть каждая секунда записи у нас кодируется 22000 * 8 = 176000 битами.
Var s,st: string; a: array[1..255] of integer; i: integer; begin write('строка: '); readln(s); for i:=1 to 255 do a[i]:=0; for i:=1 to length(s) do inc(a[ord(s[i])]); st:=''; for i:=1 to length(s) do if ((a[ord(s[i])]>=2) and (s[i] in ['а'..'я'])) then continue else st:=st+s[i]; writeln('новая строка: ',st); end.
строка: Это строка для проверки. новая строка: Э са для пвеи.
Если нужно, чтобы не различались прописные и строчные буквы, то другой вариант программы:
var s: string; a: array[1..255] of integer; i,j: integer; begin write('строка: '); readln(s); for i:=1 to 255 do a[i]:=0; for i:=1 to length(s) do if ord(s[i])>32 then begin inc(a[ord(s[i])]); if s[i] in ['а'..'я'] then inc(a[ord(UpperCase(s[i]))]) else if s[i] in ['А'..'Я'] then inc(a[ord(LowerCase(s[i]))]); end; j:=0; for i:=1 to length(s) do if (a[ord(s[i])]>=2) then continue else begin inc(j); s[j]:=s[i]; end; delete(s,j+1,length(s)-j); writeln('новая строка: ',s); end.
i=-log(p)/log(2)
Важно только количество целых чисел в диапазоне. Чем больше чисел в диапазоне, тем меньше вероятность выбора одного числа и тем больше информации в сообщении о выборе
a) 76-12+1 = 65
в) 133-100+1=34
с) 25-(-17)+1=43
д) 0-(-32)+1=33
е) 34-12+1=23
Соответственно, наименьшее количество информации будет в сообщении о выборе числа из последнего диапазона, от 12 до 34