Определение чётности-нечётности кода с использованием СКА MAPLE
Секция: Технические науки
XLI Студенческая международная заочная научно-практическая конференция «Молодежный научный форум: технические и математические науки»
Определение чётности-нечётности кода с использованием СКА MAPLE
Метод контроля кодов по признакам чётности или нечётности получил наиболее широкое применение в вычислительной технике. Проверка на чётность – это наиболее упрощенный метод обнаружения ошибок в памяти, что значит без возможности их восстановления. Для этого приёма производится суммирование величин по модулю два, которые присутствуют в контролируемом коде. Вместе с передаваемым кодом отправляется один контрольный разряд. Его значение (1 или 0) выбирается с тем условием, чтобы сумма цифр в передаваемом коде по модулю два была равна 0 для случая чётности и 1 для случая нечётности кода в целом. При кодировании такого рода допускается возможность возникновения однократной ошибки [2]. Признаком отсутствия искажений в процессе приёма-передачи является значение контрольного числа по методу проверки на чётность равное нулю.
Любой байт данных связан с одним битом чётности или так называемым паритетным битом. Этот бит устанавливается во время записи, и затем рассчитывается и сравнивается во время чтения. Изменение состояния этого бита говорит о возникшей ошибке. Этот метод ограничен установлением изменения состояния одиночного бита в байте. В случае изменения состояния двух битов, вытекает ситуация, когда вычисление паритетного бита совпадет с записанным битом. В данной ситуации система не обнаружит ошибку, и произойдет остановка системы.
Наиболее простой способ кодирования двоичного сообщения для обнаружения ошибок заключается в подсчете числа 1 в сообщении и добавлении ещё одного двоичного символа. Это необходимо для того, чтобы во всём сообщении содержалось чётное число единиц. Таким образом, к (n-1) символам сообщения добавляется n-ая позиция для проверки на чётность. На приёмном конце совершается подсчёт числа 1, и нечётное число 1 во всех n позициях указывает на появление, хотя бы, одной ошибки. Вероятность двойной ошибки приблизительно равна половине квадрата одиночной ошибки. Поэтому оптимальная длина проверяемого сообщения зависит как от требуемого уровня надежности (вероятности того, что двойная ошибка останется незамеченной), так и от вероятности единичной ошибки на любой позиции. На практике удобнее принять проверку на нечётность для того, чтобы сообщение, состоящее из всех нулей, не являлось верным [2].
Для вычисления чётности последовательности, состоящей из нулей и единиц, можно использовать конечный автомат с двумя состояниями (рис.1). Автомат начинает работу в состоянии 0 и меняет его при появлении в сообщении каждой 1. Состояние автомата на выходе сообщения выдает окончательную чётность.
Рисунок 1. Автомат для вычисления чётности
Целью данной работы является написание программы для демонстрации проверки кода на чётность или нечётность, с помощью программного продукта системы компьютерной алгебры (CAS) Maple [1].
Объект исследования: проверка кода букв на чётность или нечётность.
Задачи исследования:
1. Проанализировать литературу по данному вопросу;
2. Разработать программу проверки буквы на чётность или нечётность, с помощью программного продукта (CAS) Maple.
Методологическую основу исследования составляет литература о методе контроля кодов по признаку чётности или нечётности.
Методы исследования. При решении поставленной задачи был проведён анализ литературы по проблеме исследования для разработки программы проверки кода на чётность или нечётность в CAS Maple.
База исследования: Ставропольский государственный педагогический институт города Ставрополя.
Теоретическая значимость исследования заключается в анализе изученного материала метода контроля кодов по признаку четности или нечетности.
Практическая значимость исследования. Благодаря проделанной работе было создано программное обеспечение, для проверки кода на признак чётности или нечётности, использование которого необходимо в дальнейших исследованиях.
Описание разработки. Для написания программы была выбрана среда разработки (CAS) Maple 2014.
Применение программы: ее назначение и условие. Разработанная в (CAS) Maple программа предназначена для перевода букв в код, а затем проверки данного кода на чётность или нечётность.
Входные и выходные данные. Входными данными служит поступающая информация, которой необходима проверка.
Перечень выходных данных. На экран выводится код, младший разряд которого указывает на чётность или нечётность кода.
Алгоритм.
При запуске программы появляется форма с текстовыми полями и управляющими действиями пользователя кнопки (рис.2).
Рисунок 2. Вид формы
Если необходимо проверить код буквы на чётность или нечётность, то её вводят в поле с надписью «Буква», затем нажимают кнопку «Проверить» (рис.3). Происходит автоматический вывод буквы в двоичном виде, в котором последний разряд указывает на то, является код чётным или нечётным [4].
Рисунок 3. Проверка кода на чётность или нечётность
При нажатии на кнопку «Очистить» в поле с надписью «Буква» будет произведено удаление символов (рис. 4).
Рисунок 4. Удаление данных
При нажатии кнопки «ОК» программа закрывается.
Заключение. В качестве результата данной работы выступает достижение поставленной цели, а именно написание программы для демонстрации проверки кода на чётность или нечётность, с помощью программного продукта системы компьютерной алгебры (CAS) Maple. Чётность или нечётность широко применяется для контроля записи, считывания информации в запоминающих устройствах на магнитных носителях, а также при выполнении арифметических операций [3].