В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
drovniashinaan
drovniashinaan
02.04.2020 01:05 •  Информатика

Всем привет, нужно решить пример номер 5 на фото, по информатике. Тоесть через естественный язык и блок схема


Всем привет, нужно решить пример номер 5 на фото, по информатике. Тоесть через естественный язык и б

Показать ответ
Ответ:
ZoeK
ZoeK
07.11.2022 17:07

Объяснение:

Допустим, у нас есть сообщение «habr», которое необходимо передать без ошибок. Для этого сначала нужно наше сообщение закодировать при Кода Хэмминга. Нам необходимо представить его в бинарном виде.На этом этапе стоит определиться с, так называемой, длиной информационного слова, то есть длиной строки из нулей и единиц, которые мы будем кодировать. Допустим, у нас длина слова будет равна 16. Таким образом, нам необходимо разделить наше исходное сообщение («habr») на блоки по 16 бит, которые мы будем потом кодировать отдельно друг от друга. Так как один символ занимает в памяти 8 бит, то в одно кодируемое слово помещается ровно два ASCII символа. Итак, мы получили две бинарные строки по 16 битбит. распараллеливается, и две части сообщения («ha» и «br») кодируются независимо друг от друга. Рассмотрим, как это делается на примере первой части.

Прежде всего, необходимо вставить контрольные биты. Они вставляются в строго определённых местах — это позиции с номерами, равными степеням двойки. В нашем случае (при длине информационного слова в 16 бит) это будут позиции 1, 2, 4, 8, 16. Соответственно, у нас получилось 5 контрольных бит (выделены красным цветом)Таким образом, длина всего сообщения увеличилась на 5 бит. До вычисления самих контрольных бит, мы присвоили им значение «0».

0,0(0 оценок)
Ответ:
banana1106
banana1106
03.03.2022 09:21
1. В приведенном коде ошибка. Не хватает ";" в третьей строке снизу.
2. Немного изменим ваш код и получим искомое значение x
Искомое число х = 16293

var
  x, y, a, b, k: integer;

begin
  k:=10000;
  repeat
    x:=k;
    a := 0; b := 0; y := 1;
    while x > 0 do
    begin
      if (x mod 10) mod 2 = 0
        then
        a := a * 10 + x mod 10
      else begin
        y := y * 10;
        b := b * 10 + x mod 10
      end;
      x := x div 10
    end;
    a := a * y + b;
    k := k + 1;
    until a = 26391;
    writeln(a:8, k-1:8); 
end.

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