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

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

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

> Unit, Модуль и ооп
Dj.Boom
сообщение 21.04.2008 21:35
Сообщение #1


Новичок
*

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

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


Написать программу стоящую из двух модулей модуля Unit и главного. Модуль юнит должен содержать описание объекта тпоинт.
В общем программа я написал но без модулей не шарю вмодулях sad.gif.

Код
Type
  Tpoint = Object
  Public
    Constructor Init(aN:string);
    Procedure Show;
    Function Move: Real; Virtual;
  Private
    Name: String[10];
  End;
Constructor Tpoint.Init;
Begin
  Name:=aN;
  Writeln;
  Writeln(' --------- ','Название',' --------- ');
End;
Procedure Tpoint.Show;
Begin
  Writeln(' ========================');
  Writeln(' New value: ',Move:6:2);
End;
Function Tpoint.Move;
Begin
End;
{----------------------------------------------}
type
  Sector = Object(Tpoint)
  Public
    Constructor Init;
    Procedure Show;
    Function Move: Real; Virtual;
  Private
    R: Real;
    A:Real;
  End;
Constructor Sector.Init;
Begin
  Tpoint.Init('Сектор');
  Write(' Введите радиус: ');
  Readln(R);
  Write(' Введите угол: ');
  Readln(A);

End;
Procedure Sector.Show;
Begin
  Tpoint.Show;
  Writeln(' Радиус: ',R:6:2);
  Write(' Угол: ',A:6:2);
End;
Function Sector.Move;
Begin
  Move:=A+10;
End;
{----------------------------------------------}
Type
  Duga = Object(Sector)
  Public
    Constructor Init;
    Procedure Show;
    Function Move: Real; Virtual;
  Private
    A2: Real;
  End;
Constructor Duga.Init;
Begin
  Tpoint.Init('Дуга');
  Write(' Введите радиус: ');
  Readln(R);
  Write(' Введите угол: ');
  Readln(A);
End;
Procedure Duga.Show;
Begin
  Sector.Show;
  Writeln(' Радиус: ',R:6:2);
  Write(' Угол: ',A:6:2);
End;
Function Duga.Move;
Begin
  Move:=Sector.Move/2+20*R*sin(a);
End;

{--------------Main-------------}
Var
  S: Sector;
  Cl: Duga;
Begin
  Writeln;

  S.Init;
  S.Show;

  Cl.Init;
  Cl.Show;
Readln;
End.


Думаю это не тяжело помогите пожалуйста зарание спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 2)
volvo
сообщение 21.04.2008 21:49
Сообщение #2


Гость






Цитата
не шарю вмодулях
Ничего особенно сложного в модулях нет:

Файл _unit.pas
unit _unit;

interface { раздел описаний }

Type
Tpoint = Object
Public
Constructor Init(aN:string);
Procedure Show;
Function Move: Real; Virtual;
Private
Name: String[10];
End;

implementation { раздел реализации }

Constructor Tpoint.Init;
Begin
Name:=aN;
Writeln;
Writeln(' --------- ','Название',' --------- ');
End;
Procedure Tpoint.Show;
Begin
Writeln(' ========================');
Writeln(' New value: ',Move:6:2);
End;
Function Tpoint.Move;
Begin
End;

end.

Основной файл - остается все, кроме описания и реализации TPoint, первой строкой добавляешь
Uses _unit;


Все, программа уже использует модули smile.gif
 К началу страницы 
+ Ответить 
Dj.Boom
сообщение 21.04.2008 23:37
Сообщение #3


Новичок
*

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

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


Огромное спосибо.

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

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

 



- Текстовая версия 20.07.2025 2:54
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"