Проверка попадания точки в заданную область - Turbo Pascal (32186)
Формулировка задачи:
Здравствуйте, нужна помощь, а именно блок-схема и сама программа.
Мое задание - на 2м рисунке)
Спасибо!
Решение задачи: «Проверка попадания точки в заданную область»
textual
Листинг программы
uses crt; function pop(x,y:real):boolean; begin pop:=(x*x+y*y<=4)and(abs(x)+abs(y)<=1) end; var x,y:real; n,i,k:integer; begin clrscr; write('n='); readln(n); k:=0; writeln('Введите координаты ',n,' точек'); for i:=1 to n do begin readln(x,y); if pop(x,y)then inc(k) end; writeln('Попало ',k,' точек'); readln end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая является стандартной библиотекой Turbo Pascal и используется для работы с потоками ввода-вывода.
- Затем определяется функция pop, которая принимает два аргумента типа real и возвращает логическое значение true, если точка попадает в заданную область (xx + yy <= 4 и abs(x) + abs(y) <= 1), иначе возвращает false.
- Далее объявляются переменные x, y, n, i и k. Переменная n предназначена для хранения количества введенных точек, переменная i используется для цикла чтения координат точек, а переменная k - для подсчета количества точек, попавших в область.
- Затем происходит очистка экрана с помощью функции clrscr.
- После этого выводится запрос на ввод количества точек.
- Далее идет цикл for, в котором происходит чтение координат точек.
- Внутри цикла проверяется условие попадания точки в область с помощью функции pop и, если условие выполняется, увеличивается значение переменной k.
- По завершении цикла выводится количество точек, попавших в область.
- Конец программы завершается вызовом функции readln для вывода сообщения.