ргр. методичка15КП (2). Учебнометодическое пособие по проектированию программ и выполнению ргр и курсового проекта по дисциплине Программирование
Скачать 112.55 Kb.
|
Руководитель проекта (работы)Шафеева О.П., к.т.н.,доцент (Ф.И.О.) ___________________________ (Подпись, дата) Разработал студент ___________________________(Подпись, дата) Омск 2015 ПРИЛОЖЕНИЕ Б Пример оформления листа задания к курсовому проектированию ФГБОУВПО Омский государственный технический университет
Заданиена курсовое проектирование по дисциплине «Программирование» Студент Панова Александра Николаевна группа В-115(Ф.И.О. полностью) 1. Тема проекта Разработка программы помехоустойчивой передачи данных_______________________________________________________________________ 2. Срок сдачи студентом законченного проекта 15 апреля 3. Исходные данные к проекту _____код с проверкой на четность_,_______________________С/С++__________________________________________ 4. Содержание проекта (работы): 4.1. Разделы пояснительной записки (перечень подлежащих разработке вопросов) Введение. 1- Постановка задач на проектирование. 2- Методика решения. 3- Разработка алгоритмов. 4- Особенности разработки программы. 5- Инструкция пользователя. 6- Результаты тестирования. Приложения (текст программы). 4.2. Перечень графического материала 1. Схема алгоритма кодирования 2. СА декодирования 3. Структура универсальной программы 4._____________________________________ 5. Основная рекомендуемая 1) Шафеева О.П.Технологии программирования.С++. Учебное пособие. – Омск, Изд-во ОмГТУ. 2007. – 80 с. 2) Крылов, Е.В. Техника разработки программ: Кн.2. Технология, надежность и качество программного обеспечения: Учебник / Е.В. Крылов, В.А. Острейковский, Н.Г. Типикин. – М.: Высш. шк., 2008. – 469 с. 3) Программирование на языке Си: Метод. указания / Сост. О. П. Шафеева: Изд-во ОмГТУ. 2008. – 72 с. 4) Методы проектирования программ: Метод. указания / Сост. О. П. Шафеева: Изд-во ОмГТУ. Омск, 2015. – 32 с. 6. Дата выдачи задания 10.02. Руководитель _______________________________ (подпись, дата) Студент ________________________________________________(подпись, дата) ПРИЛОЖЕНИЕ В Пример оформления текста пояснительной записки РАЗРАБОТКА АЛГОРИТМОВ КОДИРОВАНИЯ – ДЕКОДИРОВАНИЯ ДВОИЧНЫХ ДАННЫХ КОДОМ С ПРОВЕРКОЙ НА ЧЕТНОСТЬ Титульный лист Задание Оглавление Введение Анализ задания и формулировка задач на проектирование Разработка алгоритмов для контроля передачи данных Кодирование двоичных данных кодом с проверкой на четность Декодирование данных Универсальный алгоритм кодирования декодирования 3 Особенности разработки программы 4 Инструкция пользователя 5 Результаты тестирования Заключение Список использованной литературы Приложения Введение Контролирующие коды используются для обнаружения ошибок в системах передачи данных, являющихся составной частью вычислительной сети или вычислительной системы. Влияние внешних помех может привести к потере или искажению информации. Для проверки возникновения ошибок при передаче двоичных данных по каналам связи применяются корректирующие коды. Кодирование данных выполняет специальное устройство-кодер, декодирование-декодер. Объединенная структура системы передачи данных с контролем включает компоненты рис.1. Рисунок 1 Структура системы передачи данных 1 Анализ задания и формулировка задач на проектирование Согласно заданию на курсовой проект для обнаружения ошибок должен использоваться код с проверкой на четность. Код образуется добавлением к информационному двоичному слову данных одного контрольного бита (рис.2.1) и нформационные биты контрольный разряд Рисунок 2.1 Структура кода При кодировании в контрольный разряд записывается "1", если число единиц в исходном слове нечетно и "0" - в противном случае. Например, к семибитовому двоичному слову (1011001) добавляется восьмой контрольный бит (равный "0"). На приемном конце канала передачи данных должна выполняться проверка установленной кодером четности единиц кода (8 бит). Если обнаружится, что четность кода нарушена, то в процессе передачи данных произошли ошибки (исказились значения) и декодер должен выдать соответствующие сообщение. Например, если получен код 10110010, то "ошибок нет", если 10111010, то "в слове имеется ошибка". Для реализации контроля помехоустойчивой передачи данных необходимо разработать алгоритмы и программы: кодирования исходного двоичного слова данных в код (для кодера), проверки (декодирования) переданного по каналу кода на верность (для декодера), универсального алгоритма и программы на языке С/С++ для ПК, выполняющего функции кодера и декодера одновременно в двунаправленной системе передачи данных. 2 Разработка алгоритмов для контроля передачи данных 2.1 Кодирование двоичных данных кодом с проверкой на четность Для кодирования N-разрядного двоичного слова необходимо вычислить (N+1)-й разряд по правилу четности. Пусть исходное слово это массив А из N-разрядов, тогда массив-код будет содержать (N+1)-разряд. Для определения четности можно использовать операцию сложения по модулю два, либо подсчитать сумму единиц в массиве A, а затем определить четна она или нет. Если сумма четна, то в A[N+1]=0, в противном случае A[N+1]=1. В данной работе для реализации выбран последний способ. Тогда схема алгоритма (СА) вычисления контрольного разряда имеет вид рис. 2.2. Дополнительно на СА (рис.2.1) введены обозначения: i номер разряда, s сумма единиц слова. После ввода самого N-разрядного слова A (бл.2) вычисляется значение (N+1)-го контрольного бита (бл.35), затем печатается или вводится в канал ПД весь (N+1)-разрядный код (бл.6). Рисунок 2.2 СА кодирования двоичного слова 2.2 Декодирование данных П ри декодировании слова, поступившего из канала ПД, проверяется, сохранена ли в процессе передачи четность, установленная кодером или нет. Для этого должны быть использованы те же правила, что и при кодировании. СА декодирования разработана на основе указанных замечаний и приведена на рис. 2.3. Рисунок 2.3 СА декодирования кода2.3. Универсальный алгоритм кодирования-декодирования Здесь С - массив-код из М=N+1 элементов, S - сумма единиц кода. После ввода разрядности слов в коде (М) и самого слова (бл.1)вычисляется сумма единиц в коде (бл.2,3). Затем производится проверка: если сумма равна нулю, то ошибок не произошло (бл.5) в принятом из канала передачи данных коде, далее выдается информационная часть кода (без контрольного бита) (бл.6) для дальнейшей обработки. В случае обнаружения ошибки выдается соответствующее сообщение. Анализ СА рис.2.2. и рис.2.3. показывают, что в обоих вычисляется сумма, т.е. есть общая часть. Поэтому возможно объединение алгоритмов кодирования и декодирования в единый алгоритм. При этом вычисление суммы следует выделить в подпрограмму, тогда универсальный алгоритм примет вид рис.2.3, на котором использованы следующие обозначения: М - разрядность кода или слова; R - режим (R=1 - кодирование, R=2 - декодирование), C[1..M] - код для декодирования, C[1..M] - слово из М информационных разрядов для кодирования Рисунок 2.4 Схема универсального алгоритма3 Особенности разработки программы Для программной реализации алгоритма рис. 2.4 выбран универсальный язык программирования С/С++. Программа разработана в строгом соответствии со СА и представлена файлом. Она занимает 16 байт в памяти и состоит из 40 строк. 4 Инструкция пользователя Для запуска программы необходимо запустить на выполнение файл KODDEK.PAS. По запросу ввести режим (кодирование (декодирование)) и двоичный массив для обработки. Результаты просмотреть в окне результатов. Дополнительные модули к программе не подключаются. Для ее работы достаточен стандартный набор средств языка. 5 Результаты тестирования Программа протестирована во всех возможных режимах, и результаты тестирования сведены в таблице. Таблица Тестирование
Заключение В результате выполнения курсового проекта разработаны алгоритмы кодирования и исправления ошибок кодом с проверкой на четность, а также универсальный алгоритм кодирования-декодирования двоичных данных. На основе алгоритмов разработана и отлажена универсальная программа, которая может использоваться в реальной системе передачи данных с контролем в универсальной ЭВМ, осуществляющей прием/передачу данных. Разрядность слов может быть переменной. Если ПК используется в однонаправленной системе ПД, то следует в нем использовать конкретную программу кодирования, либо декодирования. Библиографический список (к приложению) Шафеева, О.П. Технологии программирования. С++. Учебное пособие. – Омск, Изд-во ОмГТУ. 2007. – 80 с. Программирование на языке Си: Метод. указания / Сост. О. П. Шафеева: Изд-во ОмГТУ, 2008. – 72 с. Шафеева, О.П. Методы проектирования программ: Уч.-метод. Пособие. – Омск: Изд-во ОмГТУ, 2015. – 32с. Системы программирования: Метод. указания / Сост. О.П.Шафеева, И.А. Волчкова, С.А.Гончаров. Омск: ОмГТУ, 2012. – 32 с.
Редактор ________________ Компьютерная верстка – _______________ ИД № ____________________ от . . 2015 г. Сводный темплан 2015 г. Подписано в печать . .2015 г. Формат 60х84 1/16. Бумага офсетная. Отпечатано на дупликаторе. Уч. изд.-л. 2.Тираж |