49422 (Цифровые автоматы), страница 5

2016-07-30СтудИзба

Описание файла

Документ из архива "Цифровые автоматы", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49422"

Текст 5 страницы из документа "49422"

KA = A mod P KB = B mod P

KA+B = (A + B) mod P = (KA + KB) mod P

KA*B = (A * B) mod P = (KA * KB) mod P

Например, найдем контрольный код чисел A, B и контрольный код арифметических операций над ними, получим:

A

B

A + B

A – B

A * B

Арифметические операции над числами

89

57

146

33

5073

Значение чисел

8

3

2

6

6

Контроль по модулю 9

Проверка выполненных операций:

K

– ошибка, значит эта операция

выполненна не верно;

A+B = (8 + 3) mod 9 = 2 – нет ошибки;

KAB = (8 – 3) mod 9 = 5

KA*B = (8 * 3) mod 9 = 6 – нет ошибки.

Задание. Определить контрольные коды чисел A и C по модулю P, а также контрольные коды суммы A + C и разности A – C.

КА = 307 mod 9 = 1;

KC = 91 mod 9 = 1;

KA+C = (307+91) mod 9 = 398 mod 9 = 2; проверка:

KA+C = (1 + 1) mod 9 = 2 mod 9 = 2 – нет ошибки.

KAC = (307–91) mod 9 = 216 mod 9 = 0; проверка:

KAC = (1 – 1) mod 9 = 0 mod 9 = 0 – нет ошибки.

Цифровой метод контроля

Контроль выполнения арифметических операций: сложение, вычитание, умножение выполняется по темже формулам, только при цифровом методе контроля, контрольный код числа образуется делением суммы цифр числа на выбранный модуль.

Задание. Определить контрольные коды чисел A и C по модулю P, а также контрольные коды суммы A + C и разности A – C.

КА = (3+0+7) mod 9 = 1;

KC = (9+1) mod 9 = 1;

KA+C = (3+0+7+9+1) mod 9 = 20 mod 9 = 2; проверка:

KA+C = (1 + 1) mod 9 = 2 mod 9 = 2 – нет ошибки.

KAC = (3+0+7–9–1) mod 9 = 0 mod 9 = 0; проверка:

KAC = (1 – 1) mod 9 = 0 mod 9 = 0 – нет ошибки.

Глава 3. Построение алгоритма реализации численного метода «быстрой сортировки»

3.1 Математическое описание метода

Алгоритм сортировки К. Хоора называют сортировкой с разделением или «быстрой сортировкой». В основу алгоритма положен метод последовательного дробления массива на части.

Алгоритм «быстрой сортировки» можно проанализировать на примере. Пусть дан массив M[i] = (9, 11, 12, 3, 19, 1, 5, 17, 10, 18, 3, 19, 17, 9, 12, 20, 20, 19, 2, 5). После первого вызова процедуры QuickS в исходном массиве будет определена его середина (10-й элемент) и переменной X присвоено значение m[10], т.е. 18. После этого массив делится на две части. Далее выполняется обмен элементами по следующему правилу:

При просмотре левой части массива слева направо выполныется поиск такого элемента массива, что M[i]>X, затем при просмотре правой части справа налево отыскивается такой элемент, что M[i]X, не будут обменены с элементами, рассположенными справа от середины и удовлетворяющими условию M[i]

9, 11, 12, 3, 19, 1, 5, 17, 10, 18, 3, 19, 17, 9, 12, 20, 20, 19, 2, 5 Число итераций =1

19, 20, 12, 3, 19, 1, 5, 17, 10, 18, 3, 19, 17, 9, 12, 20, 11, 9, 2, 5 Число итераций =2

19, 20, 20, 3, 19, 1, 5, 17, 10, 18, 3, 19, 17, 9, 12, 12, 11, 9, 2, 5 Число итераций =3

19, 20, 20, 19, 19, 1, 5, 17, 10, 18, 3, 3, 17, 9, 12, 12, 11, 9, 2, 5 Число итераций =4

19, 20, 20, 19, 19, 18, 5, 17, 10, 1, 3, 3, 17, 9, 12, 12, 11, 9, 2, 5 Число итераций =5

Далее левая часть в свою очередь дробится на две части, и вызывается процедура для сортировки левой части (с 1-го по 6-й элемент)

20, 20, 19, 19, 19, 18, 5, 17, 10, 1, 3, 3, 17, 9, 12, 12, 11, 9, 2, 5 Число итераций =6

20, 20, 19, 19, 19, 18, 5, 17, 10, 1, 3, 3, 17, 9, 12, 12, 11, 9, 2, 5 Число итераций =7

После того как левая часть массива отсортирована, опять рекурсивно вызывается процедура, в которой определяется середина данной части массива, и выполняется обмен элементов. Массив становится таким:

20, 20, 19, 19, 19, 18, 5, 17, 10, 1, 3, 3, 17, 9, 12, 12, 11, 9, 2, 5 Число итераций =8

20, 20, 19, 19, 19, 18, 5, 17, 10, 1, 3, 3, 17, 9, 12, 12, 11, 9, 2, 5 Число итераций =9

Далее опять рекурсивно вызывается процедура для сортировки, пока в каждой из частей останется по одному элементу.

Затем рекурсивно вызывается процедура для аналогичной сортировки правой части (с 7-го по 13-й элемент). Результат последовательных этапов сортировки массива отображается так:

20, 20, 19, 19, 19, 18, 5, 17, 10, 1, 3, 3, 17, 9, 12, 12, 11, 9, 2, 5 Число итераций =10

20, 20, 19, 19, 19, 18, 17, 17, 10, 1, 3, 3, 5, 9, 12, 12, 11, 9, 2, 5 Число итераций =11

20, 20, 19, 19, 19, 18, 17, 17, 10, 1, 3, 3, 5, 9, 12, 12, 11, 9, 2, 5 Число итераций =12

20, 20, 19, 19, 19, 18, 17, 17, 10, 9, 3, 3, 5, 9, 12, 12, 11, 1, 2, 5 Число итераций =13

20, 20, 19, 19, 19, 18, 17, 17, 10, 9, 11, 3, 5, 9, 12, 12, 3, 1, 2, 5 Число итераций =14

20, 20, 19, 19, 19, 18, 17, 17, 10, 9, 11, 12, 5, 9, 12, 3, 3, 1, 2, 5 Число итераций =15

20, 20, 19, 19, 19, 18, 17, 17, 10, 9, 11, 12, 12, 9, 5, 3, 3, 1, 2, 5 Число итераций =16

20, 20, 19, 19, 19, 18, 17, 17, 10, 9, 11, 12, 12, 9, 5, 3, 3, 1, 2, 5 Число итераций =17

20, 20, 19, 19, 19, 18, 17, 17, 12, 9, 11, 12, 10, 9, 5, 3, 3, 1, 2, 5 Число итераций =18

20, 20, 19, 19, 19, 18, 17, 17, 12, 12, 11, 9, 10, 9, 5, 3, 3, 1, 2, 5 Число итераций =19

20, 20, 19, 19, 19, 18, 17, 17, 12, 12, 11, 9, 10, 9, 5, 3, 3, 1, 2, 5 Число итераций =20

20, 20, 19, 19, 19, 18, 17, 17, 12, 12, 11, 9, 10, 9, 5, 3, 3, 1, 2, 5 Число итераций =21

20, 20, 19, 19, 19, 18, 17, 17, 12, 12, 11, 10, 9, 9, 5, 3, 3, 1, 2, 5 Число итераций =22

20, 20, 19, 19, 19, 18, 17, 17, 12, 12, 11, 10, 9, 9, 5, 5, 3, 1, 2, 3 Число итераций =23

20, 20, 19, 19, 19, 18, 17, 17, 12, 12, 11, 10, 9, 9, 5, 5, 3, 1, 2, 3 Число итераций =24

20, 20, 19, 19, 19, 18, 17, 17, 12, 12, 11, 10, 9, 9, 5, 5, 3, 1, 2, 3 Число итераций =25

20, 20, 19, 19, 19, 18, 17, 17, 12, 12, 11, 10, 9, 9, 5, 5, 3, 3, 2, 1 Число итераций =26

Как видно из примера, данный массив будет отсортирован за 26 итераций методом «быстрой сортировки». Тот же массив отсортированный линейным методом, будет отсортирован за 190 итераций, пузырьковым методом за 170 итераций. Как видно из приведенных примеров, алгоритм «быстрой сортировки» дает более лучшие результаты.

3.2 Таблица используемых переменных

Имя переменной

Тип переменной

Описание переменной

M[i]

Целый / Вещественный

Сортируемый массив чисел

i

j

Целый

Используются в цикле при обращении к элементу массива

X

Целый / Вещественный

Значение элемента в середине массива

First

Last

Целый

Границы сортируемого массива

tmp

Целый / Вещественный

Временное хранение значения элемента массива при обмене

Примечание: так как процедура сортировки массива – рекурсия, то переменные i, j, X – должны быть локальными.

Заключение

В процессе выполнения курсовой работы, я узнал как представляются данные в ЦА, научился переводить числа из одной системы счисления в другую, научился представлять числа в машинном коде и выполнять над ними арифметические и логические операции. При изучении метода контроля работы ЦА, я научился строить код Хемминга, а также выявлять ошибки в данных, закодированных кодом Хемминга. При изучении реализации алгоритма численного метода «быстрой сортировки», я увидел преимущество данного метода в отличии от других методов сортировки.

Таким образом, при выполнении курсовой работы, я получил новые знания и навыки для своей профессиональной деятельности.

Список используемых источников

  1. Понаморев В.С., Красников В.В. Методические указания по курсу «Организация и функционирование ЭВМ и систем». Ч.1. Арифметические основы ЭВМ. ДГТУ, 1996.

  2. Интернет-ресурс «Системы счисления: двоичная, восьмиричная, шестнадцатиричная»

http://www.pascalstudy.narod.ru/tems/pas_5.html

  1. Коштоев В.В., Кипиани К.К. Учебное пособие «Основы прикладной теории цифровых автоматов» Тбилиси, 1998.

  2. Интернет-ресурс «Теоретические основы информатики. Коды Хемминга»

http://de.uspu.ru/Informatics/Metodes/DPP/F/08/1/glavs/5/564.htm

  1. Интернет-ресурс «Контроль по модулю арифметических операций в десятичной и двоичной СС»

http://distance-onu.by.ru/metod/11.htm

  1. Интернет-ресурс «Глава 3. Выражения и Операции. Побитовые Операции Сдвига»

http://pyramidin.narod.ru/jscript/coreguide15/expr.html

  1. Turbo Pascal для школьников: Учеб. пособие.– 3-е доп.изд.– М.: Финансы и статистика, 2002.–528 с.

Приложение 1. Блок-схема алгоритма

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4098
Авторов
на СтудИзбе
673
Средний доход
с одного платного файла
Обучение Подробнее