Самостоятельная работа
1. При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 11 символов. Из соображений информационной безопасности каждый пароль должен содержать хотя бы 2 десятичных цифры, как прописные, так и строчные латинские буквы, а также не менее 2-х символов из 6-символьного набора: «&», «#», «$», «*», «!», «@». В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 30 пользователях потребовалось 900 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число – количество байт.
2. В велокроссе участвуют 119 спортсменов. Специальное устройство регистрирует прохождение каждым из участников промежуточного финиша, записывая его номер с использованием минимально возможного количества бит, одинакового для каждого спортсмена. Каков информационный объем в битах сообщения, записанного устройством, после того как промежуточный финиш велосипедистов?
3. Объем сообщения, содержащего 4096 символов, равен 1/512 части Мбайта. Какова мощность алфавита, с которого записано это сообщение?
4. В некоторой стране автомобильный номер длиной 7 символов составляется из заглавных букв (всего используется 26 букв) и десятичных цифр в любом порядке. Каждый символ кодируется одинаковым и минимально возможным количеством бит, а каждый номер – одинаковым и минимально возможным целым количеством байт. Определите объем памяти, необходимый для хранения 20 автомобильных номеров.
5. В школьной базе данных хранятся записи, содержащие информацию об учениках:
<Фамилия> – 16 символов: русские буквы (первая прописная, остальные строчные),
<Имя> – 12 символов: русские буквы (первая прописная, остальные строчные),
<Отчество> – 16 символов: русские буквы (первая прописная, остальные строчные),
<Год рождения> – числа от 1992 до 2003.
Каждое поле записывается с использованием минимально возможного количества бит. Определите минимальное количество байт, необходимое для кодирования одной записи, если буквы е и ё считаются совпадающими.
Количество бит, занимаемых каждым символом пароля:
- 2 цифры (десятичные цифры) из 10 возможных: 2 * log2(10) = 2 * 3.32 ≈ 6.64 бит
- 2 буквы (как прописные, так и строчные латинские буквы) из 52 возможных: 2 * log2(52) = 2 * 5.7 ≈ 11.4 бит
- 2 символа из 6-символьного набора: 2 * log2(6) = 2 * 2.58 ≈ 5.16 бит
Итого, каждый пароль занимает 6.64 + 11.4 + 5.16 = 23.2 бита.
Для хранения сведений о 30 пользователях потребовалось 900 байт:
30 пользователей * (23.2 бита/8 бит) = 86.25 байт
Таким образом, для хранения дополнительных сведений об одном пользователе выделено 86 байт.
2. В велокроссе участвует 119 спортсменов, и для регистрации каждого используется одинаковое и минимально возможное количество бит. Мы должны определить информационный объем, который занимает каждый спортсмен.
Так как каждый спортсмен имеет свой номер, который записывается с использованием минимально возможного количества бит, мы можем использовать формулу:
Информационный объем = количество спортсменов * количество бит на одного спортсмена
Информационный объем = 119 спортсменов * количество бит на одного спортсмена
Но нам не дана информация о количестве бит на одного спортсмена. Поэтому невозможно точно ответить на этот вопрос без дополнительных данных.
3. Для решения этой задачи, нам нужно определить объем сообщения в байтах и затем вычислить мощность алфавита.
Объем сообщения, содержащего 4096 символов, равен 1/512 части Мбайта:
Объем сообщения = 1/512 Мбайта = 1/512 * 1024 * 1024 байт = 2048 байт
Теперь мы можем определить мощность алфавита, используя следующую формулу:
Мощность алфавита = log2(количество символов в алфавите)
Мощность алфавита = log2(4096) = log2(2^12) = 12
Таким образом, мощность алфавита, с которого записано это сообщение, равна 12.
4. Для решения этой задачи, нам нужно определить количество байт, занимаемых каждым символом номера, а также объем памяти, необходимый для хранения 20 автомобильных номеров.
Количество байт, занимаемых каждым символом номера:
- 26 заглавных букв из английского алфавита: log2(26) = 4.7 бит
- 10 десятичных цифр: log2(10) = 3.32 бит
Итого, каждый символ номера занимает 4.7 + 3.32 = 8.02 бита.
Для хранения 20 автомобильных номеров:
20 номеров * 7 символов * (8.02 бита/8 бит) = 140 байт
Таким образом, необходимый объем памяти для хранения 20 автомобильных номеров составляет 140 байт.
5. Для решения этой задачи, нам нужно определить минимальное количество байт, необходимое для кодирования одной записи.
Количество бит, занимаемых каждым полем:
- 16 символов фамилии: 16 * log2(33) ≈ 87.5 бит
- 12 символов имени: 12 * log2(33) ≈ 65 бит
- 16 символов отчества: 16 * log2(33) ≈ 87.5 бит
- 12 символов года рождения (от 1992 до 2003): log2(12) ≈ 3.58 бит
Итого, каждая запись занимает 87.5 + 65 + 87.5 + 3.58 ≈ 243.58 бита.
Для перевода в байты, мы используем следующую формулу:
Количество байт = количество бит / 8
Количество байт = 243.58 бит / 8 ≈ 30.45 байт
Таким образом, минимальное количество байт, необходимое для кодирования одной записи, составляет примерно 31 байт (округленно до целого числа).