Помощь - Поиск - Пользователи - Календарь
Полная версия: ООП
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Анна
Почитала faq по ООП.
Все очень сложно sad.gif blink.gif .

Цитата
Реализовать объект. Создать и вызвать несколько свойств и методов.

Объект лучше графический.

Если раннее сабж решался, то дайте линк.
klem4
Ну так в чем проблема, опиши объект - шар. Его "приватные" свойства например радиус, координаты центра и цвет, ну и 2 "публичых" метода : один рисут шар, другой стирает + конструктор в котором задаются начальные данные
volvo
Анна,
+ поиск, например, по "Constructor", никто еще не отменял...

И что видим? FAQ: Занимательная графика (как раз работа с объектами)...
DFooz
здесь не графический, зато пример оч простой

http://forum.pascal.net.ru/index.php?showtopic=10005
Анна
Есть мысль переделать программу Динамический список: добавление/удаление по номеру

Вот код:

uses Crt;

type

  PItem = ^Item;
  Item  = record
  Name  : string;
  Next  : PItem;
end;

var
  TempNew,Temp,first : PItem;
  i, k, n            : integer;
  key                : char;

procedure ADD(k:integer);

begin
 if k<=n+1 then
begin
  new(Tempnew);
  write('Vvedite Znachenie: ');
  readln(Tempnew^.name);
  writeln;

 if k = 1 then
begin
  Tempnew^.Next:=first;
  First:=tempnew;
end;

 if (k>1)and(k<=n) then
begin
  Temp:=first;
 for i:=1 to k-2 do Temp:=temp^.next;
  Tempnew^.next:=temp^.next;
  temp^.next:=tempnew;
end;

 if k=n+1 then
begin
  Temp:=first;
 for i:=1 to n-1 do Temp:=temp^.next;
  Temp^.next:=tempnew;
end;
  inc(n);
end;
end;

procedure RESULT;
begin
  Temp:=first;
 for i:=1 to n do
begin
  writeln(i,' eLement: ',temp^.name);
  Temp:=Temp^.next;
end;
end;

procedure DEL(k1:integer);
begin
 if k<=n then
begin

 if (k>1)and(k<n) then
begin
  Temp:=first;
 for i:=1 to k-2 do Temp:=temp^.next;
  tempnew:=temp;
  Temp:=temp^.next;
  tempnew^.next:=temp^.next;
end;
 if k=n then
begin
  Temp:=first;
 for i:=1 to n-1 do Temp:=temp^.next;
end;

  dispose(temp);
  n:=n-1;
end;
end;

Begin
textattr:=green;
  clrscr;
  n:=0;
  first:=nil;
repeat
  writeln;
  writeln(' [1]  Dobavlenie'); writeln;
  writeln (' [2]  Udalenie'); writeln;
  writeln ('[ESCl Exit'); writeln;

  key:=readkey;

case key of
 '1':begin
      write('Vvedite nomer elementa: ');
      readln(k);
      ADD(k);
     end;
 '2':begin
      write('Vvedite nomer elementa: ');
      readln(k);
      DEL(k);
     end;

end;
 RESULT;
 until key=#27;

end.
volvo
Анна
Ты уже НАСТОЛЬКО хорошо владеешь ООП, что в состоянии писать ДСД (Динамические Структуры Данных), используя его? А Поиском ты пользоваться не научилась? Ведь специально ТАМ ЖЕ, в FAQ-е по ООП выложены реализации ВСЕХ ДСД !!!

Смысл ПЕРЕделки объясни мне... Что толку, что ты это переделаешь? Ты что, научишься чему-то новому, если добавишь по 5 символов перед каждой процедурой?

Тем более, что задание там какое-то уж больно надуманное - не работают со списками "по номеру", для этого массивы придуманы... Со списками другой стиль работы...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.