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

За это задание ты можешь получить 1 балл. На решение дается около 3 минут. Уровень сложности: повышенный.
Средний процент выполнения: 33%
Ответом к заданию 11 по информатике может быть последовательность цифр, чисел или слов. Порядок записи имеет значение.

Алгоритм решения задания 11:

  1. Прочитай условие и выпиши все данные: алфавит/кодировка, длина сообщения, объём одного символа или другие параметры.
  2. Определи информационный вес одного символа (если он не дан) из условий кодирования.
  3. Найди количество символов в сообщении (если оно не дано напрямую).
  4. Вычисли объём сообщения: число символов умножь на информационный вес одного символа.
  5. Если в сообщении несколько частей (слова, строки, файлы), сложи объёмы всех частей.
  6. Переведи результат в требуемые единицы (бит, байт, Кбайт и т.д.).
  7. Проверь, что использованы правильные параметры и единицы.
  8. Запиши ответ в требуемом формате.

Что нужно знать, чтобы решить задание 11:

  1. Арифметические операции в вашем языке программирования
  2. Условный оператор
  3. Функции и процедуры

Теория к 11 заданию: читать

Задачи для практики

Задача 1

В системе безопасности каждый пропуск имеет серийный номер длиной 333 символа. Номер хранится в электронной базе, занимая одинаковое и минимально возможное целое число байт на запись. Все символы кодируются одинаковым и минимально возможным целым числом бит. Для хранения информации о 12 648 570 пропусках требуется не менее 5 Гбайт памяти. Определите минимально возможную мощность алфавита, из которого формируются номера пропусков.

Решение

Один номер имеет объём, равный I = n * i, где n - длина номера (в этой задаче n=333), i - вес одного символа

Найдём из общего числа сколько памяти можно выделить под один номер:

12 648 570 * I >= 5 Гбайт (знак >=, так как выделили "не менее" 5 Гбайт)

I >= (5 * 1024 * 1024 * 1024) / (12 648 570) >= 424.45 байт. По условию каждый номер закодирован целым числом байт, то есть нам нужно найти ближайшее целое число, которое больше 424.45, то есть 425 байт

Вернёмся к формуле для одного номера:

333 * i >= 425 байт

Переведём правую часть в биты, умножив на 8, так как левая часть исчисляется в битах

i >= (425 * 8) / 333 >= 10.21... i дробным быть не может (так как это кол-во бит, они всегда исключительно целые), наименьшее целое подходящее i = 11 бит

Чтобы определить алфавит нужно вспомнить формулу Хартли: N = 2**i

Самое минимальное кол-во символов, которое можно закодировать 11 битами -> 1025 (в 11 бит можно вместить от 1025 до 2048 символов включительно)

Ответ: 1025
Показать решение
Бесплатный интенсив

Задача 2

Для передачи телеметрии используется идентификатор объекта, составленный из 128-символьного алфавита. Идентификатор занимает в памяти 7 байт (целое минимальное число байт). Определите максимальную длину идентификатора в символах.

Решение

Один идентификатор имеет объём I = n * i, где n — длина идентификатора, i — вес одного символа.

Алфавит: 128 символов → i = 7 бит (2^6=64 < 128 ≤ 128=2^7).

I = 7 байт = 56 бит.

n * 7 = 56

n = 56 / 7 = 8

Ответ: 8

Ответ: 8
Показать решение
Бесплатный интенсив

Задача 3

В базе данных хранятся записи двух типов. Каждая запись содержит символьный код и порядковый номер записи в базе. Порядковый номер хранится отдельно от кода и занимает минимально возможное целое число байт. Символьный код также занимает минимально возможное целое число байт.

Запись типа A содержит код длиной LA символов из алфавита мощности 100.

Запись типа B содержит код длиной 19 символов из алфавита мощности 30.

Все символы каждого алфавита кодируются одинаковым и минимально возможным числом бит. В базе хранится 512 записей типа A и 1024 записи типа B. Общий объём базы не превышает 32 Кбайт. Определите максимально возможную длину LA. В ответе запишите только целое число.

Решение

Шаг 1. Бит на символ каждого типа.

  • Тип A: log₂(100) = 6,64... → 7 бит на символ
  • Тип B: log₂(30) = 4,9... → 5 бит на символ

Шаг 2. Байт на порядковый номер.

Всего записей: 512 + 1024 = 1536. log₂(1536) = 10,58... → 11 бит на номер.

Номер хранится отдельно: 11 бит → округляем вверх → 2 байта.

Шаг 3. Объём всех записей типа B.

  • Байт на код: 19 × 5 = 95 бит → округляем вверх → 12 байт
  • Байт на запись B: 12 + 2 = 14 байт
  • Всего тип B: 1024 × 14 = 14 336 байт

Шаг 4. Бюджет для записей типа A.

32 Кбайт = 32 768 байт. Бюджет: 32 768 − 14 336 = 18 432 байт.

Максимум байт на одну запись A: 18 432 / 512 = 36 байт.

Шаг 5. Максимальная длина кода A.

На номер уходит 2 байта → на код остаётся 36 − 2 = 34 байта = 272 бита.

LA × 7 ≤ 272 → LA ≤ 38,8... → максимальное целое LA = 38.

Проверка:

  • LA = 38: код = 38×7 = 266 бит → 34 байта, запись = 34+2 = 36 байт, итого = 512×36 + 14336 = 32 768 байт = 32 Кбайт ≤ 32 Кбайт ✓
  • LA = 39: код = 39×7 = 273 бит → 35 байт, запись = 35+2 = 37 байт, итого = 512×37 + 14336 = 33 280 байт > 32 Кбайт ✗
Ответ: 38
Показать решение
Бесплатный интенсив

Задача 4

В метеорологической службе каждая станция передает код погоды длиной 819 символов. Код хранится в базе данных, причем под него отводится минимальное целое число байт, достаточное для записи всех символов. Кодирование посимвольное, все символы кодируются минимально возможным целым числом бит. Для хранения архивных данных со 156 381 станции потребовалось более 114 Мбайт. Чему равна минимальная мощность алфавита, используемого в кодах?

Решение

Один код имеет объём, равный I = n * i, где n - длина кода (в этой задаче n=819), i - вес одного символа

Найдём из общего числа сколько памяти можно выделить под один код:

156 381 * I > 114 Мбайт (знак >, так как выделили "более" 114 Мбайт)

I > (114 * 1024 * 1024) / (156 381) > 764.4 байт. По условию каждый код закодирован целым числом байт, то есть нам нужно найти ближайшее целое число, которое больше 764.4, то есть 765 байт

Вернёмся к формуле для одного кода:

819 * i > 765 байт

Переведём правую часть в биты, умножив на 8, так как левая часть исчисляется в битах

i > (765 * 8) / 819 > 7.47... i дробным быть не может (так как это кол-во бит, они всегда исключительно целые), наименьшее целое подходящее i = 8 бит

Чтобы определить алфавит нужно вспомнить формулу Хартли: N = 2**i

Самое минимальное кол-во символов, которое можно закодировать 8 битами -> 129 (в 8 бит можно вместить от 129 до 256 символов включительно)

Ответ: 129
Показать решение
Бесплатный интенсив

Задача 5

База данных хранит серийные номера изделий, используя алфавит из 17 символов. Все символы кодируются минимальным целым числом бит. Один номер в базе занимает 9 байт (минимальное целое число байт). Какова максимальная длина номера?

Решение

Один номер имеет объём I = n * i, где n — длина номера, i — вес одного символа.

Алфавит: 17 символов → i = 5 бит (2^4=16 < 17 ≤ 32=2^5).

I = 9 байт = 72 бита.

n * 5 ≤ 72

n = 72 / 5 = 14.4 → n = 14 (целое, т.к. символы)

Ответ: 14

Ответ: 14
Показать решение
Бесплатный интенсив

Задача 6

Каждому научному образцу в каталоге присваивается идентификатор, состоящий из 2048 символов. Идентификатор хранится в базе данных, занимая ровно 512 байт (используется кодировка с фиксированным количеством байт на символ). Все символы кодируются одинаковым и минимально возможным целым числом бит. Определите минимальную мощность алфавита, используемого для записи идентификатора.

Решение

Один идентификатор имеет объём, равный I = n * i, где n - длина идентификатора (в этой задаче n=2048), i - вес одного символа

Известно, что I = 512 байт

2048 * i = 512 байт

Переведём правую часть в биты, умножив на 8, так как левая часть исчисляется в битах

i = (512 * 8) / 2048 = 2 бита

Чтобы определить алфавит нужно вспомнить формулу Хартли: N = 2**i

Самое минимальное кол-во символов, которое можно закодировать 2 битами -> 3 (в 2 бита можно вместить от 3 до 4 символов включительно)

Ответ: 3
Показать решение
Бесплатный интенсив

Задача 7

В социальной сети каждый пост имеет уникальный цифровой отпечаток длиной 4096 символов. Отпечаток хранится в базе данных, причем под одну запись отводится целое число байт, которого минимально достаточно для хранения всех символов. Все символы кодируются минимальным возможным целым числом бит. Для хранения 262 144 отпечатков выделено ровно 1 Гбайт памяти. Определите максимальную мощность алфавита, из которого формируются эти отпечатки.

Решение

Один отпечаток имеет объём, равный I = n * i, где n - длина отпечатка (в этой задаче n=4096), i - вес одного символа

Найдём из общего числа сколько памяти можно выделить под один отпечаток:

262 144 * I = 1 Гбайт

I = (1* 1024 * 1024 * 1024) / (262 144) = 4096 байт.

Вернёмся к формуле для одного отпечатка:

4096 * i = 4096 байт

Переведём правую часть в биты, умножив на 8, так как левая часть исчисляется в битах

i = (4096 * 8) / 4096 = 8 бит

Чтобы определить алфавит нужно вспомнить формулу Хартли: N = 2**i

Самое максимальное кол-во символов, которое можно закодировать 8 битами -> 256 (в 8 бит можно вместить от 129 до 256 символов включительно)

Ответ: 256
Показать решение
Бесплатный интенсив

Задача 8

На складской системе каждой товарной единицы присваивается уникальный код, состоящий из 1024 символов. Для хранения кода в базе данных отводится одинаковое и минимально возможное целое число байт. Все символы кодируются одинаковым и минимально возможным целым числом бит. Известно, что для хранения 2 560 000 кодов требуется не менее 2560 Мбайт памяти. Определите минимально возможную мощность алфавита, используемого для записи кодов.

Решение

Один код имеет объём, равный I = n * i, где n - длина кода (в этой задаче n=1024), i - вес одного символа

Найдём из общего числа сколько памяти можно выделить под один код:

2 560 000 * I >= 2560 Мбайт (знак >=, так как выделили "не менее" 2560 Мбайт)

I >= (2560 * 1024 * 1024) / (2 560 000) >= 1048.576 байт. По условию каждый код закодирован целым числом байт, то есть нам нужно найти ближайшее целое число, которое больше 1048.576, то есть 1049 байт

Вернёмся к формуле для одного кода:

1024 * i >= 1049 байт

Переведём правую часть в биты, умножив на 8, так как левая часть исчисляется в битах

i >= (1049 * 8) / 1024 >= 8.19... i дробным быть не может (так как это кол-во бит, они всегда исключительно целые), наименьшее целое подходящее i = 9 бит

Чтобы определить алфавит нужно вспомнить формулу Хартли: N = 2**i

Самое минимальное кол-во символов, которое можно закодировать 9 битами -> 257 (в 9 бит можно вместить от 257 до 512 символов включительно)

Ответ: 257
Показать решение
Бесплатный интенсив

Задача 9

На предприятии каждой изготовленной детали присваивают серийный номер, содержащий десятичные цифры и символы из 2040-символьного специального алфавита. В базе данных каждый серийный номер занимает одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 87 000 серийных номеров требуется более 10 Мбайт памяти. Определите минимально возможную длину серийного номера. В ответе запишите только целое число.

Решение

Шаг 1. Определяем мощность алфавита и число бит на символ.

Алфавит: 10 цифр + 2040 спецсимволов = 2050 символов.

Бит на символ: log₂(2050) = 11,0014... — округляем вверх: 12 бит.

Шаг 2. Определяем минимальное число байт на один номер.

10 Мбайт = 10 × 1024 × 1024 = 10 485 760 байт.

Байт на номер должно быть больше: 10 485 760 / 87 000 = 120,52... — значит не менее 121 байта.

Шаг 3. Находим минимальную длину номера.

При 12 битах: L символов занимают 12 × L бит. Округляем вверх до байт.

Нам нужно: округление_вверх(12 × L / 8) > 120, то есть >= 121.

12 × L / 8 > 120 → L > 80 → минимальное целое L = 81.

Проверка:

  • L = 80: 80 × 12 = 960 бит = 120 байт ровно, итого 87 000 × 120 = 10 440 000 байт = 9,956 Мбайт — не более 10 Мбайт ✗
  • L = 81: 81 × 12 = 972 бит → 122 байт (округлено вверх), итого 87 000 × 122 = 10 614 000 байт = 10,12 Мбайт > 10 Мбайт ✓
Ответ: 81
Показать решение
Бесплатный интенсив

Задача 10

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

Известно, что:

  • все символы кодируются одинаковым и минимально возможным числом бит;
  • используется посимвольное кодирование;
  • каждый код занимает одинаковое количество памяти;
  • для хранения 32 768 кодов потребовалось не менее 6 Мбайт памяти.
  • Определите минимально возможную мощность алфавита, используемого для записи кодов.

    В ответе запишите только целое число.

    Решение

    Переведём объём памяти в биты:

    6 Мбайт = 6 · 220 байт = 6 · 220 · 8 = 50 331 648 бит.

    Найдём общее количество символов во всех кодах:

    32 768 · 120 = 3 932 160 символов.

    Определим, сколько бит приходится на один символ:

    50 331 648 / 3 932 160 = 12,8 бита.

    Так как число бит на символ должно быть целым, минимально возможное значение равно 13.

    Найдём минимальную мощность алфавита, при которой уже требуется 13 бит:

    212 = 4096 — ещё можно обойтись 12 битами;

    212 + 1 = 4097 — уже требуется 13 бит.

    Ответ: 4097
    Показать решение
    Бесплатный интенсив

    Задача 11

    В базе данных каждый номер заказа состоит из символов алфавита мощностью 60. Номер занимает 10 байт (минимальное целое число байт). Какова максимальная длина номера?

    Решение

    Один номер имеет объём I = n * i, где n — длина номера, i — вес одного символа.

    Алфавит: 60 символов → i = 6 бит (2^5=32 < 60 ≤ 64=2^6).

    I = 10 байт = 80 бит.

    n * 6 ≤ 80

    n = 80 / 6 = 13.33 → n = 13

    Ответ: 13

    Ответ: 13
    Показать решение
    Бесплатный интенсив

    Задача 12

    Каждая книга в библиотеке имеет шифр из 16-символьного алфавита. Шифр хранится в базе, занимая 6 байт (минимальное целое число байт). Определите максимальную длину шифра в символах.

    Решение

    Один шифр имеет объём I = n * i, где n — длина шифра, i — вес одного символа.

    Алфавит: 16 символов → i = 4 бита (2^3=8 < 16 ≤ 16=2^4).

    I = 6 байт = 48 бит.

    n * 4 = 48

    n = 48 / 4 = 12

    Ответ: 12

    Ответ: 12
    Показать решение
    Бесплатный интенсив

    Задача 13

    В электронном журнале каждая запись кодируется с помощью алфавита мощностью 5 символов. Для хранения 4096 записей потребовалось  ровно 8 Кбайт памяти, причём каждая запись занимает одинаковое минимальное целое число байт. Определите длину одной записи.

    Решение

    Одна запись имеет объём I = n * i, где n — длина записи, i — вес одного символа.

    Алфавит: 5 символов → i = 3 бита (2^2=4 < 5 ≤ 8=2^3).

    Общий объём: 8 Кбайт = 8 * 1024 = 8192 байта.

    Количество записей: 4096.

    I = 8192 / 4096 = 2 байта = 16 бит.

    n * 3 ≤ 16

    n = 16 / 3 = 5.33 → n = 5

    Ответ: 5

    Ответ: 5
    Показать решение
    Бесплатный интенсив

    Задача 14

    Каждое транспортное средство в реестре имеет VIN-код, состоящий из 177 символов. Код хранится в базе, занимая минимальное целое число байт, необходимое для записи. Используется одинаковое и минимальное целое число бит для кодирования каждого символа. Известно, что для хранения 21 650 688 VIN-кодов отвели 3.5 Гбайта памяти. Определите максимально возможную мощность алфавита, используемого в VIN-кодах.

    Решение

    Один код имеет объём, равный I = n * i, где n - длина кода (в этой задаче n=177), i - вес одного символа

    Найдём из общего числа сколько памяти можно выделить под один код:

    21 650 688 * I = 3.5 Гбайт

    I = (3.5 * 1024 * 1024 * 1024) / (21 650 688) = 173.57 байт. По условию каждый код закодирован целым числом байт, то есть нам нужно найти ближайшее целое число, которое меньше 173.57 (чтобы "влезть" в выделенный объём), то есть 173 байт

    Вернёмся к формуле для одного кода:

    177 * i = 173 байт

    Переведём правую часть в биты, умножив на 8, так как левая часть исчисляется в битах

    i = (173 * 8) / 177 = 7.819... i дробным быть не может (так как это кол-во бит, они всегда исключительно целые), наибольшее целое подходящее i = 7 бит (если взть i = 8, то общий вес превысит 3.5 Гбайт)

    Чтобы определить алфавит нужно вспомнить формулу Хартли: N = 2**i

    Самое большое кол-во символов, которое можно закодировать 7 битами -> 128 (в 7 бит можно вместить от 65 до 128 символов включительно)

    Ответ: 128
    Показать решение
    Бесплатный интенсив

    Задача 15

    Система генерирует временные коды из символов алфавита {A, B, C, D, E, F, G, H}. Код хранится в базе, занимая 5 байт (минимальное целое число байт). Найдите максимальное количество символов в коде.

    Решение

    Один код имеет объём I = n * i, где n — длина кода, i — вес одного символа.

    Алфавит: 8 символов → i = 3 бита (2^2=4 < 8 ≤ 8=2^3).

    I = 5 байт = 40 бит.

    n * 3 ≤ 40

    n = 40 / 3 = 13.33 → n = 13

    Ответ: 13

    Ответ: 13
    Показать решение
    Бесплатный интенсив

    Задача 16

    На химическом производстве каждой партии реактива присваивается код, состоящий из 127 символов. Код записывается в журнал учета, занимая одинаковое и минимально возможное целое число байт. Используется посимвольное кодирование с одинаковым и минимальным целым количеством бит на символ. Для хранения 33 554 432 кодов требуется минимум 476 Мбайт памяти. Определите минимально возможное количество бит, которое можно использовать на один символ.

    Решение

    Один код имеет объём, равный I = n * i, где n - длина кода (в этой задаче n=127), i - вес одного символа

    Найдём из общего числа сколько памяти можно выделить под один код:

    33 554 432 * I >= 476 Мбайт (используется знак ">=", так как выделено "минимум" 476 Мбайт)

    I >= (476 * 1024 * 1024) / (33 554 432) >= 14.875 байт. Так как каждый код кодируется целым количеством байт, нужно найти ближайшее целое подходящее число, которое будет больше 14.875, то есть 15 байт

    Вернёмся к формуле для одного кода:

    127 * i >= 15 байт

    Переведём правую часть в биты, умножив на 8, так как левая часть исчисляется в битах

    i >= (15 * 8) / 127 >= 0.94 бит. i дробным быть не может (так как это кол-во бит, они всегда исключительно целые), наименьшее целое подходящее i = 1 бит

    Ответ: 1
    Показать решение
    Бесплатный интенсив

    Задача 17

    В библиотечной системе каждой книге присваивается шифр хранения, состоящий из 255 символов. Шифр занимает в базе данных одинаковое и минимально возможное целое число байт. Кодирование посимвольное, все символы кодируются минимальным целым числом бит. Для хранения 8 388 608 шифров требуется не менее 2 Гбайт памяти. Определите минимальное количество символов в алфавите, из которого состоят шифры.

    Решение

    Один шифр имеет объём, равный I = n * i, где n - длина шифра (в этой задаче n=255), i - вес одного символа

    Найдём из общего числа сколько памяти можно выделить под один шифр:

    8 388 608 * I >= 2 Гбайт (знак >=, так как выделили "не менее" 2 Гбайт)

    I >= (2 * 1024 * 1024 * 1024) / ( 8 388 608) >= 256 байт. По условию каждый шифр закодирован целым числом байт, то есть нам подходит 256 байт

    Вернёмся к формуле для одного шифра:

    255 * i >= 256 байт

    Переведём правую часть в биты, умножив на 8, так как левая часть исчисляется в битах

    i >= (256 * 8) / 255 >= 8.03... i дробным быть не может (так как это кол-во бит, они всегда исключительно целые), наименьшее целое подходящее i = 9 бит

    Чтобы определить алфавит нужно вспомнить формулу Хартли: N = 2**i

    Самое минимальное кол-во символов, которое можно закодировать 9 битами -> 257 (в 9 бит можно вместить от 257 до 512 символов включительно)

    Ответ: 257
    Показать решение
    Бесплатный интенсив

    Задача 18

    Каждому файлу в файловой системе присваивается уникальное имя, состоящее из 512 символов. Имя файла занимает в системном каталоге одинаковое и минимально возможное целое число байт. При кодировании используется одинаковое и минимальное целое число бит на символ. Известно, что 4 194 304 имени файлов занимают ровно 2 Гбайта памяти. Определите минимальное количество символов, которые могли использоваться в алфавите для имен файлов.

    Решение

    Одно имя имеет объём, равный I = n * i, где n - длина имени (в этой задаче n=512), i - вес одного символа

    Найдём из общего числа сколько памяти можно выделить под одно имя:

    4 194 304 * I = 2 Гбайт

    I = (2 * 1024 * 1024 * 1024) / (4 194 304) = 512 байт. По условию каждое имя закодировано целым числом байт, то есть 512 байт так и оставляем

    Вернёмся к формуле для одного имени:

    512 * i = 512 байт

    Переведём правую часть в биты, умножив на 8, так как левая часть исчисляется в битах

    i = (512 * 8) / 512 = 8

    Чтобы определить алфавит нужно вспомнить формулу Хартли: N = 2**i

    Самое минимальное кол-во символов, которое можно закодировать 8 битами -> 129 (в 8 бит можно вместить от 129 до 256 символов включительно)

    Ответ: 129
    Показать решение
    Бесплатный интенсив

    Задача 19

    На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 87 символов. В базе данных каждый серийный номер занимает одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным целым числом бит. Известно, что для хранения 262 144 серийных номеров потребовалось не менее 17 Мбайт памяти. Определите минимально возможную мощность алфавита, используемого для записи серийных номеров. В ответе запишите только целое число.

    Решение

    Шаг 1. Определяем минимальное число байт на один номер.

    17 Мбайт = 17 × 1024 × 1024 = 17 825 792 байт.

    Байт на один номер: 17 825 792 / 262 144 = 68. Значит один номер занимает не менее 68 байт.

    Шаг 2. Определяем минимальное число бит на символ.

    87 символов должны занять не менее 68 байт = 544 бит.

    Бит на символ: 544 / 87 = 6,25... — округляем вверх до целого: 7 бит.

    Проверка: при 6 битах — 87 × 6 = 522 бит = 66 байт (округлено вверх) — меньше 68. Не подходит.

    При 7 битах — 87 × 7 = 609 бит = 77 байт (округлено вверх) — больше 68. Подходит.

    Шаг 3. Находим минимальную мощность алфавита при 7 битах.

    6 бит хватает для алфавита мощностью до 26 = 64.

    7 бит нужны начиная с мощности 64 + 1 = 65.

    Проверка:

    • N = 64: 6 бит/символ, 87 × 6 = 522 бит → 66 байт/номер, итого 262 144 × 66 = 17 301 504 байт = 16,5 Мбайт < 17 Мбайт — не подходит
    • N = 65: 7 бит/символ, 87 × 7 = 609 бит → 77 байт/номер, итого 262 144 × 77 = 20 185 088 байт = 19,25 Мбайт ≥ 17 Мбайт — подходит
    Ответ: 65
    Показать решение
    Бесплатный интенсив

    Задача 20

    Каждому студенту выдаётся логин, состоящий из букв десяти латинских букв (A-J). Логин хранится в базе в виде целого числа байт минимального размера. Для кодирования 65 536 логинов потребовалось  ровно 192 Кбайт памяти. Определите длину логина.

    Решение

    Один логин имеет объём I = n * i, где n — длина логина, i — вес одного символа.

    Алфавит: 10 букв → i = 4 бита (2^3=8 < 10 ≤ 16=2^4).

    Общий объём: 192 Кбайт = 192 * 1024 байт = 196608 байт.

    Количество логинов: 65536.

    I = 196608 / 65536 = 3 байта = 24 бита.

    n * 4 = 24

    n = 24 / 4 = 6

    Ответ: 6

    Ответ: 6
    Показать решение
    Бесплатный интенсив
    Показать еще

    Теория для 11 задания ЕГЭ по информатике


    Для начала разберёмся с понятием Рекурсия.

    Рекурсия — вызов функции внутри самой себя.

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

    Сегодняшняя сумма ваших денег — это вчерашняя сумма, увеличенная на 1000 рублей.
    А вчерашняя сумма денег — это позавчерашняя сумма, увеличенная на 1000 рублей.
    И так можно продолжать до бесконечности. Ситуацию можно описать формулой:
    F(n) = F(n-1)+1000, где F(n) — сумма денег в n-ый день, а F(n-1) — сумма денег в предыдущий n-1-ый день. Такая формула называется рекуррентной.

    Но так мы можем считать до бесконечности. Сумма, которая была у нас 451 день назад = сумме, которая была 452 назад, увеличенной на 1000. Именно поэтому нам необходимо условие выхода из рекурсии:
    Предположим, что в 1-ый день у нас было 0 рублей. А сейчас 100-ый день, тогда если n > 1, то нашу сумму можно посчитать по формуле
    F(n) = F(n-1)+1000,
    а если n = 1, то
    F(n) = 0 — это и есть условие выхода из рекурсии.

    В виде кода (язык Python) это можно записать как:
    def f(n):
    ᅠif n > 1:
    ᅠᅠreturn f(n-1)+1000
    ᅠelse:
    ᅠᅠreturn 0

    Практика

    Пример

    На рисунке записан рекурсивный алгоритм F. Чему равна сумма чисел, напечатанных на экране при выполнении вызова F(4)?

    Решение

    Обратим внимание, что вывод значения на экран происходит в тот момент, когда запускается наша процедура. Следовательно, как только мы вызвали F(4), на экране появилось первое число. Консоль вывода будет выглядеть так: | 4

    Далее проверяется условие n > 1. 4 явно больше 1, значит заходим внутрь условного оператора, оказываемся на строчке f(n-1). Эта строчка запускает процедуру f(n-1). Важный момент: сейчас текущая процедура f(n) встала на паузу и ждёт, пока процедура f(n-1) полностью завершит свою работу. Это как в Марио попасть с основного уровня на бонусный. Пока мы на бонусном уровне, основной уровень стоит на паузе.

    Схему проще всего представлять в виде дерева:

    Теперь запустилась процедура F(3). Сразу же в консоль отправляется число «3». Теперь в консоли мы наблюдаем:
    | 4 3

    Далее проверяется условие n > 1. 3 больше, чем 1, значит вновь оказываемся на строчке f(n-1) и запускаем f(2):

    F(2) выводит на экран число «2»:
    | 4 3 2

    2 > 1, значит F(2) запускает F(n-1), то есть F(1):

    F(1) выводит на экран число «1»:
    | 4 3 2 1

    Проверка условия n > 1 даёт нам False. 1 не больше, чем 1. Значит процедура F(1) завершает свою работу. Возвращаемся в процедуру F(2). Там мы остановились на строчке F(n-1), которая только что успешно завершила свою работу. Переходит к следующей строчке: F(n-2), которая вызовет F(0):

    F(0) выведет на экран 0 и тут же завершит свою работу, не пройдя условие n > 1:
    | 4 3 2 1 0

    Больше в F(2) делать нечего, она тоже завершает свою работу. Мы возвращаемся в F(3), где остановились на строчке F(n-1). Теперь переходим к строчке F(n-2) и вызываем F(1):

    Мы уже вызывали F(1) ранее, но сейчас он вызывается заново, выводит на экран «1» и завершается, не пройдя условие n > 1:
    | 4 3 2 1 0 1

    Возвращаемся в F(3), она завершила свою работу. Теперь возвращаемся в самое начало — процедуру F(4). Напоминаю, что в ней мы остановились на строчке F(n-1). Теперь, когда она полностью завершила свою работу, мы приступаем к следующей строке F(n-2) и вызываем F(2). Ранее мы уже вызывали F(2) и знаем, что дерево выглядеть будет так:

    И выведет поочередно «2» «1» «0»:
    | 4 3 2 1 0 1 2 1 0

    После чего все процедуры завершат свою работу, а значит и программа завершит свою работу. Осталось сложить числа, выведенные на экран, согласно условию:
    4+3+2+1+0+1+2+1+0=14

    Ответ: 14

    • Без воды
    • Ламповая атмосфера
    • Крутые преподаватели

    ЕГЭ 2027: бесплатный курс
    по информатике

    На бесплатном демо-курсе ты:
    • 🔥 Изучишь одни из самых фундаментальных тем информатики
    • 🔥 Научишься решать 6 задач формата ЕГЭ руками
    • 🔥 Начнёшь свой путь в проге
    • 🔥 Учёба на Турбо: познакомишься с преподавателями и личным кабинетом

    Что тебя ждет?

    • 8 вебинаров (1 веб в неделю по 1 часу)
    • Тестовые Д/З после каждого занятия
    • Конспекты и скрипты к урокам
    • Доступ к личному кабинету
    • Возможность отрабатывать задания ЕГЭ в любое время
    • Чат с единомышленниками
    • Поддержка препа 24/7
    Получи бесплатный демо-доступ
    Оставь заявку и займи место
    на бесплатном курсе Турбо ЕГЭ
    Нажимая на кнопку «Отправить», вы принимаете положение об обработке персональных данных.