kuznetovalaura
20.05.2020 05:38

Синформатикой 1)tur=10; m=85; if tur< 10; m=m+tur; print(m) 2) dat=2; m=0; if dat > 3; m=m+1; print(m) 3) dat=771; m=771; if dat[k] > =m then; begin, m: =dat; end; writeln(m)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
lyazzat260703
27.01.2020 20:27
Type
  Dat = record
    d: integer;
    m: integer;
    y: integer
  end;

function jday(pd: Dat): longint;
// Алгоритм 199б
// "Переход от календарной даты к порядковому номеру дня и обратно"
// взят из сборника // "Библиотека алгоритмов 151б-200б", М.И.Агеев и др.,
// М.: Радио и связь, 1981
//
// Алгоритм возвращает порядковый номер дня по Юлианскому календарю.
// Работает для дат, начиная с 01.01.4713 до н.э.
var
  c, ya: longint;
begin
  with pd do
  begin
    if m > 2 then m := m - 3
    else
    begin
      m := m + 9;
      y := y - 1
    end;
    c := y div 100;
    ya := y mod 100;
    Result := ((146097 * c) div 4) + ((1461 * ya) div 4) +
      ((153 * m + 2) div 5) + d + 1721119
  end;
end;

function jdate(j: longint): Dat;
// Алгоритм 199б
// "Переход от календарной даты к порядковому номеру дня и обратно"
// взят из сборника // "Библиотека алгоритмов 151б-200б", М.И.Агеев и др.,
// М.: Радио и связь, 1981
//
// Алгоритм возвращает дату григорианского календаря по
// порядковому номеру дня Юлианского календаря.
// Работает для дат, начиная с 01.01.4713 до н.э.
var
  dd, mm, yy: integer;

begin
  j := j - 1721119;
  yy := (4 * j - 1) div 146097;
  dd := (4 * j - 1 - 146097 * yy) div 4;
  j := (4 * dd + 3) div 1461;
  dd := (4 * dd + 7 - 1461 * j) div 4;
  mm := (5 * dd - 3) div 153;
  dd := (5 * dd + 2 - 153 * mm) div 5;
  yy := 100 * yy + j;
  if mm < 10 then mm := mm + 3
  else begin mm := mm - 9; yy := yy + 1 end;
  Result.d := dd;
  Result.m := mm;
  Result.y := yy
end;

var
  d1,d2: Dat;
begin
  Writeln('Введите дату рождения в формате <день месяц год>: ');
  Read(d1.d, d1.m, d1.y);
  d2:=jdate(jday(d1)+5000);
  Writeln('5000 дней прожито ',d2.d,'.',d2.m,'.',d2.y)
end.

Тестовое решение:
Введите дату рождения в формате <день месяц год>:
9 10 1997
5000 дней прожито 18.6.2011
0,0(0 оценок)
Ответ:
samgrachev
20.05.2020 16:18

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

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота