Задание 11. Вычисление количества информации

ЗАДАЧА:

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий только символы из 12-символьного набора: А, В, C, D, Е, F, G, H, К, L, M, N. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего отведено 12 байт на одного пользователя.

Определите объём памяти (в байтах), необходимый для хранения сведений о 50 пользователях. В ответе запишите только целое число — количество байт.

РЕШЕНИЕ:

Для решения задач такого типа нам нужно вспомнить:

  • кодирование текстовой информации в компьютере
  • равномерный код числа
  • сколько в 1 байте битов, в килобайте байтов и т.д.
  • формулу мощности алфавита

Итак…

В системе хранятся данные пользователей. Причем на каждого пользователя отводится определенного и одинаковое количество БАЙТОВ!

Таким образом количество байтов, отводимое на одного пользователя:

ВСЕГО байтов = Пароль(байты) + Доп_информация(байты)

Поскольку нам известно количество байтов, отводимых на Доп_информацию, формула приобретает следующий вид:

ВСЕГО байтов = Пароль(байты) + 12 байтов

Осталось найти сколько байтов отводится на пароль.

Найдем эти байты!

Все в компьютере представлено нулями и единицами. Чтобы знать сколько из скольких знаков состоит код того или иного символа, вспомним формулу:

Так если у нас алфавит состоит из 12 символов, то для кодирования каждого из этих символов требуется 4 бита (или знакоместа, или разряда).

То есть, например, так:

И неважно в какой последовательности они будут кодироваться. Важно, что каждое двоичное число такого кодирования будет четырехзначным.

То есть на каждую такую букву будет приходится четыре разряда (бита, знакоместа).

Поскольку всего для пароля используется 15 символов, то в двоичном коде количество разрядов будет

Поскольку в задаче сказано, что все представлено байтами, а не битами, дополним наши 60 битов до целого количества байтов. Что-то мне подсказывает, что это будет 64 бита или 8 байтов ).

То есть, на одного пользователя отводится

Если на одного пользователя отводится 20 байтов, то на 50 пользователей отводится

Ответ: 1000 байтов