Page 67 - MATINF Nr. 1
P. 67
Determinarea pozit , iilor relative ... 67
end if
end do
end do
end do
end do
Pentru a determina s , i afis , a m˘asurile unghiurilor dintre perechile de drepte secante neperpen-
diculare folosim secvent , a
print(Masurile unghiurilor dintre dreptele secante neperpendiculare sunt):
for i to n-1 do
for j from i+1 to n do
for k from i to n-1 do
for l from k+1 to n do
if (i <> k or j < l) then
if ((((AreCollinear(P||i, P||j, P||k) and
AreCollinear(P||i, P||j, P||l)) or AreParallel(d||i||j, d||k||l)) or
ArePerpendicular(d||i||j, d||k||l)) = false then
Round := proc (x, n) -> parse(sprintf("%.*f", n, x));
u := FindAngle(d||i||j, d||k||l);
a := 180*convert(u, float, 6)/(3.1415926535); (7)
b := Round(a, 4); c := trunc(b); d := trunc(60*(b-c));
e := Round(3600*(b-c-(1/60)*d), 0);
printf("Masura unghiului dintre dreptele %3.3s si %3.3s este
%d grade %d minute %d secunde \n", d||i||j, d||k||l, c, d, e)
end if
end if
end do
end do
end do
end do
Observat , ie Pentru stabilirea si afis , area pozit , iilor relative a perechilor de drepte determinate
de cele n puncte, secvent , ele (4)-(7) pot fi combinate ˆıntr-una singur˘a, iar programul ˆın Maple
este
for i to n-1 do
for j from i+1 to n do
for k from i to n-1 do
for l from k+1 to n do
if (i <> k or j <> l) then
if AreCollinear(P||i, P||j, P||k)
and AreCollinear(P||i, P||j, P||l) } then
print(Dreptele d||i||j si d||k||l sunt confundate)}
elif AreParallel(d||i||j, d||k||l) then
print(Dreptele d||i||j si d||k||l sunt paralele) (8)
elif ArePerpendicular(d||i||j, d||k||l) then
print(Dreptele d||i||j si d||k||l sunt perpendiculare)
else Round := proc (x, n) -> parse(sprintf("%.*f", n, x));
u := FindAngle(d||i||j, d||k||l);
a := 180*convert(u, float, 6)/(3.1415926535);
b := Round(a, 4); c := trunc(b); d := trunc(60*(b-c));
e := Round(3600*(b-c-(1/60)*d), 0);
print(Dreptele d||i||j si d||k||l sunt secante neperpendiculare)
printf("Masura unghiului dintre cele doua drepte este