|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Класс комплексных чисел Реализовать класс комплексных чисел. Обеспечить операции(методы): а) - создание комплексного числа из данных таблицы; - вывод комплексного числа в таблицу; - сложение, вычитание, умножение и деление комплексных чисел; - умножение и деление комплексного числа на действительное число; б) - вычисление модуля и аргумента комплексного числа; - возведение комплексного числа в целую степень. 1. Класс располагается в модуле содержательного имени (например, Unit Matrix; ), в котором находится: 1.1.Определение основного класса с содержательным именем и с префиксом Т (например TMatrix), содержащее: 1.1.1. Содержательные имена полей с префиксом (a или f), например, aCount. 1.1.2. Поля в секции private. 1.1.3. Методы в секции public (методы чтения-записи и методы пункта а) задания). 1.1.4. Для всех полей записать свойства с содержательными именами, например, Count. Для массивов - свойства-массивы. 1.1.5. Класс содержит хотя бы один конструктор и деструктор. 1.2.В разделе реализации привести полные описания объявленных методов класса. 2. Класс-потомок располагается в модуле содержательного имени (например, Unit NewMatrix; ), в котором находится: 2.1.Подключение модуля с классом-родителем. 2.2.Определение класса-потомка с содержательным именем и с префиксом Т (например TNewMatrix), содержащего только методы пункта б) задачи. 2.3.В разделе реализации привести полные описания объявленных методов класса-потомка. 3. В основном модуле формы привести описания обработчиков выполнения указанных в задании операций. Каждый обработчик содержит описания данных, создание объектов класса, вызов соответствующих методов класса и вывод результатов. | 
| 
			 
			#2  
			
			
			
			
		 | |||
| 
 | |||
|   Лень писать примитивные методы. Вот тебе сами классы, а методы допишешь сам. Зачем нужен для данного класса деструктор - я не знаю  Тут то дефолтный конструктор нафиг не нужен. Базовый класс: Код: unit ComplexNumber;
interface
type
  TComplexNumber = class
  private
    FRe : Integer;
    FIm : Integer;
  public
    constructor Create; overload;
    constructor Create(ARe, AIm : Integer); overload;
    constructor Copy(ANumber : ComplexNumber);
    procedure Add(ANumber : TComplexNumber);
    procedure Dex(ANumber : TComplexNumber);
    procedure Mult(ANumber : TComplexNumber); overload;
    procedure Mult(ANumber : Integer); overload;   
    procedure Div(ANumber : TComplexNumber); overload;
    procedure Div(ANumber : Integer); overload;   
     
    property Re : Integer read FRe write FRe;
    property Im : Integer read FIm write FIm;
  end;
implementation
constructor TComplexNumber.Create;
begin
  inherited;
  FRe := 0;
  FIm := 0;
end;
constructor TComplexNumber.Create(ARe, AIm : Integer);
begin
  inherited Create;
  FRe := ARe;
  FIm := AIm;
end;
constructor TComplexNumber.Copy(ANumber : ComplexNumber);
begin
  inherited Create;
  FRe := ANumber.FRe;
  FIm := ANumber.FIm;
end;
// Остальные методы - сам, по подобию конструкторов, только inherited не вызывай
end;Потомок: Код: unit AdvComplexNumber;
interface
uses ComplexNumber;
type
  TAdvComplexNumber = class(TComplexNumber)
  public
    function Abs : Double;
    function Arg : Double;
    procedure Power(AValue : Integer);
  end;
implementation
funcrtion TAdvComplexNumber.Abs : Double;
begin
  Result := Sqrt(Sqr(Re) + Sqr(Im));
end;
funcrtion TAdvComplexNumber.Arg : Double;
begin
  Result := Arctan(Re/Im); // Если не ошибаюсь
end;
procedure TAdvComplexNumber.Power(AValue : Integer);
begin
// тоже лень расписывать реализацию
end;
end;С остальным может еще кто поможет... Последний раз редактировалось lmikle, 23.11.2022 в 03:32. | 
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
|  
NeField (02.12.2022)
 | ||