Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пример 9.8



Десять точек заданы на плоскости своими координатами xi, yi (i=1,..,10), окружность уравнением (x - x0 )2 + (y - y0 )2 = r2, где x0 и y0 - координаты её центра, а r - радиус. Определить число точек, лежащих внутри окружности.

Алгоритм главной программы

       
 
 
   


Алгоритм подпрограммы

 
 


program example98;

type c = array [1..10] of real;

var x, y: c;

i, j: integer;

x0, y0, r: real;

function kkk(x, y: c; a, b, r:real):integer;

var

z: real;

begin

z:=sqrt (sqr (x - a) + sqr (y - b)) - r;

if z <= 0 then kkk:= 1 else kkk:= 0

end;

begin

readln(x0, y0, r);

for j:=1 to 10 do readln (x [ j ], y [ j ]);

i:=0;

for j:=1 to 10 do i:= i + kkk (x [ j ],y [ j ], x0, y0, r);

write ('i= ', i:2)

end.

Взаимодействие между двумя программными единицами - главной программой и функцией kkk осуществляется следующим образом. Главная программа из тела своего цикла вызывает функцию (таких вызовов 10 - по числу пар точек), каждый раз передавая ей в качестве фактических параметров координаты xi, yi очередной точки, координаты x0, y0 центра окружности и значение её радиуса r. Функция вычисляет разность z между радиусом окружности и расстоянием от её центра до очередной точки. Если z ≤ 0, что свидетельствует о нахождении точки внутри окружности, то имени функции присваивается значение равное 1, в противном случае 0. Эти значения после их возврата в главную программу учитываются счётчиком количества точек, попавших внутрь окружности-переменной i.





Дата публикования: 2015-01-24; Прочитано: 164 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...