В 7 «А» классе учащийся Руслан тренируется в футбольном клубе, у него по информатике оценка «5», Арина занимается гимнастикой, по информатике у нее «4», Венера занимается плаванием и имеет по информатике оценку «5». 1) Перечислите названия полей базы данных. 2) Определите количество записей в базе данных
1) ✔ префиксный
длина А: 1, длина Б: 2, длина В: 3, длина Г: 3
Длина сообщения: 10 * 1 + 5 * 2 + 20 * 3 + 5 * 3 = 10 + 10 + 60 + 15 = 95 бит
2) ✔ префиксный
длины кодовых слов: 2
Длина сообщения: (10 + 5 + 20 + 5) * 2 = 40 * 2 = 80 бит
3) ✘ не префиксный (11 - префикс 111)
4) ✔ префиксный
длина А: 2, длина Б: 3, длина В: 1, длина Г: 3
Длина сообщения: 10 * 2 + 5 * 3 + 20 * 1 + 5 * 3 = 20 + 15 + 20 + 15 = 70 бит
Наиболее оптимальный код 4).
Если бы нужно было бы найти какое-нибудь оптимальное префиксное кодирование, можно было бы построить код Хаффмана.
Выписываем частоты символов, а затем объединяем наименее часто встречающиеся символы, почлучая кодовое дерево.
А - 10, Б - 5, В - 20, Г - 5
А - 10, (БГ) - 10, В - 20
(А(БГ)) - 20, В - 20
(В(А(БГ)) - 40
Если в этой записи есть (XY), то к коду любой буквы из X приписываем слева 0, для любого символа из Y - 1. Начинаем с пустых кодов:
(БГ) -> Б: 0, Г: 1
(А(БГ)) -> А: 0, Б: 10, Г: 11
(В(А(БГ)) -> В: 0, А: 10, Б: 110, Г: 111.
Доказано, что такой код будет оптимальным.
1)
amount = 0
for i in range(1, 51):
if (i % 2 == 0):
amount += i
print(amount)
2)
from random import randint
lst = [randint(1, 100) for i in range(10)]
print(lst)
for i in range(len(lst)):
lst[i] //= 2
print(lst)
Объяснение:
Парные числа - числа, которые делятся на 2 без остатка.
1)
amount = 0 // Переменная, хранящая сумму, равна нулю
for i in range(1, 51): // Берём элементы от 1 до 50 (первые 50 натуральных чисел)
if (i % 2 == 0): // Если число делится на 2 без остатка
amount += i // Сумма = сумма + i
print(amount) // Вывод ответа
2)
from random import randint // импорт функции randint() из библиотеки random
lst = [randint(1, 100) for i in range(10)] // Создание списка из рандомных чисел в диапазоне [1..100], состоящего из 10 элементов.
print(lst) // Выводим список
for i in range(len(lst)): // Берём индексы каждого элемента списка
lst[i] //= 2 // Делим значение списка с индексом i на 2
print(lst) // Выводим список