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

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

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

> Unit, Модуль и ооп
сообщение
Сообщение #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)
сообщение
Сообщение #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
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


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

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

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

 





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