大家好,我是小小明。

今天看到了一道我做不出来的小学数学题:

目前的要求就是要求出阴影部分的面积:

虽说只是一道小学数字题,但作为渣渣我是真的不会做。虽然我不会做,但是我会Python,所以可以让Python帮我做。

不过这题张老师会做,这是他的解法:

张老师的解法

首先作辅助线:

根据容斥原理,S(阴影部分面积)=S(扇形DAF)+S(扇形DEF)-S(四边形AFED)

S(四边形AFED)=2*S(三角形ADE)=1/2*S(正方形ABCD)=25/2

两个扇形的面积求解会复杂点,但只要找到相似三角形就能找到突破点。

因为∠AFE=∠ADE=90°,所以∠DAF+∠FED=180°

又∠FEC+∠FED=180°,所以∠DAF=∠FEC

故 扇形DAF 与 扇形FEC 相似。

对于相似扇形,面积之比等于边长之比的平方。

因为AD=2*EC,所以S(扇形DAF)=4*S(扇形FEC)

所以S(扇形DAF)+S(扇形DEF)=4*S(扇形FEC)+S(扇形DEF)=3*S(扇形FEC)+S(半圆DC)

S ( 扇形FEC ) = ∠ F E C 2 π ⋅ π ⋅ ( 5 2 ) 2 = 25 ⋅ ∠ F E C 8 \large S(\text{扇形FEC})=\frac{∠FEC}{2π}·\pi·(\frac 5 2)^2=\frac{25·∠FEC}{8} S(扇形FEC)=2π∠FEC​⋅π⋅(25​)2=825⋅∠FEC​

由于∠FEC=∠DAF,故 S ( 扇形FEC ) = 25 ⋅ ∠ D A F 8 \large S(\text{扇形FEC})=\frac{25·∠DAF}{8} S(扇形FEC)=825⋅∠DAF​

下面我们求解∠DAF,由于tan(∠DAE)=DE/AD=1/2

根据倍角公式: tan ⁡ 2 α = 2 tan ⁡ α 1 − tan ⁡ 2 α \large \tan 2 \alpha=\frac{2 \tan \alpha}{1-\tan ^{2} \alpha} tan2α=1−tan2α2tanα​得

t a n ( ∠ D A F ) = t a n ( 2 ∗ ∠ D A E ) = 2 ⋅ 1 2 1 − ( 1 2 ) 2 = 1 3 4 = 4 3 \large tan(∠DAF)=tan(2*∠DAE)=\frac{2·\frac12}{1-{(\frac12)}^2}=\frac{1}{\frac34}=\frac43 tan(∠DAF)=tan(2∗∠DAE)=1−(21​)22⋅21​​=43​1​=34​

所以,∠DAF=arctan(4/3)

所以S(阴影部分面积)=S(扇形DAF)+S(扇形DEF)-S(四边形AFED)

=3*S(扇形FEC)+S(半圆DC)-25/2

=3·(25·arctan(4/3)/8)+((5/2)^2·π)/2-25/2

=75/8·arctan(4/3)+25/8·π-25/2

这样就得到了最终结果为:=75/8·arctan(4/3)+25/8·π-25/2

用python计算一下精确数值:

import math75/8*math.atan(4/3)+25/8*math.pi-25/2

结果:6.0108697112332194

在计算出∠DAF后,算阴影部分的弧长也很简单了:

DF的上弧长=DC弧长-FC弧长=5/2·π-5/2·arctan(4/3)

DF的下弧长=5·∠DAF=5·arctan(4/3)

阴影部分的弧长=DF的上弧长+DF的下弧长=5/2·π+5/2·arctan(4/3)

用python计算一下精确数值:

import math5/2*math.pi+5/2*math.atan(4/3)

结果:10.172219678978513

个人感觉上面的解法虽然计算出来了,还是挺复杂的,直接用python计算积分简单省事:

Python绘制函数图形

首先,我们以D点建立直角坐标系,然后计算出,扇形和圆形的函数分别是:

  • 扇形: y = 5 − 25 − x 2 y=5-\sqrt{25-x^2} y=5−25−x2 ​
  • 圆形: y = 5 x − x 2 y=\sqrt{5x-x^2} y=5x−x2 ​

绘制图形验证一下:

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
%matplotlib inlinex = np.linspace(0, 5, 1024)
y1 = 5-np.sqrt(25-x**2)
y2 = np.sqrt(5*x-x**2)plt.figure(figsize=(5, 5))
plt.plot(x, y1, label='扇形y=5-$\sqrt{25-x^2}$')
plt.plot(x, y2, label='圆形y=$\sqrt{5x-x^2}$')
plt.fill_between(x[y1 <= y2], y1[y1 <= y2], y2[y1 <= y2])
plt.xlim(0, 5)
plt.ylim(0, 5)
plt.axvline(4, ymin=0, ymax=0.4, color="r", ls="--")
plt.legend()plt.show()

从结果看没有问题。

Python求解积分计算阴影部分面积

上面已经计算出了函数表达式,现在我们使用sympy表示一下:

from sympy.abc import x
import sympyy1 = 5-sympy.sqrt(25-x**2)
y2 = sympy.sqrt(5*x-x**2)

为了确定积分的结束位置,我们首先需要计算出两个函数的交点。

令两个函数的差值为0,求解x:

sympy.solve(y2-y1, x)

得到:[0, 4]

说明第二个交点的x坐标是4。

为了得到对应的y坐标,我们可以将x代入两个函数任意一个:

display(y1)
display(y1.subs(x, 4))
display(y2)
display(y2.subs(x, 4))

说明交点的y坐标为2。

然后计算积分:

r1 = sympy.integrate(y2-y1, (x, 0, 4))
r1

结果:

− 25 2 − 25 asin ⁡ ( 5 5 ) 4 + 25 π 8 + 25 asin ⁡ ( 4 5 ) 2 \displaystyle - \frac{25}{2} - \frac{25 \operatorname{asin}{\left(\frac{\sqrt{5}}{5} \right)}}{4} + \frac{25 \pi}{8} + \frac{25 \operatorname{asin}{\left(\frac{4}{5} \right)}}{2} −225​−425asin(55 ​​)​+825π​+225asin(54​)​

计算具体的数值:

r1.evalf()

结果为:6.01086971123322

可以看到与张老师的计算结果几乎一致。

Python求解曲线积分计算阴影部分周长

首先,我们需要清楚曲线积分的计算公式:

那么,我们的计算方法为:

r2 = sympy.integrate(sympy.sqrt(1+sympy.diff(y1, x)**2), (x, 0, 4)) + \sympy.integrate(sympy.sqrt(1+sympy.diff(y2, x)**2), (x, 0, 4))
r2

结果:

5 asin ⁡ ( 4 5 ) + 5 ∫ 0 4 1 5 − x x d x 2 \displaystyle 5 \operatorname{asin}{\left(\frac{4}{5} \right)} + \frac{5 \int\limits_{0}^{4} \frac{\sqrt{\frac{1}{5 - x}}}{\sqrt{x}}\, dx}{2} 5asin(54​)+250∫4​x ​5−x1​ ​​dx​

计算具体的数值:

r2.evalf()

结果为:10.1722196789785

Python神器可以拯救小学数学题不会做相关推荐

  1. python解越南逆天小学数学题

    题目来自越南保禄小学三年班,学生需要由上至下.从左到右的顺序,填入1至9的数字,可重复填写,并按先乘除后加减的运算法则,完成整条算式. 题目如果由我自己来做,实在不知道怎么做,只能感叹现在的小学生实在 ...

  2. python小学生口算题生成器_小学数学题出题神器

    小学数学题生成器是一款简易的小学数学题目出题神器,目前支持20以内的加减混合运算,未来会更新更多的功能.对于想要在家给孩子练习的家长来说,还是比较方便的,而且能够打印. 软件介绍 今年儿子刚上一年级, ...

  3. 【Python基础】拯救你奇丑无比的Python代码的神器

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 Python编程语言需要遵循PEP8规范,但是初学者往往记不住这个 ...

  4. 我利用这几个神器来拯救自己奇丑无比的python代码

    Python编程语言需要遵循PEP8规范,但是初学者往往记不住这个规范,代码写得比较丑.本文推荐几个神器来拯救奇丑无边的python代码. 一.Jupyter notebook 篇 Jupyter n ...

  5. 【Python基础】推荐几个神器来拯救奇丑无比的python代码

    Python编程语言需要遵循PEP8规范,但是初学者往往记不住这个规范,代码写得比较丑.本文推荐几个神器来拯救奇丑无边的python代码. 一.Jupyter notebook 篇 Jupyter n ...

  6. 最近被刷屏的这道小学数学题,你怎么看?

    来自网络 ●●● 看着孩子的作业题, 有多少爸爸妈妈感叹, 幸亏自己毕业得早, 要不然小学都不能毕业! 这不, 最近一道小学数学题, 又刷爆了家长们的朋友圈. 一起往下看, 算一算图中的这道小学数学题 ...

  7. OpenAI新发现:GPT-3做小学数学题能得55分,验证胜过微调!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 会做数学题的GPT-3,逻辑推理能力是上了一个高度,但还不能及格. ...

  8. P5431 【模板】乘法逆元2(小学数学题,毒瘤鱼,卡常之王yyds)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P5431 [模板]乘法逆元2 题目传送门 题目大意: 给定 nnn 个正整数 aia_iai​ ,求 ...

  9. 一个傻瓜式构建可视化 web的 Python 神器

    大家好,我是明哥. 之前给大家安利过一款构建可视化 web app 的 Python 工具库 pywebio,不知道有没有人去试用下? 今天要介绍这个神器,可以说是  pywebio  的 Plus  ...

最新文章

  1. 信息学奥赛一本通C++语言——1062:最高的分数
  2. 登陆窗体相关的控件 1124
  3. AD2S1210的使用总结
  4. 访问共享打印机报错:0x00000bcb
  5. 数字图像处理基本知识点1(冈萨雷斯)
  6. HTML单选框-多选框-按钮
  7. polkitd进程解释
  8. GSYVideoPlayer禁用快进功能
  9. 【爱课程-精品通选系列课程】哲学智慧与人文思想
  10. 线代——余子式和代数余子式
  11. 设置苹果手机的生日提醒
  12. 微博营销的价值和优缺点
  13. CRM客户管理系统怎样对客户价值进行评估
  14. 企业知识管理的重要性
  15. Python图片读显写的几种方式
  16. 美团点评2020校招测试方向笔试题
  17. 接口之----手机号验证接口api
  18. essay--上海到南京间D字头列车时刻表
  19. java计算机毕业设计钢材出入库管理系统MyBatis+系统+LW文档+源码+调试部署
  20. 普通变换器驱动波形和软开关驱动波形的区别:米勒平台的存在与否

热门文章

  1. 旧式台式计算机,浅析老式台式电脑用Win7好还是win10系统好?哪个比较流畅?
  2. 什么,你算出的P-value看上去像齐天大圣变的庙?
  3. 远古守卫/cocos2d-x 源代码/塔防游戏/高仿王国保卫战
  4. 若依ruiyi使用小计
  5. TIME_WAIT状态总结
  6. C#中write和writeline的区别
  7. C# | WriteLine写入.txt 文件
  8. FZU 2207 ——以撒的结合——————【LCA + 记录祖先】
  9. tui-image-editor编辑图片的使用
  10. IDEA_NoSuchMethodError: DefaultModelValidator: method <init>()V not found