![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
NePolina |
![]()
Сообщение
#1
|
Гость ![]() |
Разбираю алгоритмы обнаружения ошибок, в том числе Код Хэминга, но на Паскале не могу написать программу. Поделитесь мыслями...
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
To: NePolina
Поскольку ответа, что именно нужно реализовать, не последовало, я пока приведу программку, наглядно показывающую работу кода Хэмминга: uses crt; При старте программы вводится последовательность бит, которые должны быть переданы. Программа кодирует их по Хэммингу, и выводит результат - последовательность бит, готовую к передаче (при этом красным цветом выделены "избыточные" биты, не несущие информации, а используемые только для отслеживания ошибки). Затем вводится строка битов, полученная приемником информации, и после ее анализа выводится результат - есть ли ошибка, и в какой именно бите... (биты нумеруются СЛЕВА НАПРАВО (!!!) начиная с единицы). Идея программы взята отсюда: Код Хэмминга Вот лог работы программы: Цитата sent data [7] bits: 1110011 1 1 1 1 0 0 1 1 1 1 0 checking error status [0 = no error]: 0 received data [11] bits: 11111011110 checking error status [0 = no error]: 5 |
![]() ![]() |
![]() |
Текстовая версия | 11.09.2025 1:16 |