Рис. 3. Укрупненная блок-схема перевода
В задачу включена проверка необходимости перевода (блок 2): очевидно, перевод десятичного целого числа в двоичную систему счисления необходим, если переводимое число не меньше 2. Так, например, если исходное десятичное число (переменная А) равно 5, управление переходит на блок 4, в котором начинается сам перевод. Если же исходное число равно, например, 1, управление передается блоку 3, в котором результирующая переменная Z приравнивается исходному числу: т. е. результат совпадает с входными данными. В этом случае алгоритм перевода заканчивает свою работу. В соответствии с принципом модульного проектирования блок Перевод в силу сложности задачи перевода показан как предопределенный процесс и требует отдельной разработки. Оставшиеся шаги (анализ, ввод и вывод) могут быть реализованы как отдельные операторы произвольного языка программирования, потому дальнейшей конкретизации не подлежат;
3) в соответствии с принципом нисходящего проектирования представим в виде блок-схемы блок, реализующий задачу перевода (рис. 4).
![]() |
Рис. 4 . Блок-схема задачи перевода
В блоке 1 определяется частное от деления исходного числа на 2. Его значение присваивается переменной В.
В блоке 2 рассчитывается первый остаток. Его значение присваивается первому элементу одномерного массива С.
В блоке 3 задается условие выполнения цикла: перевод числа продолжается, пока частное остается не меньше 2 (эта проверка аналогична той, что проводилась в блоке 2 блок-схемы рис. 3). Если условие нарушается, управление передается на блок 6, в котором из полученных ранее остатков и последнего частного «собирается» результат. Очевидно, это сложная задача, поэтому блок 6 в соответствии с принципом модульного проектирования представлен как предопределенный процесс.
Если же в результате анализа в блоке 3 определена необходимость продолжения перевода, управление передается на блок 4. В этом блоке последовательно формируется одномерный массив, в котором в результате сохраняются все остатки от делений. Очевидно, этот блок в силу сложности задачи первоначально следует представить как предопределенный процесс.
В блоке 5 «подготавливается» новое выполнения цикла: как отмечалось ранее, на очередном шаге цикла бывшее частное становится делимым. Эта замена формально представляется той подменой, которая и выполняется в этом блоке. Управление передается блоку 3, в котором уже в роли делимого выступает бывшее на предыдущем шаге частное.
4) в соответствии с принципом нисходящего проектирования представим в виде блок-схемы задачу формирования С (рис. 5).
![]() | |
| |


|
первоначально I = 1
![]() |
Рис. 5. Блок-схема формирования массива остатков С
В блоке 1 выполняется переход к очередному элементу массива с остатками от деления. В блоке 2 рассчитывается остаток от деления. Его значение присваивается очередному элементу массива С;
5) представим в виде блок-схемы задачу формирования Z (рис. 6);
![]() |
Рис. 6. Блок-схема задачи формирования Z
В блоке 1 переменной Z присваивается последнее частное.
В блоке 2 организуется цикл для обращения ко всем элементам массива С, начиная с последнего, имеющего номер I, и кончая первым. Каждый элемент массива С приписывается к цепочке Z (операция Ä означает приписывание).
Взаимосвязь модулей показана на рис. 7.
Рис. 7. Взаимосвязь модулей задачи перевода
Рассмотрим теперь на примере, как работает полученный алгоритм. Это требуется для анализа его корректности. Зададимся положительным целым десятичным числом, например, равным 5, и выполним его перевод в двоичную систему счисления по приведенному алгоритму. В силу свойства дискретности алгоритма представим перевод в виде таблицы (табл. 24).
Таблица 24
Шаг алгоритма | Выполняемое действие | Значения переменных |
| ||
до выполнения шага алгоритма | после выполнения шага алгоритма | ||||
Модуль | Блок |
| |||
1 | Основной | 1 | А не определено | А=5 |
|
2 | Основной | 2 | А=5 | не меняется |
|
3 | Перевод | 1 | В не определено | В=целая часть (5/2) = 2 |
|
4 | Перевод | 2 | С(1) не определено | С(1) = 5-2*2 = 1 |
|
5 | Перевод | 3 | В=2 | не меняется |
|
6 | Формирование С | 1 | I=1 | I = 2 |
|
7 | Формирование С | 2 | С(2) не определено | С(2) = 2- целая часть (2/2)*2 = 0 |
|
8 | Перевод | 5 | В = 2 | В = целая часть (2/2) = 1 |
|
9 | Перевод | 3 | В = 1 | не меняется |
|
10 | Формирование Z | 1 | Z не определена | Z = 1 |
|
11 | Формирование Z | 2 | J не определена | J = 2 |
|
12 | Формирование Z | 3 | Z = 1 | Z = 1ÄC(2) = 1Ä0 = 10 |
|
13 | Формирование Z | 2 | J = 2 | J = 1 |
|
14 | Формирование Z | 3 | Z = 10 | Z = 10ÄC(1) =10Ä1 = 101 |
|
15 | Формирование Z | 2 | J = 1 | J = 0 |
|
16 | Основной | 5 | Z = 101 | не меняется |
|
Часть 5. Правила оформления курсовой работы
Оформление курсовой работы должно быть выполнено аккуратно, текст пояснительной записки подготовлен с помощью текстового процессора MS Word (все текстовые абзацы оформлять в едином стиле), отпечатан на принтере на листах формата А4, снабжен титульным листом.
По заданиям представить только данные (таблицы, рисунки, формулы), описывающие ход решения задачи, аналогичные тем, которые приведены в указаниях по выполнению заданий (см. табл. 25). По заданию 12 представить блок-схемы, выполненные в MS Word.
Таблица 25
№ задания | №№ формул | №№ рисунков | №№ таблиц |
1 | , (5), (6) | - | 1 |
2 | (7), (9) | - | 3, 4 |
3 | (10) | - | 6, 7 |
4 | (11) | - | 8 |
5 | (12), (13) | - | 9, 10 |
6 | (15) | 1 | 11, 12 |
7 | (16) | 2 | 13, 14 |
8 | (17) | - | 15, 16 |
9 | - | - | 17 – 20 |
10 | (, (26), (27), (29) | - | - |
11 | (30) – (43) | - | 21, 22 |
12 | - | 3 - 7 | 23, 24 |
Оглавление
Введение..................................................................................................................................................... 1
Часть 1. Кодирование дискретного сигнала....................................................................................... 3
1.1 Кодирование кодами по образцу................................................................................................. 3
Задание 1. Прямые коды................................................................................................................... 3
Задание 2. Коды, учитывающие частоту символов.................................................................... 4
Задание 3. Коды Грея........................................................................................................................ 7
1.2. Криптографическое кодирование дискретного сигнала....................................................... 9
Задание 4. Метод простой подстановки........................................................................................ 9
Задание 5. Метод Вижинера.......................................................................................................... 10
1.3. Эффективное кодирование дискретного сигнала................................................................. 11
Задание 6. Метод Шеннона - Фано.............................................................................................. 11
Задание 7. Метод Хаффмена......................................................................................................... 13
1.4. Помехозащитное кодирование дискретного сигнала.......................................................... 15
Задание 8. Построение кода для обнаружения ошибок.......................................................... 15
Задание 9. Построение кода для исправления ошибок........................................................... 17
Часть 2. Измерение дискретного сигнала......................................................................................... 21
Задание 10. Анализ эффективности кодирования.................................................................... 21
Часть 3. Формы представления чисел................................................................................................ 23
Задание 11. Сложение в обратных кодах................................................................................... 23
Часть 4. Кодирование алгоритмов...................................................................................................... 27
Задание 12......................................................................................................................................... 27
Часть 5. Правила оформления курсовой работы............................................................................. 37
[1] Здесь и далее между кодовыми комбинациями введены пробелы только для удобства восприятия
[2] Не должно превышать значения из графы 4 табл. 3
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 |






