Проверка попадания точки в заданную область - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, нужна помощь Заданы два одномерных массива X и Y из N элементов каждый, хранящий координаты N точек на плоскости Нужно: 1. Записать Логическое выражение, соответствующее заданной области истинности. 2. Составить программ подсчета количества точек, попавших в заданную область

Решение задачи: «Проверка попадания точки в заданную область - Turbo Pascal»

textual
Листинг программы
uses crt;
const nmax=50;
function f(x,y:real):boolean;
begin
f:=(y<=0)and(x*x+y*y<=4)and not((abs(x)<1)and(y<=0)and(y>-1));
end;
var x,y:array[1..nmax] of real;
    n,i:byte;
    k:integer;
begin
clrscr;
randomize;
repeat
write('Количество точек от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Кооодинаты точек');
for i:=1 to n do
 begin
  x[i]:=-2+4*random;
  y[i]:=-2+4*random;
  write(i:2,'(',x[i]:4:1,',',y[i]:4:1,') ');
  if i mod 5=0 then writeln;
 end;
writeln;
k:=0;
for i:=1 to n do
if f(x[i],y[i])then inc(k);
write('Количество точек, попавших в область=',k);
readln
end.

Объяснение кода листинга программы

  1. В начале кода подключается библиотека crt, которая является стандартной для Turbo Pascal.
  2. Затем определяется константа nmax, которая ограничивает количество точек до 50.
  3. Далее определяется функция f, которая проверяет, попадает ли точка в заданную область. Эта функция использует булевую переменную f для хранения результата проверки.
  4. После этого определяются переменные x, y, n и i, которые будут использоваться в цикле. Переменная n и i являются байтами, а переменные x и y - массивами из 50 элементов типа real.
  5. Затем запускается цикл повторения, который запрашивает у пользователя количество точек от 2 до 50, и сохраняет это значение в переменной n.
  6. Внутри цикла выводится сообщение с запросом количества точек и их координат. Для каждой точки вычисляются ее координаты в соответствии с формулой x = -2 + 4 random и y = -2 + 4 random.
  7. Затем проверяется, попадает ли текущая точка в заданную область, используя функцию f. Если точка попадает в область, увеличивается счетчик k.
  8. После завершения цикла выводится сообщение с количеством точек, попавших в область.
  9. Наконец, считывается значение k, которое представляет собой количество точек, попавших в область.

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы