Hey, salut!
Poate cineva sa-mi spuna ce va afisa urmatorul program Pascal? Si cu explicatie rog mult!
Multumesc anticipat!!!
Răspunsuri la întrebare
Functia F calculează distanţa dintre două puncte p1 şi p2, In mate se stie ca distanta dintre punctele A(x1,y1) şi B(x2,y2) se afla după formula
AB=sqrt((x1-x2)^2 + (y1-y2)^2)
In procedura P se calculeaza laturile AB, AC si BC a triungiului, apeland de trei ori functia F
d[1]:=F(A,B);
d[2]:=F(A,C);
d[3]:=F(B,C);
Aceste valori se inscriu in vectorul d si in fine se calculeaya suma laturilor, astfel obtinem perimetrul triunghiului in variabila Res. Deoarece variabila Res e variabila globala, procedura P va returna rezultatul lui Res.
Sa meditam la partea principala a programului:
begin
A.x:=0; A.y:=0;
B.x:=4; B.y:=0;
C.x:=0; C.y:=3;
P;
WriteLn(Res:0:1);
end.
Coordonatele punctelor se introduc, Se apeleaza procedura P care calculeaza perimetrul triunghiului. Daca ai desena pe planul de coordonate XOY Aceste puncte, A in originea de coordonate, B e pe axa OX, iar C pe axa OY si ai uni aceste puncte vei obtine un triunghi dreptunghic egiptean cu catetele 3 si 4 iar ipotenuza 5. Rvident perimetrul lui va fi 12. Deci cu instructiunea WriteLn(Res:0:1); se va afisa 12.0
La o adica in P se calculeaza suma lungimilor a 3 segmente
type T=record
x,y:integer;
end;
M=array[1..3] of real;
var A,B,C : T;
Res : real;
function F(p1,p2:T):real;
var r:real;
begin
r:=sqr(p1.x-p2.x)+sqr(p1.y-p2.y);
F:=sqrt(r);
end;
procedure P; {nivel ___}
var d:M; i:integer;
begin
Res:=0;
d[1]:=F(A,B);
d[2]:=F(A,C);
d[3]:=F(B,C);
for i:=1 to 3 do
Res:=Res+d[i];
end;
begin
A.x:=0; A.y:=0;
B.x:=4; B.y:=0;
C.x:=0; C.y:=3;
P;
WriteLn(Res:0:1);
end.