Distance_LP - pre zadaný bod a priamku vypočíta vzdialenosť bodu od priamky
Delphi & Pascal (česká wiki)
Kategorija: Zadaňa zos Pascalu
Program: Poilinp.pas, Poilinu.pas
Subor exe: Poilinp.exe, Poilinu.tpu
Mušiš mac: Angeom02.tpu, Uninout.tpu, Egavga.bgi
Vyvojak: Poilin.doc, Amater.txt
Ukažka: Angeom02.pas, Uninout.pas
Program: Poilinp.pas, Poilinu.pas
Subor exe: Poilinp.exe, Poilinu.tpu
Mušiš mac: Angeom02.tpu, Uninout.tpu, Egavga.bgi
Vyvojak: Poilin.doc, Amater.txt
Ukažka: Angeom02.pas, Uninout.pas
Pre programovú jednotku (unit) AnGeom02 (algebraická geometria) vytvorte funkciu Distance_LP, ktorá pre zadaný bod a priamku vypočíta vzdialenosť bodu od priamky.
FUNCTION Distance_LP(Line1:TLine; bodA:TPoint): Real;
FUNCTION Distance_LP(Line1:TLine; bodA:TPoint): Real;
{ Testovaci program pre unit PoiLinp } program Point_Line_OOP; uses AnGeom02, PoiLinU, Graph, Crt; var line1 : TLine; { premena ktora uchovava priamku } bodA : TPoint; { premena ktora uchovava bod } bod1,bod2 : TPoint; { pomocne body pre definiciu priamky } x,y : real; { pomocne premene pre definiciu priamky } vzd : real; { premena v ktorej bude vzdialenost bodu } begin WriteLn('Program pre Unit AnGeom02'); WriteLn('Program zisti vzdialenost bodu od priamky.'); WriteLn; Write('Zadaj x-suradnicu bodu a:'); ReadLn(x); Write('Zadaj y-suradnicu bodu a:'); ReadLn(y); { vytvorim bod A } bodA.Init(x,y,'bodA'); { priamku budem definovat ako 2 body } Write('Zadaj x-suradnicu prveho bodu na priamke:'); ReadLn(x); Write('Zadaj y-suradnicu prveho bodu na priamke:'); ReadLn(y); { vytvorim bod prvy } bod1.Init(x,y,'bod1'); { priamku budem definovat ako 2 body } Write('Zadaj x-suradnicu druheho bodu na priamke:'); ReadLn(x); Write('Zadaj y-suradnicu druheho bodu na priamke:'); ReadLn(y); { vytvorim bod druhy } bod2.Init(x,y,'bod2'); { vytvorim priamku } line1.Init_PP(bod1,bod2,'Priamka'); { vykreslim } SetGraphMode( GraphMode ); GrAxis; { teraz to vsetko vykreslim } bodA.Draw(yellow,'X'); bod1.Draw(green,'+'); bod2.Draw(green,'+'); line1.Draw(red); { teraz vypocitam vzdialenost bodu od priamky } vzd := Distance_LP( line1, bodA ); TextColor( Red ); OutTextXY(100,100, 'Distance_LP =' + fStrR(size)); repeat until keypressed; { pockame na stlacenie klavesy } RCM; { zatvorime graficky rezim } end.