помогите пожалуйста с програмой (описание класса)

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

помогите пожалуйста с програмой (описание класса)

Сообщение *13* » 06.05.2007 14:37:06

вобщем, задали мне программу по созданию класса. я, дурень, лекции не слушал, писал не всё- и теперь сижу, просто неоткуда отступать, недостаток информации :roll:
класс совсем маленький, умея их описывать займет совсем небольшое время написание программы. не могли бы вы помочь? заранее большое спасибо.
Реализовать класс и операции над ним для работы с объектом.
Вектор задан в трехмерном евклидовом пространстве. Задается тройкой своих координат. Реализовать:
- сложение( вычитание ) векторов
A(x1,y1,z1)}} C(x1 +- x2, y1 +- y2, z1 +- z2)
B(x2,y2,z2)}}
- скалярное произведение векторов
AB = x1*x2+y1*y2+z1*z2
- умножение вектора на скаляр
допустим скаляр это число N . и дан вектор A (x,y,z) в результате выйдет вектор C(x*n,y*n,z*n) если я ничего не путаю :)
созданная мною форма для удобства тех уважаемых господ, которые мне помогут, прилагается.
п.с. мне бы хотябы граммотное описание класса, и хоть 1 пример работы с векторами. остальное, я думаю , дойдёт само собой =))
Изображение
*13*
новенький
 
Сообщения: 28
Зарегистрирован: 14.12.2006 16:29:57

Re: помогите пожалуйста с програмой (описание класса)

Сообщение Yogrik » 06.05.2007 15:48:21

*13* писал(а):вобщем, задали мне программу по созданию класса. я, дурень, лекции не слушал, писал не всё- и теперь сижу, просто неоткуда отступать, недостаток информации :roll:

Отступать всегда есть куда, например в армию ;)
А бы перефразировал:
вобщем, дали мне проект на 5000$.
Не могли бы вы его сделать за меня.
PS Деньги за проект оставлю себе


*13* писал(а):созданная мною форма для удобства тех уважаемых господ, которые мне помогут, прилагается.

Интересно для какого удобства???
В ТЗ я не заметил что класс должен быть визуальным.

*13* писал(а):п.с. мне бы хотябы граммотное описание класса, и хоть 1 пример работы с векторами. остальное, я думаю , дойдёт само собой =))

Мне интересно что значит "грамотное описание класса"...

Как пример:
Код: Выделить всё
mVector = Class
  private
    FX,FY,FZ : integer;

  public
    constructor Create(x,y,z:integer);
    procedure Inc(a : mVector);
    procedure Dec(a : mVector);
    procedure Multiplication(i : integer);

    property x : integer read fx;
    property y : integer read fy;
    property z : integer read fz;
end;

function Innerproduct(a,b : mVector) : integer;
begin
  result := a.x*b.x + a.y*b.y + a.z*b.z;
end;

constructor mVector.Create(x,y,z:integer);
begin
  fx := x;
  fy := y;
  fz := z;
end;

procedure mVector.Inc(a : mVector);
begin
  fx := fx + a.x;
  fy := fy + a.y;
  fz := fz + a.z;
end;

procedure mVector.Dec(a : mVector);
begin
  fx := fx - a.x;
  fy := fy - a.y;
  fz := fz - a.z;
end;

procedure mVector.Multiplication(i : integer);
begin
  fx := fx * i;
  fy := fy * i;
  fz := fz * i;
end;
Yogrik
постоялец
 
Сообщения: 116
Зарегистрирован: 23.03.2006 00:41:48

Re: помогите пожалуйста с програмой (описание класса)

Сообщение *13* » 06.05.2007 16:05:09

Yogrik писал(а):
*13* писал(а):вобщем, задали мне программу по созданию класса. я, дурень, лекции не слушал, писал не всё- и теперь сижу, просто неоткуда отступать, недостаток информации :roll:

Отступать всегда есть куда, например в армию ;)
А бы перефразировал:
вобщем, дали мне проект на 5000$.
Не могли бы вы его сделать за меня.
PS Деньги за проект оставлю себе


*13* писал(а):созданная мною форма для удобства тех уважаемых господ, которые мне помогут, прилагается.

Интересно для какого удобства???
В ТЗ я не заметил что класс должен быть визуальным.

*13* писал(а):п.с. мне бы хотябы граммотное описание класса, и хоть 1 пример работы с векторами. остальное, я думаю , дойдёт само собой =))

Мне интересно что значит "грамотное описание класса"...

Как пример:
Код: Выделить всё
mVector = Class
  private
    FX,FY,FZ : integer;

  public
    constructor Create(x,y,z:integer);
    procedure Inc(a : mVector);
    procedure Dec(a : mVector);
    procedure Multiplication(i : integer);

    property x : integer read fx;
    property y : integer read fy;
    property z : integer read fz;
end;

function Innerproduct(a,b : mVector) : integer;
begin
  result := a.x*b.x + a.y*b.y + a.z*b.z;
end;

constructor mVector.Create(x,y,z:integer);
begin
  fx := x;
  fy := y;
  fz := z;
end;

procedure mVector.Inc(a : mVector);
begin
  fx := fx + a.x;
  fy := fy + a.y;
  fz := fz + a.z;
end;

procedure mVector.Dec(a : mVector);
begin
  fx := fx - a.x;
  fy := fy - a.y;
  fz := fz - a.z;
end;

procedure mVector.Multiplication(i : integer);
begin
  fx := fx * i;
  fy := fy * i;
  fz := fz * i;
end;

дружище, ты что, какие 5000 штук )) я первокурсник :) разве за такой примитив дадут такие деньги? в армию както не хочеться )) грамотное описание класса- это то что ты сделал, за что тебе повторное спасибо :roll:
*13*
новенький
 
Сообщения: 28
Зарегистрирован: 14.12.2006 16:29:57

Re: помогите пожалуйста с програмой (описание класса)

Сообщение Yogrik » 06.05.2007 16:22:04

*13* писал(а):дружище, ты что, какие 5000 штук ))

Разве много???
*13* писал(а): я первокурсник :)

Это понятно

*13* писал(а):разве за такой примитив дадут такие деньги?

Если бы это был примитив, то ты бы не просил помощи....:-D

*13* писал(а):грамотное описание класса- это то что ты сделал, за что тебе повторное спасибо :roll:

Я бы с этим определением поспорил....


В каком городе живешь и где учишься???
Если не секрет, просто интересно....
Yogrik
постоялец
 
Сообщения: 116
Зарегистрирован: 23.03.2006 00:41:48

Re: помогите пожалуйста с програмой (описание класса)

Сообщение *13* » 06.05.2007 16:25:58

Yogrik писал(а):
*13* писал(а):дружище, ты что, какие 5000 штук ))

Разве много???
*13* писал(а): я первокурсник :)

Это понятно

*13* писал(а):разве за такой примитив дадут такие деньги?

Если бы это был примитив, то ты бы не просил помощи....:-D

*13* писал(а):грамотное описание класса- это то что ты сделал, за что тебе повторное спасибо :roll:

Я бы с этим определением поспорил....


В каком городе живешь и где учишься???
Если не секрет, просто интересно....

не секрет :) живу в Одессе, учусь в Одесской Государственной Академии Холода, на факе информационные технологии проектирования.
можно ещё вопросик? почему function Innerproduct не принадлежит к классу MVector и нигде не описана? я так понимаю, это нахождение скаляра...
*13*
новенький
 
Сообщения: 28
Зарегистрирован: 14.12.2006 16:29:57

Сообщение Yogrik » 06.05.2007 16:52:38

По идеи Innerproduct и не должна принадлежать классу.....

Но тебе ни кто не мешает в нести ее в класс, тем более что пример у тебя уже есть....
Yogrik
постоялец
 
Сообщения: 116
Зарегистрирован: 23.03.2006 00:41:48

Сообщение shade » 06.05.2007 18:20:51

{offtop}
По идеи здесь вообще не нужен класс, хватит структуры, т.е. записи (record) и пары функций. На FPC вообще можно операторы перегрузить... но это из другой оперы - то чему не учат в школе..

Вообще на классы обычно стеки/деки/очереди задают :roll:
{/offtop}
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Рейтинг@Mail.ru