Az alábbi letöltési lehetőségek közül választhatsz: (
segítség)
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: utf-8
Méret: 1 KB
program cella;
type TPont = Record x,y : double; end;
var p0,p1,p2,p3: TPont;
db : longint;
function pattan(p1,p2 : TPont):TPont;
begin
if p2.x = 0 then
begin
pattan.x := -p1.x;
pattan.y := p1.y;
end else if p2.y = 0 then
begin
pattan.x := p1.x;
pattan.y := -p1.y;
end
else
begin
pattan.x := (p2.x*p2.x*p1.x+p1.y*p2.y*p2.x)/50-p1.x;
pattan.y := -p2.x/p2.y*(pattan.x-p1.x)+p1.y;
end;
end;
function metsz(p1 : TPont; m : double):TPont;
begin
metsz.x := (2*m*m*p1.x-2*m*p1.y)/(1+m*m)-p1.x;
metsz.y := m*(metsz.x-p1.x)+p1.y;
end;
function m(p1,p2:TPont):double;
begin
m := (p2.y-p1.y)/(p2.x-p1.x);
end;
procedure print(db:longint; p : TPont);
begin
writeln(db,':',p.x:10:8, ' ', p.y:10:8);
end;
BEGIN
p0.x := 0;
p0.y := 10.1;
p2.x := 2.8;
p2.y := -9.6;
p1 := metsz(p2,m(p0,p2));
print(0,p1);
print(1,p2);
db := 1;
repeat
inc(db);
p3 := pattan(p1,p2);
print(db,p3);
p1 := p2;
p2 := p3;
until (-0.02<=p2.x) and (p2.x<=0.02) and (p2.y>0);
writeln('KILÉPÉSI PONT:');
print(db,p2);
END.