Определить, сколько из точек находится внутри прямоугольника. - 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 до значения переменной
- Вывод результата:
- Выводится количество точек, которые оказались внутри прямоугольника.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д