51188

Інтерпретатор виразів з обчисленням першої та другої похідної

Практическая работа

Информатика, кибернетика и программирование

Мета: Удосконалити навики ООП, використавши для реалізації задачі про Інтерпретатор механізми інкапсуляції,наслідування, поліморфізму, динамічного звязування і віртуальних функцій.

Украинкский

2014-02-07

21.38 KB

0 чел.

Розробив

Олійник Д.А.

27.04.13

ДРПК.020180.015

Аркуш

Перевірив

Рудакова

1

Змін

Арк.

№ Докум

Підпис

Дата

Практична робота №9

Тема: Інтерпретатор виразів з обчисленням першої та другої похідної.

Мета: Удосконалити навики ООП, використавши для реалізації задачі про

           Інтерпретатор механізми інкапсуляції,наслідування, поліморфізму,

           динамічного зв’язування і віртуальних функцій.

Хід роботи

PTElement=^TElement;

PPlus=^Plus;

PMinus=^Minus;

PMult=^Mult;

PDivide=^Divide;

PReal=^Real;

PVariable=^Variabl;

TElement=object;

Protected;

Left, right, : PTlement;

constructor  Create (l, r : PTElement);

public

destructor Erase;

function rezult : double; virtual;

function copy : PTElement; virtual;

function differ : PTElement; virtual;

procedure set_var(float : double); virtual;

end;

constructor TElement.Create(l, r : PTElement);

begin

left:=l;

right:=r;

end;

destructor TElement.Erase;

begin

Dispose(left);

Dispose(right);

End;

function TElement.rezult :double;

begin

end;

function TElement.copy :PTElement;

begin

copy:=nil;

end

function TElement.differ :PTElement;

begin

differ:=nil;

end;

function TElement.set_var(float:double);

begin

Розробив

Олійник Д.А.

27.04.13

ДРПК.020180.015

Аркуш

Перевірив

Рудакова

2

Змін

Арк.

№ Докум

Підпис

Дата

if left<>nil then left^.set_var(float);

if right <>nil then right^.set_var(float);

end;

Real=object(TElement);

private

f:doble;

public

constructorCreat(float:double);

function result : duble; virtual;

function copy : PTElement; virtual;

function differ :PTElement;

end;

function PosFromEnd(sub, s :string) : integer;

var

     I, l : integer;

     s, p : string;

begin

l := Length(s);

SetLength(p, l);

for i := 1 to l do p[l-i+1] :=s[i];

if Pos(sub, p)>0 then PosFromEnd := l- Pos(sub, p) +1

   else PosFromEnd :=0;

end;

end.  

 

Висновок: Я удосконалив навики ООП, використавши для реалізації задачі про

                  інтерпретатор механізми інкапсуляції,наслідування, поліморфізму,

                  динамічного зв’язування і віртуальних функцій.


 

А также другие работы, которые могут Вас заинтересовать

61481. Дифтонги и трифтонги. (diptongos у triptongos) 14.67 KB
  Сочетание двух гласных звуков сильного и слабого слабого и сильного или двух слабых а также сочетание трех гласных звуков слабого сильного слабого произносимых как один слог с одним ударением называются дифтонгами и трифтонгами записать...
61482. ИСПОЛЬЗОВАНИЕ КЕЙСА НА УРОКАХ ИНОСТРАННОГО ЯЗЫКА 24.28 KB
  Каждому молодому учителю желающему использовать кейса на уроках иностранного языка рано или поздно приходится искать ответ на непростой вопрос: Продолжать использовать на уроках кейсы разработанные его коллегам если таковые имеются...
61483. Использование информационных технологий на уроках истории 27 KB
  По моему мнению на уроке истории целесообразнее применять ИТ при изучении нового материала, закреплении полученных знаний и уроке-контроле.
61486. История искусств 20.56 KB
  Кем он был: иконописцем портретистом живописцем Ученики: Портретистом Учитель: Какие портреты Антропова Алексея Петровича мы рассмотрели Ученики: Автопортрет портрет Незнакомки портрет Петра 3 портрет Екатерины...