Informatică, întrebare adresată de brentimusps, 8 ani în urmă

Hey, salut!
Poate cineva sa-mi spuna ce va afisa urmatorul program Pascal? Si cu explicatie rog mult!
Multumesc anticipat!!!


brentimusps: Program P5; {nivel 0}
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.
brentimusps: *Nu pot redacta intrebarea..*
boiustef: ce inseamnă nu poţi redacta?
brentimusps: Nu stiu, dau click pe "Editare" si nu se intimpla nimic..
boiustef: :))) Editare e butonul activ celuia care posteaza Raspuns, nu scrie comentarii

Răspunsuri la întrebare

Răspuns de boiustef
1

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


boiustef: Sper ca am fost explicit...
brentimusps: Mersi mult frate!
Alte întrebări interesante