Определить, сколько из точек находится внутри прямоугольника. - Pascal
Формулировка задачи:
Ребят,помогите пожалуйста,будьте добры.
Надо составить программки в Паскале.
Составить математическую модель, таблицу идентификаторов и алгоритм для следующих задач:
Задано n точек. Определить, сколько из них находится внутри прямоугольника.
Решение задачи: «Определить, сколько из точек находится внутри прямоугольника.»
textual
Листинг программы
var
ax, ay, bx, by, x, y, t: Real;
n, k: Integer;
begin
Wrte('Координаты углов прямоугольника: '); Read(ax,ay,bx,by);
if ax>bx then begin t:=ax; ax:=bx; bx:=t; end;
if ay>by then begin t:=ay; ay:=by; by:=t; end;
Write('Количество точек: '); Read(n); {k:=0;}
Write('Введите координаты точек: ');
for n:=1 to n do begin
Read(x,y);
if (ax<=x) and (x<=bx) and (ay<=y) and (y<=by) then Inc(k);
end;
WriteLn('Внутри: ',k);
end.
Объяснение кода листинга программы
- Объявление переменных:
ax, ay, bx, by, x, y, t- переменные типа Real (для хранения координат точек)n, k- переменные типа Integer (для хранения количества точек и количества точек внутри прямоугольника)
- Чтение координат углов прямоугольника:
- Читаются значения переменных
ax, ay, bx, byс клавиатуры
- Читаются значения переменных
- Упорядочивание координат углов прямоугольника:
- Если
axбольше чемbx, то значения переменныхaxиbxменяются местами - Если
ayбольше чемby, то значения переменныхayиbyменяются местами
- Если
- Чтение количества точек:
- Читается значение переменной
nс клавиатуры
- Читается значение переменной
- Считывание координат точек и проверка, находятся ли они внутри прямоугольника:
- Запускается цикл от 1 до значения переменной
n - Для каждой точки считываются координаты
xиy - Проверяется, находятся ли координаты внутри прямоугольника: если (ax<=x) и (x<=bx) и (ay<=y) и (y<=by), то увеличивается значение переменной
k
- Запускается цикл от 1 до значения переменной
- Вывод результата:
- Выводится количество точек, которые оказались внутри прямоугольника.