0 / 0 / 0
Регистрация: 11.09.2010
Сообщений: 19
|
|
1 | |
найти коэффициенты коллинеарности23.11.2010, 17:27. Показов 920. Ответов 0
Метки нет (Все метки)
Помогите пожалуйста написать проект(часть его есть осталось доделать) к модулю,где программа будет выводить два вектора, они будут проверяться на коллинеарность .Вслучае, когда колинеарны находятся коэффициенты колинеарности , когда не коллинеарны, выводятся ортогональные .
Вот файл модуля. interface uses SysUtils; type TVectorObj=class private FName:string; FX,FY:integer; public constructor Create(AName:string; AX,AY:integer); constructor InputVector(AName:string); constructor InputVectorRnd(AName:string; A,B:integer); function ToString:string; procedure Mult(C:integer;A:TVectorObj); procedure Sum(AVector,BVector:TVectorObj); procedure Diff(AVector,BVector:TVectorObj); function Scalar(A:TVectorObj):integer; function Abs:integer; function Angle(A:TVectorObj):real; function Colinear(A:TVectorObj):boolean; property Name:string read FName write FName; property X:integer read FX write FX; property Y:integer read FY write FY; end; implementation constructor TVectorObj.Create(AName: string; AX,AY: integer); begin FName:=AName; FX:=AX; FY:=AY; end; function input(s:string):integer; begin Write('Введите '+s+' '); read(result); end; constructor TVectorObj.InputVector(AName: string); begin FX:=Input('абсциссу вектора '+AName+':'); FY:=Input('ординату вектора '+AName+':'); end; procedure TVectorObj.Mult(C:integer; A:TVectorObj); begin self.FX:=C*A.FX; self.FY:=C*A.FY; end; function TVectorObj.Scalar(A:TVectorObj):integer; begin result:= self.X*A.X+self.Y*A.Y; end; function TVectorObj.Abs:integer; begin Result:=round(sqrt(self.Scalar(self))); end; function TVectorObj.Angle(A:TVectorObj):real; begin Result:= self.Scalar(A)/(self.Abs*A.Abs); end; function TVectorObj.Colinear(A:TVectorObj):boolean; begin Result:=self.X*A.Y=self.Y*A.X; end; constructor TVectorObj.InputVectorRnd(AName: string; A, B: integer); begin FX:=random(B-A+1)-B; FY:=random(B-A+1)-B; end; procedure TVectorObj.Sum(AVector, BVector: TVectorObj); begin self.FX:=AVector.FX+BVector.FX; self.FY:=AVector.FY+BVector.FY; end; procedure TVectorObj.Diff(AVector, BVector: TVectorObj); begin self.FX:=AVector.FX-BVector.FX; self.FY:=AVector.FY-BVector.FY; end; function TVectorObj.ToString: string; begin result:=FName+'('+InttoStr(FX)+','+InttoStr(FY)+')'; end; end. вот часть проекта!!! program Project2; {$APPTYPE CONSOLE} uses SysUtils, vectorsobj in 'X:\homes\zhd\public\points\vectorsobj.pas'; var A,B: TVectorObj; s:integer; begin A:=TVectorObj.InputVector('Vect1'); B:=TVectorObj.InputVector('Vect2'); if A.Colinear(B) then writeln('вектора коллинеарны') else writeln('вектора не коллинеарны'); readln (s); end.
0
|
23.11.2010, 17:27 | |
Ответы с готовыми решениями:
0
Функция: проверка коллинеарности векторов Переписать коэффициенты прямых, параллельных первой прямой (коэффициенты заданы в типизированном файле) Найти коэффициенты многочлена |
23.11.2010, 17:27 | |
23.11.2010, 17:27 | |
Помогаю со студенческими работами здесь
1
Найти коэффициенты в уравнении Найти коэффициенты Am+Bn=НОД(m,n) Найти коэффициенты полинома Найти коэффициенты в разложении Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |