DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Створення власних класів та об’єктів

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра програмного забезпечення

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

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Об’єктно-орієнтоване програмування
Група:
КН-31
Коротко про документ

Про що ця робота

У лабораторній роботі досліджується створення власних класів та об’єктів мовою програмування. Реалізовано програму для виконання операцій з тривимірними векторами.

У роботі розглядаються

  • Об’єктно-орієнтоване програмування
  • Класи та об'єкти
  • Тривимірні веktори
  • Операції з векторами
  • Програмування на Delphi
  • Скалярний добуток

Зміст і розділи

  1. Мета
  2. Завдання
  3. Код програми
  4. Результат роботи
  5. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Дронюк І.М.

Ключові поняття

класоб'єктскалярний добутокметодмодульінтерфейсреалізаціяпрограмування

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

Міністерство освіти науки молоді та спорту Національний університет «Львівська політехніка» Лабораторна робота № 4 З Основ об’єктно-орієнтованого програмування На тему Створення власних класів та об’єктів Мета: засвоїти основні поняття об’єктно-орієнтованого програмування, навчитися створювати свої об’єкти і будувати програми, засновані на об’єктному підході. Завдання: Описати клас для векторів, що задаються координатами кінців у тривимірному просторі. Забезпечити операції додавання та віднімання векторів з одержанням нового вектора (суми чи різниці), обчислення скалярного добутку двох векторів, довжини вектора, косинуса кута між векторами. Код програми: unit MyVec; interface uses classes, Sysutils, Math; type TVector = class (TObject) private public Fx:Integer; Fy:Integer; Fz:Integer; constructor Create; function AbsVec():Extended; procedure Sum(V1:TVector); procedure Diff(V1:TVector); function Scal(V1:TVector):Int64; function Len(V1:TVector):Extended; function Ang(V1:TVector):Extended; end; implementation constructor TVector.Create; begin Fx:=0; Fy:=0; Fz:=0; end; function TVector.AbsVec():Extended; begin Result:=Sqrt(Fx*Fx+Fy*Fy+Fz*Fz); end; procedure TVector.Sum(V1:TVector); begin Fx:=V1.Fx+Fx; Fy:=V1.Fy+Fy; Fz:=V1.Fz+Fz; end; procedure TVector.Diff(V1:TVector); begin Fx:=Fx-V1.Fx; Fy:=Fy-V1.Fy; Fz:=Fz-V1.Fz; end; function TVector.Scal(V1:TVector):int64; begin Result:=(Fx*V1.Fx+Fy*V1.Fy+Fz*V1.Fz); end; function TVector.Len(V1:TVector):Extended; begin Result:=Sqrt(Sqr(Fx-V1.Fx)+Sqr(Fy-V1.Fy)+Sqr(Fz-V1.fz)); end; function TVector.Ang(V1:TVector):Extended; begin Result:=(Fx*V1.Fx+Fy*V1.Fy+Fz*V1.Fz)/ (Sqrt(Sqr(Fx)+Sqr(Fy)+Sqr(Fz))* Sqrt(Sqr(V1.Fx)+Sqr(V1.Fy)+Sqr(V1.Fz))); end; end. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, MyVec; type TForm1 = class(TForm) lbl1: TLabel; lbl2: TLabel; lbl3: TLabel; edt1: TEdit; edt2: TEdit; lbl4: TLabel; lbl5: TLabel; lbl6: TLabel; edt3: TEdit; edt4: TEdit; lbl7: TLabel; lbl8: TLabel; edt5: TEdit; edt6: TEdit; lbl9: TLabel; edt7: TEdit; btn1: TButton; btn2: TButton; btn3: TButton; btn4: TButton; btn5: TButton; lbl10: TLabel; lbl11: TLabel; lbl12: TLabel; lbl13: TLabel; edt8: TEdit; edt9: TEdit; edt10: TEdit; //procedure FormCreate(Sender: TObject); procedure btn1Click(Sender: TObject); procedure btn2Click(Sender: TObject); procedure btn3Click(Sender: TObject); procedure btn5Click(Sender: TObject); procedure btn4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} { procedure TForm1.btn1Click(Sender: TObject); var V1,V2:TVector; begin V1:= TVector.Create; V2:= TVector.Create; V1.Fx:=StrToInt(edt1.Text); V1.Fy:=StrToInt(edt2.Text); V1.Fz:=StrToInt(edt5.Text); V2.Fx:=StrToInt(edt3.Text); V2.Fy:=StrToInt(edt4.Text); V2.Fz:=StrToInt(edt6.Text); edt7.Text:=IntToStr(0); V1.Sum(V2); edt8.Text:=IntToStr(V1.Fx); edt9.Text:=IntToStr(V1.Fy); edt10.Text:=IntToStr(V1.Fz); end; procedure TForm1.btn2Click(Sender: TObject); var V1,V2:TVector; begin V1:= TVector.Create; V2:= TVector.Create; V1.Fx:=StrToInt(edt1.Text); V1.Fy:=StrToInt(edt2.Text); V1.Fz:=StrToInt(edt5.Text); V2.Fx:=StrToInt(edt3.Text); V2.Fy:=StrToInt(edt4.Text); V2.Fz:=StrToInt(edt6.Text); edt7.Text:=IntToStr(0); V1.Diff(V2); edt8.Text:=IntToStr(V1.Fx); edt9.Text:=IntToStr(V1.Fy); edt10.Text:=IntToStr(V1.Fz); end; procedure TForm1.btn3Click(Sender: TObject); var V1,V2:TVector; begin V1:= TVector.Create; V2:= TVector.Create; V1.Fx:=StrToInt(edt1.Text); V1.Fy:=StrToInt(edt2.Text); V1.Fz:=StrToInt(edt5.Text); V2.Fx:=StrToInt(edt3.Text); V2.Fy:=StrToInt(edt4.Text); V2.Fz:=StrToInt(edt6.Text); edt8.Text:=IntToStr(0); edt9.Text:=IntToStr(0); edt10.Text:=IntToStr(0); edt7.Text:=IntToStr(V1.Scal(V2)); end; procedure TForm1.btn5Click(Sender: TObject); var V1,V2:TVector; begin V1:= TVector.Create; V2:= TVector.Create; V1.Fx:=StrToInt(edt1.Text); V1.Fy:=StrToInt(edt2.Text); V1.Fz:=StrToInt(edt5.Text); V2.Fx:=StrToInt(edt3.Text); V2.Fy:=StrToInt(edt4.Text); V2.Fz:=StrToInt(edt6.Text); edt8.Text:=IntToStr(0); edt9.Text:=IntToStr(0); edt10.Text:=IntToStr(0); edt7.Text:=FloatToStr(V1.Ang(V2)); end; procedure TForm1.btn4Click(Sender: TObject); var V1,V2:TVector; begin V1:= TVector.Create; V2:= TVector.Create; V1.Fx:=StrToInt(edt1.Text); V1.Fy:=StrToInt(edt2.Text); V1.Fz:=StrToInt(edt5.Text); V2.Fx:=StrToInt(edt3.Text); V2.Fy:=StrToInt(edt4.Text); V2.Fz:=StrToInt(edt6.Text); edt8.Text:=IntToStr(0); edt9.Text:=IntToStr(0); edt10.Text:=IntToStr(0); edt7.Text:=FloatToStr(V1.Len(V2)); end; end. Результат Роботи:  Висновок: На даній лабораторній роботі я освоїв роботу з класами, та написав програму яка демонструє роботу з трьохвимірними векторами.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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