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.  

 

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

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

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


 

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

62135. Основы пограммирования 78.36 KB
  Применение рабочей тетради в обучении программированию на языке Pascal улучшает качество образования, повышает эффективность учебного процесса на основе его индивидуализации, появляется возможность реализации перспективных методов обучения.
62136. ИНТЕГРАЛ ЛЕБЕГА, ТЕОРЕМЫ О ПРЕДЕЛЬНОМ ПЕРЕХОДЕ 627 KB
  Определение. Назовём функцию f интегрируемой (суммируемой) на X, если существует последовательность простых интегрируемых на X функций, сходящаяся равномерно к f. Интегралом Лебега функции f на множестве X называется предел интегралов от функций
62137. Деньги, их функции 18.52 KB
  Цели урока: Образовательная: выявить причины появления денег главные функции денег; научиться применять полученные знания на примере конкретных жизненных ситуаций; выявить научный смысл понятий: деньги банкнота и кредитная карточка.