- •Восходящее и нисходящее программирование
- •1 Методы программирования
- •1.2 Восходящее программирование
- •1.2 Нисходящее программирование
- •Уровень II
- •Управляющая
- •Заглушка 1
- •Заглушка 2
- •1.3 Повышение качества проектирования программ
- •2 Организация выполнения курсовго проекта
- •2.1 Этапы выполнения курсового проекта
- •2.2 Требования к пояснительной записке
- •3 Задания на курсовое проектирование
- •3.1 Числовые задачи
- •3.2 Создание и введение баз данных. Справочники
- •3.3 Контролирующие и обучающие программы
- •3.4 Звукогенерация, графика, движение, мультипликация
- •3.5 Помехоустойчивое кодирование
- •3.7. Игровые задачи
- •3.8. Психологическое тестирование
- •3.8 Моделирование арифметических операций
- •3.9 Олимпиадные задачи
- •Курсовой проект
- •Задание
- •Студент Панова Александра Николаевна группа в-115
- •Разработка алгоритмов кодирования – декодирования двоичных данных кодом с проверкой на четность
- •1 Анализ задания и формулировка задач на проектирование
- •2 Разработка алгоритмов для контроля передачи данных
- •2.1 Кодирование двоичных данных кодом с проверкой на четность
- •2.2 Декодирование данных
- •2.3. Универсальный алгоритм кодирования-декодирования
- •3 Особенности разработки программы
- •4 Инструкция пользователя
- •5 Результаты тестирования
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 Результаты тестирования
Программа протестирована во всех возможных режимах, и результаты тестирования сведены в таблице.
Таблица Тестирование
-
Режим
_____
R=1
R=1
R=2
R=2
R=2
R=2
R=2
Исходное __слово__
10100 0101100
101000
101010
001000 01011001 01011000
Разрядность ___________
5
7
6
6
6
8
8
Ожидаемый __результат_
101000 01011001
101000 ошибка ошибка
0101100 ошибка
Полученный __результат__
101000 01011001
101000
0101100
Сообщение __________
Ошибок нет Ошибка Ошибка
Ошибок нет Ошибка
Заключение
В результате выполнения курсового проекта разработаны алгоритмы кодирования и исправления ошибок кодом с проверкой на четность, а также универсальный алгоритм кодирования-декодирования двоичных данных. На основе алгоритмов разработана и отлажена универсальная программа, которая может использоваться в реальной системе передачи данных с контролем в универсальной ЭВМ, осуществляющей прием/передачу данных. Разрядность слов может быть переменной.
Если ПК используется в однонаправленной системе ПД, то следует в нем использовать конкретную программу кодирования, либо декодирования.
Библиографический список (к приложению)
Шафеева, О.П. Технологии программирования. С++. Учебное пособие. – Омск, Изд-во ОмГТУ. 2007. – 80 с.
Программирование на языке Си: Метод. указания / Сост. О. П. Шафеева: Изд-во ОмГТУ, 2008. – 72 с.
Шафеева, О.П. Методы проектирования программ: Уч.-метод. Пособие. – Омск: Изд-во ОмГТУ, 2015. – 32с.
Системы программирования: Метод. указания / Сост. О.П.Шафеева, И.А. Волчкова, С.А.Гончаров. Омск: ОмГТУ, 2012. – 32 с.
Содержание
|
|
1. МЕТОДЫ ПРОГРАММИРОВАНИЯ |
3 |
1.1 Восходящее программирование |
3 |
1.2 Нисходящее программирование |
6 |
1.3 Повышение качества проектирование программ |
10 |
2 ОРГАНИЗАЦИЯ ВЫПОЛНЕНИЯ КУРСОВОГО ПРОЕКТА |
13 |
2.1 Этапы выполнения курсового проекта |
13 |
2.2 Требования к пояснительной записке |
13 |
3 ЗАДАНИЯ НА КУРСОВОЕ ПРОЕКТИРОВАНИЕ |
17 |
3.1 Числовые задачи |
17 |
3.2 Создание и введение баз данных. Справочники |
17 |
3.3 Контролирующие и обучающие программы |
19 |
3.4 Звукогенерация, графика, движение, мультипликация |
20 |
3.5 Помехоустойчивое кодирование |
20 |
3.6 Игровые задачи |
21 |
3.7 Психологическое тестирование |
22 |
3.8 Моделирование арифметических операций |
22 |
3.9 Олимпиадные задачи |
24 |
БИБЛИОГРАФИЧЕСКИЙ СПИСОК |
24 |
ПРИЛОЖЕНИЯ |
25 |
Приложение А. Пример оформления титульного листа к пояснительной записке |
25 |
Приложение Б. Пример оформления листа задания по курсовому проектированию |
26 |
Приложение В. Пример оформления текста пояснительной записки. Разработка алгоритмов кодирования - декодирования двоичных данных кодом с проверкой на четность |
27 |
Редактор ________________
Компьютерная верстка – _______________
ИД № ____________________ от . . 2015 г.
Сводный темплан 2015 г.
Подписано в печать . .2015 г. Формат 60х84 1/16. Бумага офсетная.
Отпечатано на дупликаторе. Уч. изд.-л. 2.Тираж
