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.  

 

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

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

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


 

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

12472. Чисельне інтегрування. Формули Ньютона-Котеса 508.05 KB
  Лабораторна робота №6 Чисельне інтегрування. Формули НьютонаКотеса. Мета роботи: познайомитися з методами чисельного інтегрування реалізувати заданий за варіантом метод інтегрування у середовищі МatLAB. Завдання до виконання роботи: Доповнити систему МatLAB файл
12473. Борьба за Ленинград 49 KB
  Борьба за Ленинград. В планах гитлеровского вермахта Ленинграду отводилось особое место. Ленинградское направление согласно плану Барбаросса являлось одним из трёх главных направлений на котором наряду с Московским и Киевским началось вторжение немецкофашис...
12474. Блокада Ленинграда 519.44 KB
  Реферат Блокада Ленинграда. ВВЕДЕНИЕ Самая страшная осада города в военной истории человечества длилась 871 день Враг снова вокруг Ленинграда Замкнул огневое кольцо. Узнали мы страшное слово блокада И смерти взглянули в лицо [1] Война грянула как г
12475. Блокада Ленинграда (8 сентября 1941 г. – 1 марта 1944 г.) 58.5 KB
  Реферат Блокада Ленинграда ОГЛАВЛЕНИЕ 1. Введение 2. Блокада Ленинграда 8 сентября 1941 г. 1 марта 1944 г. 3. Дорога жизни сентябрь 1941 г. март 1943 г 4. Борьба Ленинграда в кольце блокады 5. Факторы стойкости 6. Прорыв блокады и боевые действия советски
12476. Блокада Ленинграда 872 дня 834.11 KB
  Блокада Ленинграда. Цифры: 332 059 убитых 24 324 небоевых потерь 111 142 пропавших без вести Гражданские потери: 16 747 убито при артобстрелах и бомбардировках 632 253 погибли от голода Блокада Ленинграда длилась с 8
12478. Блокада Ленинграда самое громкоговорящее событие в истории Второй мировой войны 7.67 MB
  Блокада Ленинграда Предисловие Блокада Ленинграда самое громкоговорящее событие в истории Второй мировой войны. В этом страшном и роковом событии погибло около 800 тыс.человек гражданского населения 4 из которых погибло от бомбёжек а остальные 96 от голода. Офици
12479. 27 января – День снятия блокады г. Ленинграда (1944 г.) 1.45 MB
  27 января День снятия блокады г. Ленинграда 1944 г. На Невском надписи пестрели. Кричала каждая стена: Внимание При артобстреле Опасна эта сторона Огонь И смерть вставала к
12480. Проект Блокада Ленинграда 982.66 KB
  Десятилетия прошли со времени окончания Второй Мировой войны, а память о ней продолжает жить в сознании человечества. Интерес к подвигу советского народа не ослабевает. Во время этой страшной, беспощадной войны