03000390030003400311681973821300 计算正多边形面积 描述 正多边形是边长相等的多边形,而且所有的角相等。编写程序,提示用户输入边数以及正多边形的边长,然后利用下列公式计算其面积(保留两位小数)。说明:s表示为边长,n代表为边数。
时间: 2023-06-04 09:09:04 浏览: 206
面积公式为:(ns^2)/(4tan(pi/n)),其中n为边数,s为边长。请用户依次输入边数n和边长s。程序如下:
```python
import math
n = int(input())
s = float(input())
area = (n * s ** 2) / (4 * math.tan(math.pi / n))
print("{:.2f}".format(area))
```
注意输入格式,保留小数点后两位输出面积。
相关问题
在一个正n边形(Regular Polygon)中,所有边的边长都相等,且所有角的度数相同(即这个多边形是等边、等角的)。请从下列的抽象类shape类扩展出一个正n边形类RegularPolygon,这个类将正n边形的边数n和边长a作为私有成员,类中包含初始化边数n和边长a的构造方法。
以下是RegularPolygon类的实现:
```java
public class RegularPolygon extends Shape {
private int n; // 边数
private double a; // 边长
public RegularPolygon(int n, double a) {
this.n = n;
this.a = a;
}
@Override
public double getArea() {
return (n * a * a) / (4 * Math.tan(Math.PI / n));
}
@Override
public double getPerimeter() {
return n * a;
}
}
```
在这个实现中,我们使用了抽象类Shape的方法getArea和getPerimeter来计算正n边形的面积和周长。在RegularPolygon类中,我们将边数n和边长a作为私有成员,并在构造方法中初始化它们。由于正n边形的面积和周长都可以通过n和a计算出来,所以我们可以实现抽象方法来计算它们的值。在getArea方法中,我们使用了正n边形的公式:
```
Area = (n * a^2) / (4 * tan(π/n))
```
在getPerimeter方法中,我们直接将周长计算为n * a。
R6-2 从抽象类shape类扩展出一个正n边形 分数 10 作者 张德慧 单位 西安邮电大学 在一个正n边形(Regular Polygon)中,所有边的边长都相等,且所有角的度数相同(即这个多边形是等边、等角的)。请从下列的抽象类shape类扩展出一个正n边形类RegularPolygon,这个类将正n边形的边数n和边长a作为私有成员,类中包含初始化边数n和边长a的构造方法。 public abstract class shape {// 抽象类 public abstract double getArea();// 求面积 public abstract double getPerimeter(); // 求周长 } 计算正n边形的面积公式为: Area=n×a×a/(tan((π/n))×4); 注意:需要将角度转换成弧度后再计算三角函数。 类名:RegularPolygon
代码如下:
```
public class RegularPolygon extends shape {
private int n; // 边数
private double a; // 边长
public RegularPolygon(int n, double a) {
this.n = n;
this.a = a;
}
@Override
public double getArea() {
double radian = Math.toRadians(180.0 / n); // 角度转弧度
return n * a * a / (4 * Math.tan(radian));
}
@Override
public double getPerimeter() {
return n * a;
}
}
```
在正n边形类中,我们定义了私有成员变量n和a来存储正n边形的边数和边长。RegularPolygon类继承了shape抽象类,并实现了getArea()和getPerimeter()方法。在getArea()方法中,我们根据公式计算正n边形的面积,先将角度转换成弧度,然后使用Math库中的tan()方法计算正切值。在getPerimeter()方法中,我们直接返回正n边形的周长,即n*a。
阅读全文