середа, 10 грудня 2014 р.

Алгоритми для знаходження кількісних характеристик відрізків

Алгоритми для знаходження кількісних характеристик відрізків
Задача1. Написати алгоритм, для обчислення довжини відрізка, що заданий координатами  кінців А(х1;у1) та В(х2; у2)
Описание: https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS0MnWUyzaIX-ZU6rmXyh6nTfDTMWXQZFKYsv633eM0kxk8w8DzФормула довжини  відрізка  Описание: http://distance.edu.vn.ua/metodic/pascal/Image005.gif
Розв′язання.
Program vidr1;
var x1,y1,x2,y2,d:real;
begin
     writeln('введите A(X1,Y1) и B(X2,Y2)');
     readln( x1,y1,x2,y2 );
     d:=sqrt(sqr(y2-y1)+sqr(x2-x1));
     writeln('длина отрезка |AB|=',d); end.

Задача 2. Написати алгоритм, для обчислення координат точки С(х; у) на відрізку АВ, що ділить заданий відрізок координатами  кінців А(х1;у1) та В(х2; у2) у відношенні l:1.

Формули поділу відрізка на частини:

Описание: https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSuBM9fuNfMFQ25q2GBnwuvBjg1hLCKcnHvb56teI7Ot46N8rdZnw Описание: https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQsEORYpgQ8H0DxSPVRf_eZ_WbIuMU0JlCez5PjlK9wR9U-hi1L

Задача 3.  Написати алгоритм, для з′ясування яка точка А(х1;у1) чи В(х2; у2) ближче до початку координат.
Описание: http://ege-study.ru/materialy-ege/vektory-na-ege-po-matematike-v-zadache-v6-dejstviya-nad-vektorami/pict_vectors/11.png
Program vidr3;
var x1,y1,x2,y2,d1,d2:real;
begin
     writeln('введите A(X1,Y1) и B(X2,Y2)');
     readln( x1,y1,x2,y2 );
     d1:=sqrt(sqr(y1)+sqr(x1));
     d2:=sqrt(sqr(y2)+sqr(x2));
     if d1 < d2 then writeln('Точка A ближе')
     else if d1 > d2 then writeln('Точка B ближе')
     else writeln('Одинаково');
end.

Задача 4. Написати алгоритм, для з′ясування  перетину двох відрізків, що задані координатами кінців1-ий відрізок а: (ах1;ау1) (ах2; ау2) 2-ий відрізок b: (bх1;bу1) (bх2; bу2). Якщо True, то перетин є. Якщо  False, то перетину  відрізків немає.
Program vidr4;
function Intersection(ax1,ay1,ax2,ay2,bx1,by1,bx2,by2:real):boolean; 
var v1,v2,v3,v4:real;
   begin
Описание: https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQtPIqBH4KZNTzdrJLThnq_HH8vao3hzFU_HFCCc558_AoWYb0gZAОписание: http://shkola.ua/web/uploads/book/40/images/Q54SJpQO.jpg   v1:=(bx2-bx1)*(ay1-by1)-(by2-by1)*(ax1-bx1); 
   v2:=(bx2-bx1)*(ay2-by1)-(by2-by1)*(ax2-bx1);
   v3:=(ax2-ax1)*(by1-ay1)-(ay2-ay1)*(bx1-ax1);
   v4:=(ax2-ax1)*(by2-ay1)-(ay2-ay1)*(bx2-ax1);
   Intersection:=(v1*v2<0) and (v3*v4<0); end;  
begin { основная программа, вызов функции - тест }
   writeln(Intersection(1,1,5,5,1,2,3,1)); {test1, yes Intersection}
   writeln(Intersection(1,1,5,5,1,2,1,3)); {test2, no  Intersection}
end.


Немає коментарів:

Дописати коментар