М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
tinaZ07
tinaZ07
21.04.2023 03:43 •  Информатика

Після якого
службового слова
записують умову?
1. input
2. if
3. for
4.in

10))Якою має бути
команда виведення
привітання, що
складається з імені,
Введеного до текстового
поля, та тексту
привітання, обраного зі
Списку?
1. Ib2 = Label (text = ent.get() +",
Ibox.get(select))")
2. Ibl2 = Label (text = ent.get() +
", " + lbox.get(select))
3. Ibl2 = Label (text
=lbox.get(select) + ">" +
ent.get()
4. Ibl2 = Label (text =
ent.get(select) +"," +
Ibox.get(select))

👇
Открыть все ответы
Ответ:
Cricetinae
Cricetinae
21.04.2023

3. Ткёт ткач ткани

Объяснение:

Строим дерево по таблице количеств повторений символов:

Символ "Т" повторяется 4 раза

Символ "К" повторяется 3 раза

Символ "Ё" повторяется 1 раз

Символ " " повторяется 2 раза

Символ "А" повторяется 2 раза

Символ "Ч" повторяется 1 раз

Символ "Н" повторяется 1 раз

Символ "И" повторяется 1 раз

Каждый символ является конечным узлом дерева, количество повторений символа это вес узла.

Создадим список нераспределенных узлов по возрастанию весов.

{"Ё"(1)} {"Ч"(1)} {"Н"(1)} {"И"(1)} {"_"(2)} {"А"(2)} {"К"(3)} {"Т"(4)}

Объединим узлы с минимальным весом {"Ё"(1)} и {"Ч"(1)} в новый узел с весом 1+1=2

и поставим этот узел в список вместо исходных узлов в соответствии с получившимся весом:

{"Н"(1)} {"И"(1)} {"1 (2)":{"Ё"(1)},{"Ч"(1)}} {"_"(2)} {"А"(2)} {"К"(3)} {"Т"(4)}

Объединим узлы с минимальным весом {Н(1)} и {И(1)} в новый узел с весом 1+1=2, поставим этот узел в список и отсортируем по весу узлов:

{"2 (2)":{"Н"(1)},{"И"(1)}} {"1 (2)":{"Ё"(1)},{"Ч2(1)}} {"_"(2)} {"А"(2)} {"К"(3)} {"Т"(4)}

Теперь объединяем узлы {"2 (2)":{"Н"(1)},{"И"(1)}} и {"1 (2)":{"Ё"(1)},{"Ч"(1)}} в узел 3 с весом 2+2=4

{"_"(2)} {"А"(2)} {"К"(3)} {"3 (4)":{"2 (2)":{"Н"(1)},{"И"(1)}},{"1 (2)":{"Ё"(1)},{"Ч"(1)}}} {"Т"(4)}

Повторим с объединением "_" и "А" в узел 4 с весом 2+2=4

{"К"(3)} {"4 (4)":{"_"(2)},{"А"(2)}} {"3 (4)":{"2 (2)":{"Н"(1)},{"И"(1)}},{"1 (2)":{"Ё"(1)},{"Ч"(1)}}} {"Т"(4)}

далее объединение узлов "К" и 4 в узел 5 с весом 4+3=7

{"3 (4)":{"2 (2)":{"Н"(1)},{"И"(1)}},{"1 (2)":{"Ё"(1)},{"Ч"(1)}}} {"Т"(4)} {"5 (7)":{"К"(3)},{"4 (4)":{"_"(2)},{"А"(2)}}}

узлы 3 и "Т" объединяем в узел 6 с весом 4+4=8

{"6 (8)":{"3 (4)":{"2 (2)":{"Н"(1)},{"И"(1)}},{"1 (2)":{"Ё"(1)},{"Ч"(1)}}},{"Т"(4)}} {"5 (7)":{"К"(3)},{"4 (4)":{"_"(2)},{"А"(2)}}}

Оставшиеся 2 узла объединяются в корневой узел 7 с весом 7+8=15 и дерево готово.

код каждого символа получается как путь по дереву от корня до соответствующего листа:

"Т" код равен "11"

"К" код равен "00"

"А" код равен "011"

" " код равен "010"

"И" код равен "1001"

"Н" код равен "1000"

"Ч" код равен "1011"

"Ё" код равен "1010"

Длина кодированного сообщения равна сумме произведений количества повторений каждого символа на длину его кода:

4*2+3*2+1*4+2*3+2*3+1*4+1*4+1*4=42 бит

Длина кодированного сообщения равна 42 бит:

110010101101011000111011010110001110001001

ТКЁТ ТКАЧ ТКАНИ

Длина исходного сообщения 15 байт или 120 бит в ASCII:

сообщение содержит 8 различных символов. Длина кода одного символа при равномерном кодировании равна log₂(8)=3 бит

при равномерном кодировании длина текста равна 15*3=45 бит

Сжатие по отношению к 8-ми битному коду равно 120/42=~2.86

Сжатие по отношению к равномерному коду равно 45/42=~1.07

http://www.bolshoyvopros.ru/questions/3211301-kak-algoritmom-haffmana-postroit-derevo-i-kody-dlja-frazy-tkjot-tkach-tkani.html

4,8(42 оценок)
Ответ:
serovau85
serovau85
21.04.2023
// PascalABC.NET 3.0, сборка 1164 от 11.02.2016
function gcd(a,b:integer):integer;
// Нахождение НОД
var
  i: longint;
begin
  while b <> 0 do begin
    a := a mod b;
    i := b; b := a; a := i
    end;
  Result:=a
end;

begin
  var a:=ReadInteger('a=');
  var b:=ReadInteger('b=');
  var nod:=gcd(a,b);
  if nod>1 then
    WritelnFormat('Дробь сократима: {0}/{1}={2}/{3}',
    a,b,a div nod,b div nod)
  else WritelnFormat('Дробь {0}/{1} несократима',a,b)
end.

Тестовое решение:
a= 23541
b= 335160
Дробь сократима: 23541/335160=59/840
4,7(3 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ