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

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

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Національний авіаційний університет
Інститут компютерних-інформаційних технологій
Кафедра прикладної інформатики
КУРСОВА РОБОТА
з дисципліни “ Моделювання систем ”
Тема: Розробка програмної моделі та моделювання високоточної компютерної системи.
Виконав студент гр. ІКІТ-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. Розрядно-логарифмічна арифметика.
2.2. Перевірка оберненої матриці за допомогою одиничної. 2.3. Код розрахунку оберненої матриці за методом Крамера у розрядно-логарифмічній формі. 2.4. Перевірка оберненої матриці за допомогою одиничної у розрядно-логарифмічній формі.
ВИСНОВКИ СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ |
|||||||||||
Підпис і дата |
|||||||||||
Інв. № дубл. |
|||||||||||
Зам. Інв. № |
|||||||||||
Підпис і дата |
|||||||||||
НАУ 12 1482 004 ПЗ |
|||||||||||
Зм. |
Арк. |
№ докум |
Підпис |
Дата |
|||||||
Інв. № ор. |
Розроб. |
Касян В.С. |
Пояснювальна записка |
Літ. |
Аркуш |
Аркушів |
|||||
Перев. |
Гамаюн В.П. |
1 |
17 |
||||||||
ІКІТ -211 6.050101 |
|||||||||||
Н.контр |
|||||||||||
Затв. |
ВСТУП
Сучасний стан представлення кодування даних у компютерному середовищі може характеризуватися як невідповідний між теоретичними результатами та їх практичним використанням. Якщо у теоретичному плані отримано цілий ряд дуже ефективних розвязань, то на практиці застосовується невелика кількість кодів.
Системи числення визначають структури даних, що використовуються у ЕОМ для обробки інформації. Саме різні показники, які визначають ефективність процесу обробки в цілому, складають графічні умови застосування деякої системи числення.
Однією з основних тенденцій розвитку засобів обчислювальної техніки є застосування нетрадиційного кодування зображення даних. Незважаючи на принципові відмінності між непозиційним та позиційним кодуванням, доведена можливість обєднання цих систем в таку, якій властиві позитивні ознаки складових. Дослідниками можливостей застосування нетрадиційних кодів для реалізації мультиплікативних операцій, а також загальних вимог до конструктивності кодування даних, було запропоновано оригінальне кодування даних, що отримало назву розрядно-логарифмічне.
1.РОЗРЯДНО-ЛОГАРИФМІЧНА АРИФМЕТИКА
1.1. Алгоритм додавання
Додавання починається з кодів, що мають найменшу вагу. Алгоритм додавання чисел у РЛ представленні в змістовій формі може мати такі етапи:
1.2.Алгоритм віднімання
Етапи віднімання:
1.3.Алгоритм множення
Під час виконання операції множення треба врахувати рівність кожного значення розрядно-логарифмічного коду логарифму від ваги ненульового розряду в операнді.
Процес РЛ множення двох чисел складається з етапів:
Алгоритм множення:
1.4.Алгоритм ділення
Ділення у РЛ формі близьке до ділення кутом і виконується з автоматичним визначенням пробної цифри частки як різниці між старшою значущою одиницею РЛ форми діленого або залишку
від ділення і старшою значущою одиницею РЛ форми дільника.
Алгоритм ділення чисел у РЛ представленні в змістовній формі такий:
РЛ значення нуля і ділення закінчується. Якщо дільник дорівнює нулеві, то видається повідомлення про помилку і ділення закінчується;
.
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;
Висновок:
У результаті виконання курсового проекту було розроблено програмну модель системи з «безпомилковою арифметикою» на підставі спеціального арифметико-алгоритмічного базису.
Були протестовані програмні коди арифметичних дій у розрядно-логарифмічній формі. На основі створених бібліотек були проведені обрахунки та знаходження оберненої матриці. Шляхом перевірки було доведено, що дані, при обрахунку у розрядно-логарифмічній формі ідентичні простим арифметичним діям.
Отже, розрядно-логарифмічну арифметику можна назвати «безпомилковою арифметикою».
Список використаної літератури
Змн.
Арк.
№ докум.
Підпис
Дата
Арк.
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 ПЗ