Создать класс Point - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Создать класс Point, разработав следующие элементы класса: a. Поля: • int x, y; b. Конструкторы, позволяющие создать экземпляр класса: • с нулевыми координатами; • с заданными координатами. c. Методы, позволяющие: • вывести координаты точки на экран; • рассчитать расстояние от начала координат до точки; • переместить точку на плоскости на вектор (a, b). d. Свойства: • получить-установить координаты точки (доступное для чтений и записи); • позволяющие умножить координаты точки на скаляр (доступное только для записи).

Решение задачи: «Создать класс Point»

textual
Листинг программы
program pr;
 
type
  point = class
  private 
    x, y: integer;
  public 
    constructor create(); overload;
    begin
      x := 0;
      y := 0;
    end;
    
    constructor create(ax: integer; ay: integer); overload;
    begin
      x := ax;
      y := ay;
    end;
    
    procedure show(); virtual;
    begin
      writeln('( ', x, ',', y, ' )');
    end;
    
    procedure ras(x, y: integer; var r: real);
    begin
      r := sqrt((x * x) + (y * y));
    end;
    
    procedure ve(x, y: integer; a, b: integer);
    var
      n, m: integer;
    begin
      n := x + a;
      m := y + b;
      write('Точка на векторе (', a, ',', b, ') :( ', n, ',', m, ' )')
    end;
  end;
 
var
  p: point;
  a, b: integer;
  g: real;
 
begin
  p := new point();
  p.show;
  p := new point(1, 3);
  p.show;
  p.ras(1, 3, g);
  writeln('Расстояние: ', g);
  p.ve(1, 3, 2, 2);
end.

Объяснение кода листинга программы

  1. В программе определен класс Point с двумя конструкторами create и create(ax: integer; ay: integer). Конструктор create устанавливает значения переменных x и y в 0, а конструктор create(ax: integer; ay: integer) устанавливает значения переменных x и y в ax и ay соответственно.
  2. В классе Point определен метод show, который выводит координаты точки в виде (x, y).
  3. В классе Point определен метод ras, который вычисляет расстояние от точки до начала координат по формуле sqrt((x * x) + (y * y)). Этот метод вызывается в строке p.ras(1, 3, g); с результатом вычисления расстояния сохраняемым в переменной g.
  4. В классе Point определен метод ve, который выводит точку на векторе (a, b) с помощью вызова метода write с соответствующими аргументами. Этот метод вызывается в строке p.ve(1, 3, 2, 2); с аргументами a=2 и b=2.
  5. В основной части программы создается объект p класса Point и вызываются методы show и ras для этого объекта. Затем вызывается метод ve для другого объекта p с другими аргументами.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы