Определить, сколько сторон должно быть у правильного многоугольника, вписанного в окружность радиуса R - Pascal ABC
Формулировка задачи:
Определить, сколько сторон должно быть у правильного многоугольника, вписанного в окружность радиуса R. чтобы его площадь отличалась от площади круга на величину, не превосходящую Е. (Е и R - задаются пользователем).
Обязательно должен присутствовать цикл repeat (!!!!).
Спасибо за внимание/помощь.
Решение задачи: «Определить, сколько сторон должно быть у правильного многоугольника, вписанного в окружность радиуса R»
textual
Листинг программы
function S_mn(r:real;n:integer):real; begin result:=n*r*r*sin(2*pi/n)/2; end; var n:integer; r,e,sk,sm:real; begin repeat write('Введите радиус круга R>0 R='); readln(r); until r>0; sk:=pi*r*r; n:=3; sm:=S_mn(r,n); repeat write('ВВедите точность сравнения площадей 0<e<',sk-sm:0:2,' e='); readln(e) until(e>0)and(e<sk-sm); repeat n:=n+1; sm:=S_mn(r,n); until sk-sm<e; writeln('n=',n); writeln('Площадь круга=',sk:0:5); writeln('Площадь многоугольника=',sm:0:5); end.
Объяснение кода листинга программы
- Создается функция S_mn, которая принимает два аргумента: радиус R и количество сторон n. Функция вычисляет площадь многоугольника, вписанного в окружность радиуса R, используя формулу Герона.
- Создается переменная n типа integer для хранения количества сторон многоугольника.
- Создается переменная r типа real для хранения радиуса окружности.
- Создается переменная e типа real для хранения точности сравнения площадей.
- Вызывается функция S_mn с аргументами r и n. Результат сохраняется в переменной sm.
- Выполняется цикл while, пока значение переменной e меньше разности площадей круга и многоугольника (sk-sm). В каждой итерации цикла увеличивается значение переменной n на единицу и вызывается функция S_mn с новыми значениями r и n.
- Выводится значение переменной n.
- Выводится площадь круга, используя формулу pirr.
- Выводится площадь многоугольника, используя значение переменной sm.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д