Многие учащиеся в процессе написания контрольных или экзаменационных работ по информатике довольно часто сталкиваются с типовыми задачами на выполнение математических расчётов. Многие из них начинаются из стандартного текста «При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15, 11, 6, 9 символов». С предложением рассчитать объём памяти, количество используемых для пароля байт, количество пользователей и другие изначально скрытые производные. Давайте рассмотрим ряд подобных таких задач с типичными вариантами их решения.
Особенности решения задачи, когда при регистрации в компьютерной системе выдаётся пароль из 15, 11, 6, 9 символов
Обычно в ходе выполнения таких задач необходимо:
Цель: | Особенности: |
---|---|
Высчитать количество символов в алфавите (обычно включает строчные и прописные буквы, плюс цифры) | К примеру, если в условиях задачи упоминается 26 строчных и прописных символах латинского алфавита, плюс десятичные цифры, то общее число символов будет равно 26 строчных плюс 26 прописных плюс 10 десятичных цифр (от 0 до 9). Итого 62 символа. |
Высчитать количество битов для кодировки одного символа | Если брать нашу цифру 62, то самое ближайшее число для кодировки – это 6 бит, так как 2 в 6 степени – это 64. |
Помнить при расчётах об особенностях исчисления | Что в одном байте 8 бит, а один килобайт – это 1024 байта. |
Разберём наиболее шаблонные задачи такого плана.
Читайте также: Мультиурок: Вход на сайт — Моя страница.
Задача №1 с подробным решением и ответом
Ответ:
В задаче сказано, что система использует посимвольное кодирование паролей, а сам пароль кодируется в битах. Нам известно, что используется 26 символов латинского алфавита, прописные и строчные буквы плюс десятичные цифры. Итого прописных 26 и строчных 26, плюс 10 десятичных цифр.
Итого 26 плюс 26 плюс 10 = 62 символа участвуют в кодировании.
Каждый из таких символов кодируется в двоичной системе счисления, и хранится в битах.
Нам нужно высчитать количество бит на один символ в пароли. Для этого используется формула Q=2^n (то есть 2 в степени n), в которой Q – это количество вариантов.
То есть в нашем случае вместо Q мы имеем цифру 62 и формулу 62=2^n, в котором n – количество бит на один символ в пароле.
Далее нам нужно узнать, в какую степень нужно возвести число 2, чтобы получить минимум число 62 (понадобится число больше). В нашем случае это число 6, так как 2 в степени 6 – это 64 (близкое число к 62).
Следовательно, n = 6 бит
В задаче указано, что пароль состоит из 9 символов, то есть каждый пароль имеет 9 символов. На один символ мы выделили 6 бит для хранения, то есть:
9 * 6 = 54 бит на пароль
При этом все сведения у нас хранятся в байтах. Поскольку мы пароль высчитали в битах, переводим его количество в байты.
Делим 54 на 8 (количество бит в 1 байте равно 8). Поскольку 54 на 8 не делится, то получается, что мы с вами берём число ближайшее число, которым будет число 7.
54 / 8 = 7
То есть получается 7 байт на пароль.
Теперь к числу 18 (количество байт на дополнительные сведения по условиям задачи) добавляем 7 (количество байт на пароль) и получаем число 25. Это и будет количество байт, необходимых для хранения данных об одном пользователе.
В задаче говорится о выделенном 1 кб памяти на сведения обо всех пользователях.
Делим 1024 (наш 1 кб) на 25 = 40,96. Поскольку в задаче сказано о целом числе, то мы округляем наш результат, и получаем целое число 40. Это и будет нужным нам искомым числом.
Задача №2, в которой каждому пользователю дается пароль
Ответ:
Мы видим, алфавит по задаче составляет 12 символов. Определяем, сколько бит нужно на 1 символ из алфавита, имеющего 12 символов. В нашем случае выделение 4 будет битов достаточно, чтобы закодировать символ в алфавите из 16 символов.
Один пароль имеет 15 символов, а один символ, как мы выяснили, имеет 4 бита.
15 * 4 = 60 бит – именно такое количество бит будут занимать 15 символов одно пароля.
По условиям задачи 1 пароль кодируется минимальным целым количеством байт. В нашем случае это 8 байт, так как 8 * 8 = 64. Выходит, что для одного пароля нужно 8 байт.
Теперь высчитываем, сколько байт нужно для 1 пароля.
20 (пользователей) * 8 (число байт для одного пароля) = 160 байт
Под пароли выделено 400 байт. Под все пароли, как мы высчитали, нужно 160 байт. Значит на дополнительную информацию нужно 400 – 160 = 240 байт
Теперь делим 240 на 20 (всего паролей) и получаем конечную искомую цифру 12.
Задача №3 о пароле в компьютерной системе
Ответ:
Сначала определимся с паролем. Используя упоминавшуюся ранее формулу Q = MN получаем:
33 = 2N
Ближайшим нужным нам значением будет 6, потому N = 6 бит на один символ.
По условиям задачи пароль состоит из 7 символов. Множим 7 на 6, и получаем 42 бита на пароль;
Поскольку данные о наших пользователях хранятся в байтах, то возьмем ближайшее число к 42 и кратное 8:
48 / 8 = 6
Таким образом, 42 бит — это 6 байт.
Теперь определяем, сколько байт необходимо для хранения информации об одном пользователе. То есть, 900 байт (по условиям задачи) делим на 60 пользователей и получаем 15 байт, приходящихся на каждого пользователя.
Вычисляем объем памяти, нужный для хранения дополнительных сведений:
15 байт (хранение всей информации) минус 6 байт (хранение пароля) = 9 байт
Это может быть полезным: Uchi.ru вход на сайт: Регистрация — Я родитель.
Заключение
Выше мы разобрали несколько типичных примеров решения задач «При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15, 11, 6, 9 символов». Используйте указанные в них алгоритмы для решения других задач похожего плана, что позволит успешно сдать контрольные и экзаменационные работы по школьному (университетскому) курсу информатики.
Спасибо за решение и ответы!! Нигде не мог найти уже несколько дней