begin Write('Введите величину радиуса окружности: '); Readln(r); r2 := sqr(r); n := 0; {1. Точки в первой четверти без учета попавших на оси } x := 1; while x <= r do begin y := 1; while y <= r do begin if sqr(x) + sqr(y) <= r2 then n := n + 1; y := y + 1 end; x := x + 1 end; n := 4 * n; { учли точки в остальных трех четвертях } n := n + 1; { учли точку в начале координат } n := n + 4 * trunc(r); { учли точки, находящиеся на координатных осях } Writeln('Число точек, принадлежащих кругу, равно ', n); end.
Тестовое решение: Введите величину радиуса окружности: 3 Число точек, принадлежащих кругу, равно 29
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Представить число 89 в прямом, обратном и дополнительном ходах
r, r2, x, y: real;
n: integer;
begin
Write('Введите величину радиуса окружности: '); Readln(r);
r2 := sqr(r); n := 0;
{1. Точки в первой четверти без учета попавших на оси }
x := 1;
while x <= r do
begin
y := 1;
while y <= r do
begin
if sqr(x) + sqr(y) <= r2 then n := n + 1;
y := y + 1
end;
x := x + 1
end;
n := 4 * n; { учли точки в остальных трех четвертях }
n := n + 1; { учли точку в начале координат }
n := n + 4 * trunc(r); { учли точки, находящиеся на координатных осях }
Writeln('Число точек, принадлежащих кругу, равно ', n);
end.
Тестовое решение:
Введите величину радиуса окружности: 3
Число точек, принадлежащих кругу, равно 29