• При регистрации в компьютерной системе каждому объекту присваивается уникальный код, состоящий из двух частей. Первая часть определяет категорию объекта и состоит из 4 символов, каждый из которых может быть одной из 26 заглавных и 26 строчных латинских букв. Вторая часть кода определяет уникальный идентификатор объекта и состоит из 7 символов, каждый из которых может быть латинской буквой (строчной или заглавной) или одной из 9 цифр (цифра 0 не используется). В базе данных для хранения сведений о каждом объекте отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование, все символы в пределах одной части кода кодируют одинаковым и минимально возможным количеством бит. Кроме собственно кода, для каждого объекта в системе хранится содержательная информация, для чего отведено 100 байт на один объект. Определи объём памяти (в байтах), необходимый для хранения данных (код и содержательная информация) о 10 объектах. В ответе запиши только целое число — количество байт.

Ответы 2

  • Код объекта состоит из 4+7=11 символов. При использовании минимального возможного числа бит для кодирования каждого символа, общее количество бит для одного кода будет равно:

    4 символа x 6 бит = 24 бита для первой части кода

    7 символов x 6 бит = 42 бита для второй части кода

    Всего: 66 бит на один код

    Общее количество байт, необходимых для кода всех 10 объектов, будет равно:

    10 объектов x 66 бит / 8 = 825 байт (округляем до целого)

    Содержательная информация для каждого объекта занимает 100 байт. Общее количество байт для хранения информации о 10 объектах будет:

    10 объектов x 100 байт = 1000 байт

    Итоговый объем памяти для хранения данных о 10 объектах будет:

    825 байт на коды + 1000 байт на информацию = 1825 байт

    Ответ: 1825.

  • В первой части кода 52 символа. Во второй части кода 61 символ. Берем формулу N = 2 в степени i. Где N - количество символов, которое надо закодировать, а i - количество бит, которое будет весить один симовол. Итого для первой части 52 = 2 в степени i . Такого целого i нет, поэтому берется i - в бОльшую сторону, т.е i=6. 2 в 6-ой = 64. - это значит, что взяв 6-ти битный (6-символьный) двоичный код мы сможем закодировать 64 символа (а 52 - и подавно сможем). Вывод - каждый кодируемый символ из первой части весит по 6 бит. таких у нас 4 => 4*6=24 бита весит первая часть одного кода.

    Аналогично со 2-ой частью. 61 = 2 в степени i . Точно также надо взять i = 6. Т.е. и во второй части каждый символ весит по 6 бит. Таких у нас 7, значит 6*7=42 бита весит вторая часть кода.

    24+42 = 66 бит весит весь код (одна штука).

    Далее определяем в байтах этот вес 66 / 8 = 8,25 байт. Смотрим условие "В базе данных для хранения сведений о каждом объекте отведено одинаковое и минимально возможное целое число байт." - т.е. наш ответ надо округлить до целого в бОльшую сторону - значит на один код требуется 9 байт памяти.

    Учитывая, что таких кодов 10 => 9*10 = 90 байт - вес всех кодов.

    Т.к. еще есть содержательная информация весящая по 100 байт на один объект, то для этого нужна еще 1000 байт (на все 10). Итого: 1000 + 90 = 1090 байт

    Ответ = 1090

    для справки, в предыдущем ответе 10 х 66 / 8 не равно 825 )

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years