3. При передаче сообщения с битом чётности произошло две ошибки. Сможет ли обнаружить ошибку принимающая сторона? ответ: Почему?
А если ошибок будет три? четыре?
Закончите фразу: «Бит чётности позволяет обнаружить (сколько?) ошибок».
4. Для кодирования букв А, В, И и Н используются 5-битовые кодовые слова:
А В И Н
11111 11000 00100 00011
Принята цепочка 00110. Определите, на сколько бит эта цепочка отличается от каждого «правильного» кодового слова:
Кодовые слова 11111(А) 11000(В) 00100(И) 00011(Н)
Принятые данные 00110 00110 00110 00110
На сколько битов отличается?
Определите букву, код которой отличается от полученной кодовой цепочки меньше всего:
5. Буквы А, В, И и Н кодируются так же, как в предыдущем задании.
Декодируйте сообщение, исправив ошибки:
000001101011100000110011010011001011100000111
Если ошибку в каком-то блоке данных исправить нельзя, поставьте символ *.
ответ:
Здравствуйте. Увы вынужден расстроить :
Скорее всего вы писали сайт в блокноте и сохранили файл в кодировке, которая не поддерживает русские или другие написанные вами символы - в таком случае воскресить код не получится - придётся полностью переписывать весь "кракозябрин" текст ( имею ввиду строчки со сломанным текстом ) и сохранять в юникоде. Если это не , то придётся перерыть все кодировки и выбрать ту, при которой текст сохраняется в нужном виде.
Ещё хочу отметить что не во всех редакторах придётся рыскать " в поисках ". Некоторые же имеют функцию автоматического определения кодировки, при которой от вас ничего не потребуется. Но пока-что определяют они так себе ( например тот же notepad++ - у него с этим явные проблемы ).
def zadanie(line, time)
line = line.gsub(/[^MD]/, "")
time.times { |i|
k = 0
while k < line.size - 1 do
if line[k..k + 1] == "MD"
line[k], line[k + 1] = line[k + 1], line[k]
k+=1
end
k+=1
end
p [i+1,line]
}
return line
end
# # Примеры применения
p zadanie("DMMDMDMDMMMDMMMM", 9)
Вывод
[1, "DMDMDMDMMMDMMDMDDDMM"]
[2, "DDMDMDMMMDMMDMDMDDMM"]
[3, "DDDMDMMMDMMDMDMDMDMM"]
[4, "MMMDMMDMDMDMDMMM"]
[5, "MMDMMDMDMDMD"]
[6, "MDMMDMDMDMD"]
[7, "MMDMDMDMD"]
[8, "MDMDMDMD"]
[9, "MDMDMD"]
"MDMDMD"