Подсчет количества точек с целочисленными координатами, находящихся внутри круга заданного радиуса - Pascal
Формулировка задачи:
Напишите программу для подсчета числа точек с целочисленными координатами, находящихся внутри круга с центром в начале координат и радиусом 1000.
Решение задачи: «Подсчет количества точек с целочисленными координатами, находящихся внутри круга заданного радиуса»
textual
Листинг программы
var x,y,r,x2,r2,k:integer; begin r:=1000; k:=0; r2:=r*r;//^2 чтобы не считать на каждом шаге //считаем в одной четверти по вертикальным линиям for x:=1 to r-1 do//ось У не считаем begin x2:=x*x;//x^2 чтобы не считать на каждом шаге k:=k+trunc(sqrt(r2-x2))//количество точек на одной линии end; k:=4*(k+r)+1;//кол. точек в четверти умножаем на 4+4 радиуса + точка (0;0) write('k=',k); end.
Объяснение кода листинга программы
- Объявляются переменные:
x
- координата точки по оси Xy
- координата точки по оси Yr
- радиус кругаx2
- квадрат координаты точки по оси Xr2
- квадрат радиуса кругаk
- счетчик точек, находящихся внутри круга
- Присваивается значение переменной
r
равное 1000. - Присваивается значение переменной
k
равное 0. - Вычисляется значение переменной
r2
как квадрат переменнойr
(r2 := r * r). - Запускается цикл для подсчета точек в одной четверти круга, проходя через вертикальные линии.
- Для каждого значения переменной
x
, начиная от 1 до r-1 (ось Y не учитывается), выполняется:- Вычисляется значение переменной
x2
как квадрат значения переменнойx
(x2 := x * x). - Значение переменной
k
увеличивается на целую часть квадратного корня из разности r2 и x2 (k := k + trunc(sqrt(r2 - x2))).
- Вычисляется значение переменной
- Для каждого значения переменной
- Вычисляется общее количество точек в круге:
- Умножается значение переменной
k
на 4 и прибавляется 4 умноженное на значение переменнойr
, затем прибавляется 1 (k := 4 * (k + r) + 1).
- Умножается значение переменной
- Выводится результат подсчета в формате
k=значение_переменной_k
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д