Лабараторная 1

  • 17 сент. 2011 г.
  • 533 Слова
Министерство образования и науки Украины
Национальный аэрокосмический университет
им. Н.Е. Жуковского

Кафедра 503

Лабораторная работа № 1
по курсу
«Архитектура ЭВМ»
Тема:«Программирование линейных программ в МП Intel х86»

Вариант № 19

| | |Выполнил: |ст. гр. 525у |
|| | |
| | |Проверил:|ст. преподаватель |
| | | |Дужий В.И. |Харьков 2011

1. Задание. Дано выражение:
|2*(a*b+a*c+b*c)=(a+b+c)2-a2-b2-c2 |

Найти переменные a, b, c по формулам: a=a/n+2, b=b/n+3,c=n+4.
Написать линейный алгоритм вычисления значения левой и правой частей арифметического выражения и реализовать его в виде программы на С и на ассемблере. В процессе вычислений программадолжна контролировать возможное переполнение.
2. Исходные данные.
a, b, c – переменные, длинные целые знаковые числа.
2 – константа, длинное целое знаковое.
3. Требуемый результат.Left, Right – переменные, длинные целые знаковые числа для фрагмента на С.
Left_asm, Right_asm – переменные, длинные целые знаковые числа для фрагмента на ассемблере.
4.Алгоритм решения задачи на псевдокоде.
Ввести исходные переменные;
Вычислить левую часть тождества на С;
Left_c = 2*(a*b+a*c+b*c);
Вычислить правую часть тождества на С;Right_c = (a+b+c)2-a2-b2-c2;
// Сбросить признак ошибки err;
err = 0;
// Находим переменные a, b, c по формулам:
a1=a/n+2,...
tracking img