51187

Інтерпретатор математичних виразів

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

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

Мета: Навчитися створювати та використовувати власні обєкти, нащадки, віртуальні функції, програмно реалізовувати деревоподібні графи.

Украинкский

2014-02-07

25.62 KB

0 чел.

Розробив

Олійник Д.А.

26.04.13

ДРПК.020180.015

Аркуш

Перевірив

Рудакова М.

1

Змін

Арк.

№ Докум

Підпис

Дата

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

Тема:Інтерпретатор математичних виразів.

Мета : Навчитися створювати та використовувати власні об’єкти, нащадки, віртуальні

           функції, програмно реалізовувати деревоподібні графи.

Хід роботи:

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls;

type

 PTEElement=^TElement;

 PPlus=^Plus;

 PMult=^Mult;

 PNumber=^Number;

 TElement=object

 protected

   left,right:PTEElement;

 constructor Create(l,r:PTEElement);

 public

   destructor Erase;

   function rezult:double;virtual;

   end;

 Number=object(TElement)

 private

   f:double;

 public

   constructor Create(float:double);

   function rezult:double;virtual;

   end;

 Plus=object(TElement)

 public

   constructor Create(l,r:PTEElement);

   function rezult:double;virtual;

   end;

 Mult=object(TElement)

 public

   constructor Create(l,r:PTEElement);

   function rezult:double;virtual;

   end;

 TForm1 = class(TForm)

   edt1: TEdit;

   edt2: TEdit;

   edt3: TEdit;

   btn1: TButton

   grp1: TGroupBox;

   lbl1: TLabel;

Розробив

Олійник Д.А..

26.04.13

ДРПК.020180.015

Аркуш

Перевірив

Рудакова М.

2

Змін

Арк.

№ Докум

Підпис

Дата

lbl2: TLabel;   

 grp2: TGroupBox;

  lbl3: TLabel;

   lbl4: TLabel;

   edt4: TEdit;

   grp3: TGroupBox;

   cbb1: TComboBox;

   lbl5: TLabel;

   btn2: TButton;

   procedure btn1Click(Sender: TObject);

   procedure btn2Click(Sender: TObject);

   procedure cbb1Change(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

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

begin

left:=l; right:=r;

end;

destructor TElement.Erase;

begin

Dispose(left);

Dispose(right);

end;

function TElement.rezult:double;

begin

end;

constructor Number.Create(float:double);

begin

inherited Create(nil,nil);

f:=float;

end;

function Number.rezult:double;

begin

 rezult:=f;

end;

constructor Plus.Create(l,r:PTEElement);

Begin

 inherited Create(l,r);

end;

function Plus.rezult:double;

constructor Mult.Create(l,r:PTEElement);

Розробив

Олійник Д.А.

26.04.13

ДРПК.020180.015

Аркуш

Перевірив

Рудакова М.

3

Змін

Арк.

№ Докум

Підпис

Дата

begin  

inherited Create(l,r);

end;

function Mult.rezult:double;

begin

 rezult:=left^.rezult*right^.rezult;

end;

function form(s:string):PTEElement;

var PtrPlus:PPlus;

   PtrMult:PMult;

   PtrNumber:PNumber;

   p:integer;

   l:integer;

   s1,s2:string;

begin

 l:=length(s);

if pos('+',s)>1 then

begin

p:=pos('+',s);

s1:=copy(s,1,p-1);

s2:=copy(s,p+1,l-p);

New(PtrPlus,Create(form(s1),form(s2)));

form:=PtrPlus;

end  else

if Pos('*',s)>1 then

begin

p:=pos('*',s);

s1:=copy(s,1,p-1);

s2:=copy(s,p+1,l-p);

New(PtrMult,Create(form(s1),form(s2)));

form:=PtrMult;

end else

if s='x' then

begin

 New(PtrNumber, Create(StrToFloat(form1.edt3.Text)));

 form:=PtrNumber;

end else

begin

 New(PTRNumber,Create(StrToFloat(s)))

end;

end;

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);

begin

Close;

end;

Розробив

Олійник Д.А.

26.04.13

ДРПК.020180.015

Аркуш

Перевірив

Рудакова М.

4

Змін

Арк.

№ Докум

Підпис

Дата

procedure TForm1.btn2Click(Sender: TObject);

var dec:integer;

x,fx:PTEElement;

begin

dec:=StrTOInt(cbb1.Text);

x:=form(edt1.Text);

edt3.Text:=FloatTOStrF(x^.rezult,ffFixed,25,dec);

fx:=form(edt2.Text);

edt4.Text:=FloatToStrF(fx^.rezult,ffFixed,25,dec);

end;

procedure TForm1.cbb1Change(Sender: TObject);

begin

if cbb1.Text<> '' then btn2Click(btn2);

end;

end.

Висновок: Я навчився створювати та використовувати власні об’єкти, нащадки, віртуальні функції, та програмно реалізовувати деревоподібні графи.


 

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

6409. Структура операційної системи 110.5 KB
  Структура операційної системи Розглянемо шість різних структур ОС, що використовуються (або використовувалися раніше), щоб отримати деякі уявлення про спектр їхніх можливостей. Монолітні системи Така організація операційної системи є найпоширенішою....
6410. Психологічні особливості дошкільного віку 127.5 KB
  Психологічні особливості дошкільного віку 1. Особливості психічного розвитку немовляти 2. Початковий розвиток особистості на етапі раннього дитинства 3. Психологічні особливості розвитку особистості дитини дошкільного віку 4. Психологічна готовність...
6411. Правова, територіальна та матеріально-фінансова основи організації та діяльності органів публічної влади в Україні 182 KB
  Правова, територіальна та матеріально-фінансова основи організації та діяльності органів публічної влади в Україні. Загальна характеристика системи нормативно-правових актів, що регулюють порядок організації та діяльності органів публічної влади в...
6412. Власність та економічні інтереси в системі економічних відносин 265 KB
  Власність та економічні інтереси в системі економічних відносин. Власність, її сутність, форми і місце в економічній системі Власність - складна і багатогранна категорія, яка виражає всю сукупність суспільних відносин - економічних, соці...
6413. Правоохоронна та правозахисна діяльність органів суду та прокуратури 135.5 KB
  Правоохоронна та правозахисна діяльність органів суду та прокуратури. Правоохоронна та правозахисна діяльність суду. Правоохоронна та правозахисна діяльність прокуратури. Прокурорський нагляд і судовий контроль на стадії досудового слі...
6414. Характер змісту і властивості процесу управління 633.17 KB
  Характер змісту і властивості процесу управління Основні складові частини організації. Характер змісту і властивості процесу управління. Еволюція способів координації і їхній вплив на тип організації. Основні складові частини організації Якщ...
6415. Економіка суспільства як сукупність видів економічної діяльності 82.35 KB
  Економіка суспільства як сукупність видів економічної діяльності. Економічна система: її сутність та структурні елементи. Продуктивні сили та їх структура. Типи та еволюція економічних систем. Економічні моделі. Формаційний та цивілізацій...
6416. Аналіз поведінки споживача 117 KB
  Аналіз поведінки споживача План: Бюджетна лінія: рівняння і графічна побудова. Криві байдужості та бюджетні лінії. Рівновага споживача: економічна, алгебраїчна та графічна. Зміна оптимального стану споживача в результаті змін...
6417. Електоральні соціологічні дослідження як невід’ємна складова політичного маркетингу 136.5 KB
  Електоральні соціологічні дослідження як невід'ємна складова політичного маркетингу Передумови існування політичного ринку. Етапи політичного маркетингу. Суб'єкти політичного маркетингу. Характеристики основних структурних елементів політи...