IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Описание куба, С помощью ООП
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Михаил

Репутация: -  0  +


Народ помогите написать вот такую штучку - Опишите геометрический объект куб с помощью ООП
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Может, что-то типа такого:

  type TCoor=record
x,y,z:integer;
end;
TCube=class
private
public
v:array[1..8] of TCoor;
end;


Можно было бы TCoor загнать в Private-секцию, но не получилось)

Сообщение отредактировано: Unconnected -


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Михаил

Репутация: -  0  +


а может быть и не так?)))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Ну, этот класс содержит координаты вершин, к ним можно обратиться по порядковому номеру, но никто ведь не знает, что за кубы у твоего преподавателя(и что он хочет увидеть))


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Godsmack2007 @ 16.06.2011 23:39) *
а может быть и не так?)))

Да, может.
1. В программировании любую задачу можно решить сотнями способов.
2. Мы тут тоже не боги. Не доверяешь - не приходи на форум и не спрашивай.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Михаил

Репутация: -  0  +


Unconnected ну да))
Lapp а я вообще то ничего и не говорил, просто переспросил, а вы тут сразу с какими то неопнятными наездами. Я просто очень хочу понять как делать это задание разобратся наконец с ним и все.

Сообщение отредактировано: Godsmack2007 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Unconnected @ 16.06.2011 23:35) *
Может, что-то типа такого:

Un, я думаю, ему нужно наследование от абстрактного объекта через геом. точку, цветную точку, точку с размером, ориентацией и к кубу - как-то так.. С методами (перемещение, поворот, окраска..)


Добавлено через 5 мин.
Цитата(Godsmack2007 @ 16.06.2011 23:51) *
Lapp а я вообще то ничего и не говорил, просто переспросил, а вы тут сразу с какими то неопнятными наездами. Я просто очень хочу понять как делать это задание разобратся наконец с ним и все.

Переспрашивают, когда не расслышали. А вопросы задавай более конкретно и по сути. Наехал потому, что не люблю, когда челу ответят, а он: а ты не врешь?
Давай на этом закроем конфликт, я рад, что ты хочешь разобраться. Просто сразу это не было заметно..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Михаил

Репутация: -  0  +


Lapp ок все закрыли) а если по делу то как вообще все реализовать мне тут вот так подкидывают идею но это только куб без ООП

Type
TKube = class
private
FX0,FY0,FZ0:Integer; // Какая-то из точек куба
FWidth:Word; // Ширина
FHeight:Word; // Высота
FDepth:Word; // Глубина
FColor:TColor; // Цвет стенок
public
// мне так захотелось, что б после создания
// куб нельзя было изменить, посему дальше свойства параметров куба, но
// только для чтения
property X0:Integer read FX0;
property Y0:Integer read FY0;
property Z0:Integer read FZ0;
property Width:Word read FWidth;
property Height:Word read FHeight;
property Depth:Word read FDepth;
// А вот цвет можно менять:
property Color:TColor read FColor write FColor;
//------------------------------------------
// нужно также придумать кучу методов:
Constructor Create(AX0,AY0,AZ0:Integer; AWidth, AHeight, ADepth:Word); // самый главный - конструктор
Destructor Destroy; Virtual; // Тоже не менее важный - дестуктор
Proceudre Draw;Virtual; // Метод - "Нарисуте меня". Пущай будет виратуальным. Вдруг потребуется на основании этого куба (в техмерном пространстве) изобразить какой-нить другой объект
Procedure Hide;Virtual; // Спрятать куб
//------------------------------------------
// Можно придумать еще как куб скажем будет перемещаться в простарнстве под действием различных сил
// но фантазия иссякает
End;




чета встрял я с этим заданием сегодня как то оно мне легким не показалось
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Мм ну как раз это с ООП, класс ведь сделал.. только непонятно, зачем ширина, высота и глубина отдельно - в кубе они одинаковые ж. Можно сделать методы для поворота вокруг 3х осей, проходящих через центры граней..


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Михаил

Репутация: -  0  +


Unconnected на этом примере пожете показать что имеете ввиду?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


А как вообще вводится куб? Я сначала думал, что координаты всех вершин в базисе, а тут какая-то точка фигурирует, относительно которой что-то делается..


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Lapp разбушевался! smile.gif

Un, нарисуй на бумажке точку и от нее любой ортогональный базис. Его положение уже должно задаваться дальше в программе.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Михаил

Репутация: -  0  +


все о чем то размышлают))) а я чета вообще ниочем)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


God, ты придумай для себя что ты хочешь - и делай хоть что нибудь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Михаил

Репутация: -  0  +


sheka - я хочу эту прогу чтоб она работала и все))) а как будет хоть как я всеравно умнее не придумаю)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Цитата
мне тут вот так подкидывают идею но это только куб без ООП
Это ООП, но идея неправильная. Одной точки в пространстве недостаточно для задания куба. Нужно еще что-то. Не веришь? Ну, попробуй взять карандаш, и нарисовать на листе бумаги (в клеточку, договорились) куб. Точку я тебе задам. Скажем, <10, 10, 10>. Ширина/Высота/Глубина = 15 ... Бери карандаш и начинай рисовать кубик. Для начала - оси координат, а уж потом - сами точки, соединяя которые получишь то, что тебе надо.

Что, "не выходит каменный цветок"(С)? А почему? Потому, что ты не знаешь, какая именно точка задана, и как относительно нее расположены остальные точки. А вот если я добавлю, что ребра куба параллельны осям координат, координаты всех точек - положительны, и точка <10, 10, 10> находится ближе всего к началу координат - то ты сможешь нарисовать кубик без проблем. Так что думай, какую еще информацию внести в класс, чтобы однозначно описать фигуру.

P.S. Делать задачу полностью - не буду, предупреждаю сразу. Потому что задана она тебе, а не мне. И решать ее должен ты, а не кто-то за тебя... Думай, пробуй. Что не получится - спрашивай...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Тремя точками можно однозначно задать (два вершины и центр, к примеру). Но я, не особо раздумывая, сделал бы задание по всем вершинам)


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Михаил

Репутация: -  0  +


IUnknown как то так?

uses crt;
Type
TKube = object


X,Y,Z:Integer;
Width:Word;
Height:Word;
Depth:Word;
Color:byte;
constructor Create(mX,mY,mZ:Integer; mWidth, mHeight, mDepth:Word);
procedure print;
end;

constructor tkube.Create(mX,mY,mZ:Integer; mWidth, mHeight, mDepth:Word);
begin
x:=mx;y:=my;z:=mz;Width:=mWidth;Height:=mHeight;Depth:=mDepth;
end;

procedure tkube.print;
begin
writeln('x=',x,' y=',y,' z=',z,' width=',Width,' height=',Height,' depth=',Depth,' color=',Color);
end;

var
q:tkube;
begin
q.create(10,10,10,10,10,10);
q.color:=2;
q.print;
q.color:=5;
q.print;
readln;
end.


М
Теги!! Правила. Lapp

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Unconnected @ 17.06.2011 18:39) *
Но я, не особо раздумывая, сделал бы задание по всем вершинам)
.. и поимел бы маааассу удовольствьица потом, вылавливая ну оооччень странные ошибки.. smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Цитата
и поимел бы маааассу удовольствьица потом, вылавливая ну оооччень странные ошибки..


Мм какого плана ошибки?)

Сообщение отредактировано: Unconnected -


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 17.05.2024 3:18
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name