Структури алгоритмів

Інформація про навчальний заклад

ВУЗ:
Тернопільський національний економічний університет
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Лабораторна робота
Предмет:
Теорія алгоритмів

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Тернопільський національний технічний університет імені Івана Пулюя Кафедра комп’ютерних наук ЛАБОРАТОРНА РОБОТА №2 з дисципліни “Теорія алгоритмів” Тема роботи: Структури алгоритмів. Тернопіль – 2010 Лабораторна робота №2 Тема роботи: Структури алгоритмів. Мета роботи: Вивчення основних елементів структури обчислювальних алгоритмів. Теоретичні відомості Часто в інженерній практиці виникає необхідність порівняння технічних об(єктів. У цих випадках опис технічного об(єкта необхідно звести до таких математичних об(єктів як числа, вектори, матриці або функції. У цьому випадку порівнюютбся вже не самі об`єкти, а іх математичні представлення. У таких випадках характерисртикою об(єктів є поняття норми, а самі об(єкти розглядають у відповідних метричних просторах, наприклад . Нормою в  називається дійснозначна функція (позначають  -норма Х), яка задовільняє такі умови:  для будь-якого , причому  тільки якщо ;  для кожного  і ;  для кожного ; Найбільш поширені слідуючі норми: для дійсних чисел: модуль числа ; для комплексних чисел: модуль комплексного числа  для векторів : - норма (норма Чебишева) ; - норма (Евклідова норма) ; - норма ; для матриць: норма Фробеніуса ; l1- норма , де  - j-ий стовбець матриці X для функцій: , де T – интервал задання функції X(t). Порівняння норм здійснюється так само як порівняння дійсних чисел. В деяких випадках виникає необхідність   391 299  Знаходження спільної міри кількох об`єктів. У   299 1  цьому випадку поріввнюються значення  299 92   норми, а для знаходження найбільшого  276 3   спільного дільника (НСД) використовується 92 23    алгоритм Евкліда. Приклад знаходження НСД 92 4    за алгоритмом Евкліда представлено на рис.1. У цьому прикладі шукають НСД чисел 0     391 і 299. Значення НСД буде рівне останньому дільнику, після ділення на який остача рівна 0, тобто НСД рівне 23. Рис.1   Для знаходження НСД трьох і більше чисел спочатку знаходять НСД будь-яких двох чисел а потім – знайденого НСД і одного з чисел що залишилися. Завдання до лабораторної роботи. Згідно заданого варіанту завдань написати програму на мові ПАСКАЛЬ або С++ і реалізувати її на ЕОМ. Представити результати роботи програми. Оформити звіт по виконаній роботі. 7 Знайти спільну міру відстані між точками А1(345,921), А2(7209,2923) i B1(-987,352), B2(2685,1423).   Текст програми unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; Button4: TButton; Edit1: TEdit; Label1: TLabel; procedure Button1Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; i,k:real; x,y:integer; kil:integer; L:array [1..2,1..4] of real; d:array [1..2,1..4] of real; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin form1.Memo1.Visible:=true; form1.Button4.Enabled:=true; form1.Memo1.Lines.text:='ÌÀÑÈ I:'; begin L[1,1]:=345; L[1,2]:=921; L[1,3]:=7209; L[1,4]:=2923; d[2,1]:=-987; d[2,2]:=352; d[2,3]:=2685; d[2,4]:=1423; k:=sqrt((L[1,1]*L[1,1])+(L[1,2]*L[1,2])+(L[1,3]*L[1,3])+(L[1,4]*L[1,4])); i:=sqrt((d[2,1]*d[2,1])+(d[2,2]*d[2,2])+(d[2,3]*d[2,3])+(d[2,4]*d[2,4])); y:=round(k); x:=round(i); form1.Memo1.Lines.Add('1: ' +floattostr(L[1,1])); form1.Memo1.Lines.Add('2: ' +floattostr(L[1,2])); form1.Memo1.Lines.Add('3: ' +floattostr(L[1,3])); form1.Memo1.Lines.Add('4: ' +floattostr(L[1,4])); form1.Memo1.Lines.Add(' '); form1.Memo1.Lines.Add('Åâêë³äîâà íîðìà: ' +floattostr(y)); form1.Memo1.Lines.Add(' '); form1.Memo1.Lines.Add(' '); form1.Memo1.Lines.add('ÌÀÑÈ II:'); form1.Memo1.Lines.Add('1: ' +floattostr(d[2,1])); form1.Memo1.Lines.Add('2: ' +floattostr(d[2,2])); form1.Memo1.Lines.Add('3: ' +floattostr(d[2,3])); form1.Memo1.Lines.Add('4: ' +floattostr(d[2,4])); form1.Memo1.Lines.Add(' '); form1.Memo1.Lines.Add('Åâêë³äîâà íîðìà: ' +floattostr(x)); end; end; procedure TForm1.Button4Click(Sender: TObject); begin while (x<>0) and (y<>0) do begin if (x>=y) then x:= x mod y else begin y:=y mod x; end; kil:=y+x; end; form1.Edit1.Text:=floattostr(kil); end; end. Результати роботи   Висновок: на цій лабораторній роботі я вивчив основні елементи структури обчислювальних алгоритмів.
Антиботан аватар за замовчуванням

07.02.2013 19:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!