Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Розробка програмної моделі та моделювання високоточної компютерної системи

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 21.5.2024

Національний авіаційний університет

Інститут комп’ютерних-інформаційних технологій

Кафедра прикладної інформатики

КУРСОВА РОБОТА

 

з дисципліни “ Моделювання систем ”

Тема: Розробка програмної моделі та моделювання високоточної комп’ютерної системи.

Виконав студент гр. ІКІТ-211

        Касян В.С.

Керівник  Гамаюн В.П.

Київ 2013

1. НАЗВА ТЕМИ ПРОЕКТУ (РОБОТИ). ОБЛАСТЬ ВИКОРИСТАННЯ

Назва теми курсового проекту (роботи): Розробка програмної моделі та моделювання високоточної комп’ютерної системи.

2. ПІДСТАВА ДЛЯ РОЗРОБКИ

2.1. Підставою для розробки служить технічне завдання на курсовий проект (роботу) з дисциплін «Моделювання систем»  згідно навчального плану.

3. МЕТА ПРОЕКТУ (РОБОТИ)

3. Розробка програмної моделі системи з «безпомилковою арифметикою» на підставі спеціального арифметико-алгоритмічного базису.

4. ПОЧАТКОВІ ДАНІ

4.1. Матриця виду:

-74 80 18 -11 -4 -8

14 -69 21 28 0 7

66 -72 -5 7 1 4

-12 66 -30 -23 3 -3

3 8 -7 -4 1 0

4 -12 4 4 0 1

5. ЕТАПИ ПРОЕКТУВАННЯ

5.1. Розробка програмних модулів базових операцій обробки на підставі розрядно-логарифмічного кодування.

5.2. Реалізація варіанту курсової як обчислення зворотніх матриць.

5.3.Порівняльний аналіз виконувати з варіантом виконання традиційними засобами ЕОМ  за методами Гауса та Крамера.

5.4. Оформлення текстових і графічних матеріалів проекту (роботи).

5.5. Захист курсового проекту (роботи).

Підпис і дата

Інв. № дубл.

Зам. Інв. №

Підпис і дата

НАУ 12 1482 004 

Зм.

Арк.

№ докум

Підпис

Дата

Інв. № ор.

Розроб.

Касян В.С.

Літ.

Аркуш

Аркушів

Перев.

Гамаюн В.П.

1

1

ІКІТ -211

6.050101

Н.контр

Затв.

ЗМІСТ

ВСТУП

1. Розрядно-логарифмічна арифметика.

  1.  Алгоритм додавання.
    1.  Алгоритм  віднімання.
    2.  Алгоритм  множення.
    3.  Алгоритм  ділення.
  2.  Код програми.
    1.  Код розрахунку оберненої матриці за методом Крамера.

2.2. Перевірка оберненої матриці за допомогою одиничної.

2.3. Код розрахунку оберненої матриці за методом Крамера у розрядно-логарифмічній формі.

2.4. Перевірка оберненої матриці за допомогою одиничної  у розрядно-логарифмічній формі.

  1.  Бібліотеки для дій з розрядно-логарифмічними діями.
    1.  Додавання/віднімання.
    2.  Множення/ділення.

ВИСНОВКИ

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ

Підпис і дата

Інв. № дубл.

Зам. Інв. №

Підпис і дата

НАУ 12 1482 004 ПЗ

Зм.

Арк.

№ докум

Підпис

Дата

Інв. № ор.

Розроб.

Касян В.С.

Пояснювальна записка

Літ.

Аркуш

Аркушів

Перев.

Гамаюн В.П.

1

17

ІКІТ -211

6.050101

Н.контр

Затв.

ВСТУП

Сучасний стан представлення кодування даних у комп’ютерному середовищі може характеризуватися як невідповідний між теоретичними результатами та їх практичним використанням. Якщо у теоретичному плані отримано цілий ряд дуже ефективних розв’язань, то на практиці застосовується невелика кількість кодів.

Системи числення визначають структури даних, що використовуються у ЕОМ для обробки інформації. Саме різні показники, які визначають ефективність процесу обробки в цілому, складають графічні умови застосування деякої системи числення.

Однією з основних тенденцій розвитку засобів обчислювальної техніки є застосування нетрадиційного кодування – зображення даних. Незважаючи на принципові відмінності між непозиційним та позиційним кодуванням, доведена можливість обєднання  цих систем в таку, якій властиві позитивні ознаки складових. Дослідниками можливостей застосування нетрадиційних кодів для реалізації мультиплікативних операцій, а також загальних вимог до конструктивності кодування даних, було запропоновано оригінальне кодування даних, що отримало назву розрядно-логарифмічне.

1.РОЗРЯДНО-ЛОГАРИФМІЧНА АРИФМЕТИКА

1.1. Алгоритм додавання

Додавання починається з кодів, що мають найменшу вагу. Алгоритм додавання чисел у РЛ представленні в змістовій формі може мати такі етапи:

  1.  Перевірка операндів на рівність нулеві. Якщо один з операндів дорівнює нулеві, то в РЛ структуру результату записується РЛ значення іншого операнда і додавання закінчується (перехід до пункту 6). Якщо обидва операнда дорівнюють нулеві, у РЛ структуру результату записується значення нуля і додавання закінчується (перехід до пункту 6);
  2.  Обєднання РЛ структур операндів у РЛ структуру результату;
  3.  Сортування РЛ структури результату;
  4.  Приведення подібних у РЛ структурі результату;
  5.  Присвоєння знаку першого операнду знакові результату;
  6.  Кінець.

1.2.Алгоритм віднімання

Етапи віднімання:

  1.  Перевірка операндів на рівність нулеві. Якщо один із операндів дорівнює нулеві, то в РЛ структуру  результату записується РЛ значення іншого операнду з відповідним знаком і віднімання закінчується. Якщо обидва операнду дорівнюють нулю, у РЛ структуру результату записується значення нуля і віднімання закінчується;
  2.  Визначення більшого операнду шляхом порівняння операндів;
  3.  Віднімання з більшого операнду меншого;
  4.  Визначення знаку результату;
  5.  Кінець.

1.3.Алгоритм множення

Під час виконання операції множення треба врахувати рівність кожного значення розрядно-логарифмічного коду логарифму від ваги ненульового розряду в операнді.

Процес РЛ множення двох чисел складається з етапів:

  1.  Кожний елемент першого числа складається з кожним елементом другого числа;
  2.  Здійснюється упорядкування елементів добутку;
  3.  Серед елементів добутку виконується приведення подібних.

Алгоритм множення:

  1.  Перевірка операндів на рівність нулеві. Якщо один з операндів дорівнює нулеві, то в РЛ структуру результату записується РЛ значення нуля і множення закінчується;
  2.  Знаходження часткових добутків шляхом додавання кожної цифри множника з кожною цифрою множеного. Часткові добутки поєднуються в РЛ структуру результату;
  3.  Сортування РЛ структури добутку;
  4.  Приведення подібних у РЛ структурі добутку;
  5.  Визначення знака результату;
  6.  Кінець.

1.4.Алгоритм ділення

Ділення у РЛ формі близьке до ділення кутом і виконується з автоматичним визначенням пробної цифри частки як різниці між старшою значущою одиницею РЛ форми діленого або залишку

від ділення і старшою значущою одиницею РЛ форми дільника.

Алгоритм ділення чисел у РЛ представленні в змістовній формі такий:

  1.  Перевірка операндів на рівність нулеві. Якщо ділене дорівнює нулеві, то в РЛ структуру результату записується

РЛ значення нуля і ділення закінчується. Якщо дільник дорівнює нулеві, то видається повідомлення про помилку і ділення закінчується;

  1.  Знаходження першої цифри частки шляхом віднімання старшого розряду дільника від старшого розряду РЛ коду діленого;
  2.  Множення цифри частки на дільник, шляхом додавання її до кожного розряду РЛ коду дільника;
  3.  Порівняння діленого з отриманим добутком. Якщо ділене більше або дорівнює добуткові, то виконуються дії пункту 5. Якщо ділене менше добутку, то поточна цифра частки зменшується на одиницю і виконується перехід до дій пункту 2;
  4.  Віднімання з діленого отриманого добутку;
  5.  Перевірка критерію закінчення ділення відповідно до обраного методу обробки на основі  застосування РЛ представлення. Якщо критерій виконується перехід до пункту 7. Якщо критерій не виконується, то виконується пошук наступної цифри частки шляхом віднімання старшого розряду дільника зі старшого розряду РЛ коду залишку від ділення і перехід до дій з пункту 2;
  6.  Визначення знаку результату;
  7.  Кінець.

.

2.Код програми

2.1. Розрахунок оберненої матриці за методом Крамера

uses crt;

const nmax = 20;

type

matr = array[1..nmax,1..nmax] of real;

function Det(size:integer; var m : matr):real;forward;

function AlgDop(size:integer;m:matr;row,col:integer):real;

var temp : matr;

   i,j:integer;

   begin

for i:=1 to row-1 do

begin

 for j:=1 to col-1 do temp[i,j]:=m[i,j];

 for j:=col+1 to size do temp[i,j-1]:=m[i,j];

end;

for i:=row+1 to size do

begin

 for j:=1 to col-1 do temp[i-1,j]:=m[i,j];

 for j:=col+1 to size do temp[i-1,j-1]:=m[i,j];

end;

if (row+col) mod 2 = 0 then AlgDop := det(size-1,temp)

else AlgDop := -det(size-1,temp);

end;

function Det(size:integer; var m : matr):real;

var i:integer;

   r:real;

begin

if size = 1 then Det:=m[1,1]

else

if size = 2 then Det:=(m[1,1]*m[2,2]-m[1,2]*m[2,1])

else

begin

 r:=0;

 for i:=1 to size do begin

   r := r + m[1,i]*AlgDop(size,m,1,i);

 end;

 Det:=r;

end;

end;

procedure ObrMatr(a:matr;var am:matr;n:integer);

var i,j:integer;

   dt:real;

begin

dt:=det(n,a);

if abs(dt)<1e-15 then begin

 writeln('Malenkiy opredelitel!');

 exit;

end;

for i:=1 to n do begin

 for j:=1 to n do am[i,j]:=AlgDop(n,a,j,i)/dt;

end;

end;

 

procedure print_matr(n:integer;var a:matr);

var i,j:integer;

begin

for i:=1 to n do

begin

 for j:=1 to n do

 write(a[i,j]:7:3,' ');

 writeln;

end;

end;

var a,b,obr:matr;

   i,j,n,k,z,p:integer;s:real;c:array[1..4,1..4] of real;

   pp:array[1..4,1..4] of string;

   rk:string;

begin

clrscr;

write('Vvedite N: ');

readln(n);

writeln('‚ўҐ¤ЁвҐ ',n*n,'elementov matricy:');

for i:=1 to n do

for j:=1 to n do

  begin

   write('a[',i,',',j,']=');

   readln(a[i,j]);

  end;

clrscr;

writeln('Ishodnaya matrica:');

print_matr(n,a);

ObrMatr(a,obr,n);

writeln('Obratnaya matrica:');

print_matr(n,obr);

readkey;

end.

2.2. Перевірка оберненої матриці за допомогою одиничної.

writeln('Proverka');

for i:=1 to n do

for j:=1 to n do

begin

s:=0;

for k:=1 to n do

s:=s+a[i,k]*obr[k,j];

c[i,j]:=s;end;

for i:=1 to n do begin

for j:=1 to n do begin

write(c[i,j]:2:3,' ');end;

writeln;end;

 

Висновок:

У результаті виконання  курсового  проекту було розроблено програмну модель системи з «безпомилковою арифметикою» на підставі спеціального арифметико-алгоритмічного базису.

Були протестовані програмні коди  арифметичних дій у розрядно-логарифмічній формі. На основі створених бібліотек були проведені обрахунки та знаходження оберненої матриці. Шляхом перевірки було доведено, що дані, при обрахунку у розрядно-логарифмічній формі ідентичні простим арифметичним діям.

Отже, розрядно-логарифмічну арифметику можна назвати «безпомилковою арифметикою».

Список використаної літератури

  1.  Моделювання багато розрядних компютерних систем: Навч. Посібник. – К.: Книжкове вид-во НАУ, 2007.-112с.
  2.  Конспект  лекцій з дисципліни «моделювання систем» .

 

 


Змн.

Арк.

№ докум.

Підпис

Дата

Арк.

2

НАУ 12 1482 004 ПЗ

Змн.

рк.

№ докум.

Підпис

Дата

Арк.

3

НАУ 12 1482 004 ПЗ

Змн.

Арк.

№ докум.

Підпис

Дата

Арк.

4

НАУ 12 1482 004 ПЗ

Змн.

Арк.

№ докум.

Підпис

Дата

Арк.

5

НАУ 12 1482 004 ПЗ

Змн.

Арк.

№ докум.

Підпис

Дата

Арк.

6

НАУ 12 1482 004 ПЗ

Змн.

Арк.

№ докум.

Підпис

Дата

Арк.

7

НАУ 12 1482 004 ПЗ

Змн.Змн.

Арк.Арк.

№ докум.№ докум.

ПідписПідпис

ДатаДата

Арк.Арк.

17

НАУ 12 1482 004 ПЗ

Змн.

Арк.

№ докум.

Підпис

Дата

Арк.

НАУ 12 1482 004 ПЗ

Змн.

Арк.

№ докум.

Підпис

Дата

Арк.

НАУ 12 1482 004 ПЗ




1. Стадии проектирования систем автоматизированного проектировани
2. 00.000 ПЗ ЗМІСТ ВСТУП5 1 ПОСТАНОВКА ЗАВДАННЯ7 2 КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ8 2
3. Забайкальский государственный университет ФГБОУ ВПО ЗабГУ Факультет дополнительного профессионал
4. Мировая торговля Внешняя торговля занимает важное место в системе международных экономических отноше
5. Технологии отбора и найма персонала
6. Военная служба и порядок её прохождения
7. Большинство метаболитов витаминов образует коферменты ~ активные центры белковых молекул ферментов
8. энергии Е Экстраверт Extrovertid энергия черпается извне I Интроверт Introvertid эн
9. Бухгалтерский учет хозяйственных процессов
10. Конец месяца 2013 Январь 0 10000 799
11. ом определяющим порядок ведения кассовых операций является Положение о порядке и ведения кассовых операций
12. Западный экономический район В состав СевероЗападного экономического района СЗЭР входят- г
13. реферат дисертації на здобуття наукового ступеня кандидата історичних наук.html
14. Методика построения архитектуры предприятия
15. Облік витрат на оплату праці
16. Тема 1 Программирование линейных алгоритмов [1
17. тематическое описание движения материальных точек
18. Протазанов
19. Статистика Предмет метод и задачи статистики.html
20. тематика Работу выполнила ученица 7 А класса Клейменова Татьяна Руководитель рабо