Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Анализ алгоритма заданной операции



Алгоритм операции:

1. Начало.

2. Слову П(1) присвоить значение «0».

3. Изменить знак вычитаемого на противоположный.

4. Образовать обратные коды слов А и В.

5. Слову С(0:16) присвоить значение суммы слов А и В.

6. Значение разряда С(0) равно 1?

ДА: к значению слова С(1:16) прибавить «1» и перейти к п. 7,

НЕТ: перейти к п. 7.

7. Знаковые разряды слов В и А равны?

ДА: перейти к п. 8,

НЕТ: перейти к п. 9.

8. Знаковые разряды слов С и А равны?

    ДА: перейти к п. 9,

    НЕТ: перейти к п. 10.

9. Образовать прямой код результата и перейти к п. 11.

10. Слову П(1) присвоить значение «1» и перейти к п. 11.

11. Конец.

Для проектирования ОУ, необходимо было удостовериться в правильности алгоритма, для этого была осуществлена проверка (смотри таблицу 1).

 

Таблица 1. Проверка алгоритма

 

Пункт Действие и результат Переход Комментарии

1. A (1:5) = 0.0101 = 5 ;

 B (1:5) = 0.0011 = 3  

Случай без переполнения; знаки операндов А и В положительные
2 П (1) = 0 3 Слову П(1) присвоить значение «0»
3 В (1) = ù В (1) 4 Изменить знак вычитаемого на противоположный
4 A (1:5) = 0.0101 B (1:5) = 1.1100 5 Образовать обратные коды слов А и В
5 С (1:5) = A (1:5) + B (1:5) A (1:5) = 0.0101 B (1:5) = 1 . 1100             C (1:5) = 10.0001 6 Слову С присвоить значение суммы слов А и В
6 С(0) = 1 С(1:5) = С(1:5) + 1             С(1:5) = 0.0001                 1 С(1:5)=0.0010 7 Проверка разряда С(0)
7 А (0) = 0; В (1) = 1 А (0)  В (1) = 1 9 Проверка на совпадение знаковых разрядов слов А и В
9 С (1:5) = 0.0010 = 2 11 Образовать прямой код результата

Продолжение Таблицы 1

11 Конец    

2. А (1:5) = 1.0101 = -5 ;

 B (1:5) = 1.0011 = -3

Случай без переполнения; знаки операндов А и В отрицательные
2 П(1) = 0 3 Слову П(1) присвоить значение «0»
3 В (1) =ù  В (1) 4 Изменить знак вычитаемого на противоположный
4 А (1:5) = 1.1010 В (1:5) = 0.0011 5 Образовать обратные коды слов А и В
5 С (1:5) = A (1:5) + B (1:5) A (1:5) = 1.1010 B (1:5) = 0.0011              C (1:5) = 1.1101 6 Слову С присвоить значение суммы слов А и В
6 С(0)=0 7 Проверка разряда С(0)
7 А (1) = 1; В (0) = 0 А (1)  В (0) = 1 9 Проверка на совпадение знаковых разрядов слов А и В
9 С (1:5) = 1.0010 = -2 11 Образовать прямой код результата
11 Конец    

3. A (1:5) = 0.0101 = 5 ;

B (1:5) = 1.0011 = -3

Случай без переполнения; знак операнда А положительный, а В отрицательный
2 П (1) = 0 3 Слову П(1) присвоить значение «0»
3 В (1) = ù В (1) 4 Изменить знак вычитаемого на противоположный
4 А (1:5) = 0.0101 В (1:5) = 0.0011     5 Образовать обратные коды слов А и В
5 С (1:5) = A (1:5) + B (1:5) A (1:5) = 0.0101 B (1:5) = 0.0011              C (1:5) = 0.1000 6 Слову С присвоить значение суммы слов А и В
6 С(0) = 0 7 Проверка разряда С(0)
7 А (1) = 0; В (1) = 0 А (1)  В (1) = 0 8 Проверка на совпадение знаковых разрядов слов А и В
8 С (1) = 0; A (1) = 0 С (1)  А (1) = 0 9 Проверка на совпадение знаковых разрядов слов А и С
9 С (1:5) = 0.1000 = 8 11 Образовать прямой код результата
11 Конец    

Продолжение Таблицы 1

4. А (1:5) = 1.0101 = -5 ;

 В (1:5) = 0.0011 = 3

Случай без переполнения; знак операнда А отрицательный, а В положительный
2 П (1) = 0 3 Слову П(1) присвоить значение «0»
3 В (1) = ù В (1) 4 Изменить знак вычитаемого на противоположный
4 А (1:5) = 1.1010 В (1:5) = 1.1100 5 Образовать обратные коды слов А и В
5 С (1:5) = A (1:5) + B (1:5) A (1:5) = 1.1010 B (1:5) = 1.1100            C (1:5) = 11.0110 6 Слову С присвоить значение суммы слов А и В
6 С(0) = 1 С(1:5) = С(1:5)+1             С(1:5) = 1.0111                 1 С(1:5)=0.0111 7 Проверка разряда С(0)
7 А (1) = 1; В (1) = 1 А (1)  В (1) = 0 8 Проверка на совпадение знаковых разрядов слов А и В
8 С (1) = 1; A (1) = 1 С (1)  А (1) = 0 9 Проверка на совпадение знаковых разрядов слов А и С
9 С (1:5) = 1.1000 = -8 11 Образовать прямой код результата
11 Конец    

5. A (1:5) = 1.1011 = -11 ;

B (1:5) = 0.0111 = 7

Случай с отрицательным переполнением; знак операнда А отрицательный, а В положительный
2 П (1) = 0 3 Слову П(1) присвоить значение «0»
3 В (1) = ù В (1) 4 Изменить знак вычитаемого на противоположный
4 А (1:5) = 1.0100 В (1:5) = 1.1000 5 Образовать обратные коды слов А и В
5 С (1:5) = A (1:5) + B (1:5) A (1:5) = 1.0100 B (1:5) = 1.1000            C (1:5) = 10.1100 6 Слову С присвоить значение суммы слов А и В
6 С(0) = 1 С(1:5) = С(1:5)+1              С(1:5) = 0.1100                 1 С(1:5)=0.1101 7 Проверка разряда С(0)
7 А (1) = 1; В (1) = 1 А (1)  В (1) = 0 8 Проверка на совпадение знаковых разрядов слов А и В

Продолжение Таблицы 1

8 С (1) = 0; A (1) = 1 С (1)  А (1) = 1 10 Проверка на совпадение знаковых разрядов слов А и С
10 П(1) = 1 11 Слову П(1) присвоить значение «1»
11 Конец    

6. А (1:5) = 0.1011 = 11 ;

В (1:5) = 1.0111 = -7

Случай с положительным переполнением; знак операнда А положительный, а В отрицательный
2 П (1) = 0 3 Слову П(1) присвоить значение «0»
3 В (1) = ù В (1) 4 Изменить знак вычитаемого на противоположный
4 А (1:5) = 0.1011 В (1:5) = 0. 0111 5 Образовать обратные коды слов А и В
5 С (1:5) = A (1:5) + B (1:5) A (1:5) = 0.1011 B (1:5) = 0.0111 C (1:5) = 1.0010 6 Слову С присвоить значение суммы слов А и В
6 С(0) = 0 7 Проверка разряда С(0)
7 А (1) = 0; В (1) = 0 А (1)  В (1) = 0 8 Проверка на совпадение знаковых разрядов слов А и В
8 С (1) = 1; A (1) = 0 С (1)  А (1) = 1 10 Проверка на совпадение знаковых разрядов слов А и С
10 П(1) = 1 11 Слову П(1) присвоить значение «1»
11 Конец    

 

Результаты сверены для всех случаев, алгоритм работает верно.

 


Поделиться:



Последнее изменение этой страницы: 2019-04-10; Просмотров: 190; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.011 с.)
Главная | Случайная страница | Обратная связь