luksorsps20096124
?>

Сколько бит информации будет получено при угадывании числа в диапазоне от 1 до 256?

Информатика

Ответы

ooozita5
N= 2^8 = 256 ответ: 8 бит информации
dima8585
Первая программа предназначена только для pascal.abc, в другой среде она работать не будет. она самая короткая и простая. метод split разбивает исходную строку на слова по символу пробела и формирует динамический массив. что бы мы ни вводили, мы всегда будем получать в результате то, что требовалось. (понятно, что если слов будет меньше трех, будем получать то, что ввели). var   s: string;   ms: array of string; begin   write('введите три слова через пробел: ');   readln(s);   ms : = s.split(' ');   writeln(ms[0] + ' ' + ms[2] + ' ' + ms[1]) end. вторая программа реализуется в любой версии pascal. её недостаток в том, что она правильно работает только тогда, когда введена фраза из трех слов, разделенных пробелом. это простейший линейный алгоритм. var   s, s1, s2, s3: string;   n, p: integer; begin   write('введите три слова через пробел: ');   readln(s);   n : = length(s);   p : = pos(' ', s);   s1 : = copy(s, 1, p - 1);   s3 : = copy(s, p + 1, n - p);   p : = pos(' ', s3);   s2 : = copy(s3, 1, p - 1);   n : = length(s3);   s3 : = copy(s3, p + 1, n - p);   writeln(s1 + ' ' + s3 + ' ' + s2) end. третья программа также реализуема в любой версии pascal и содержит "классический" способ работы со строкой, состоящий в последовательном анализе каждого символа. имеет защиту на случай, если слов будет больше или меньше трех. var   s: string;   ms: array[1..3] of string;   i, n, p, j: integer; begin   write('введите три слова через пробел: ');   readln(s);   {   алгоритм: просматриваем все символы строки начиная с позиции p   и при обнаружении пробела в позиции q заносим в массив очередное слово,   копируя q-p символов, начиная с p. затем заносим в p значение q+1   и продолжаем просмотр. при старте принимаем p=1   }   p : = 1; j : = 0; n : = length(s);   for i : = 1 to n do       if s[i] = ' ' then       begin           j : = j + 1;           if j < = 3 then begin{ если введено больше двух пробелов }               ms[j] : = copy(s, p, i - p);               p : = i + 1           end       end;   if j < 3 then ms[3] : = copy(s, p, n - p + 1);   writeln(ms[1] + ' ' + ms[3] + ' ' + ms[2]) end. все три программы опробованы и результаты их работы одинаковы: введите три слова через пробел: зебра полосатая лошадь зебра лошадь полосатая
d2002
Слишком много вопросов, поэтому ответы будут даны без подробных разъяснений. 1. в году 12 месяцев, выбор 1 из 12. 2. в месяце максимум 31 день, минимум - 28 дней. выбор от 1 из 31 до 1 из 28. соответственно, количество информации будет в диапазоне: 3. в сутках 24 часа, выбор 1 из 24. 4.в неделе 7 дней, выбор 1 из 7. 5. 6. если каждый раз делить интервал пополам и задавать вопрос "находится ли число..", указывая любую из половинок, то число не превысит семи. 7. как и в предыдущем случае, надо угадать одно число из 64-31+1=34 надо задать три вопроса.

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

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

Сколько бит информации будет получено при угадывании числа в диапазоне от 1 до 256?
Ваше имя (никнейм)*
Email*
Комментарий*

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

cafegasoil
goldglobustour725
gordeevadesign2986
зырянов_Юрьевна378
intermar2000
kiparistop
strelnikov-aa
nekrasovaolga27
atupicyn754
Varvara
dsnewline
egoryandiana3727283
sespiridonov
гайсанов
IAleksandrovna45