U37558.变力做功与平均功率计算

提高+/省选-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

题目:变力做功与平均功率计算

在物理学中,当一个物体在变力 F(x)F(x) 的作用下沿直线运动时,力所做的功可以通过微积分来计算。同时,根据做功的情况可以进一步计算出平均功率。现在我们来考虑一个具体的问题。

假设有一个物体在 xx 轴上从位置 x=ax = a 移动到位置 x=bx = b,所受的力 F(x)F(x) 是关于位置 xx 的函数,力的表达式为 F(x)=2sin(πxL)+3x2F(x)=2\sin(\frac{\pi x}{L}) + 3x^2,其中 LL 是一个给定的长度参数。

任务要求

  1. 你需要编写一个 C++ 程序,实现以下功能:首先,根据用户输入的区间端点 aabb 和长度参数 LL,计算力 F(x)F(x) 在区间 [a,b][a, b] 上对物体所做的功 WW。功的计算公式为 W=abF(x)dxW = \int_{a}^{b} F(x)dx
  2. 接着,根据物体从 x=ax = a 移动到 x=bx = b 所用的时间 tt(由用户输入),计算该过程中的平均功率 PP。平均功率的计算公式为 P=WtP=\frac{W}{t}
  3. 为了计算定积分,可以使用辛普森法则。辛普森法则的公式为:abg(x)dxh3[g(a)+g(b)+4i=1,i 奇数n1g(a+ih)+2i=2,i 偶数n2g(a+ih)]\int_{a}^{b}g(x)dx\approx\frac{h}{3}[g(a)+g(b)+4\sum_{i = 1, i\text{ 奇数}}^{n - 1}g(a + ih)+2\sum_{i = 2, i\text{ 偶数}}^{n - 2}g(a + ih)],其中 h=banh=\frac{b - a}{n}nn 是划分的区间数量(nn 必须为偶数),这里你需要让用户输入 nn 的值。

输入格式

输入包含四行,第一行输入区间左端点 aa(浮点数),第二行输入区间右端点 bb(浮点数),第三行输入长度参数 LL(浮点数),第四行输入移动所用时间 tt(浮点数),第五行输入划分的区间数量 nn(正偶数)。

输出格式

输出包含两行,第一行输出力所做的功 WW,结果保留三位小数;第二行输出平均功率 PP,结果保留三位小数。

输入输出样例

输入样例 1
0
2
4
5
100
输出样例 1
功: 10.677
平均功率: 2.135
输入样例 2
1
3
5
3
200
输出样例 2
功: 28.443
平均功率: 9.481

MarkDown格式


MarkDown格式见下

首页