Warning: session_start(): open(/tmp/sess_8505076e220f832cd2208459398da4cc, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430
Writing /data/wiki/data/cache/d/de2edb2fcb553ea79b79c722a4e13dbc.captchaip failed

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/actions.php on line 38

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/lib/tpl/dokuwiki/main.php on line 12
2020-2021:teams:namespace:小型matlab的实现方式 [CVBB ACM Team]

用户工具

站点工具


2020-2021:teams:namespace:小型matlab的实现方式

这个页面用于吐槽多校第四场的一道题目。作为大作业感觉不错,建议未来的助教们考虑考虑。

引言

ZYB对数学有敏锐的直觉,尤其是在几何问题上。

几何问题是这样的:求∠CAM的值。

或者是这样的:如果AC=x−3,BE=20,AB=16,CD=x+5,求x。

为了更容易地分析问题,输入将包含逻辑形式,而不是原始的问题文本和图表。

基本逻辑形式

  • 数字。使用十进制整数表示数字。
  • 未知数字。x是唯一未知的数字。
  • 表达式。表达式可以是一个数字,也可以是一个表达式,其中x只出现一次,最多一次加减法,最多一次乘法。乘法符号可以省略。
    • 例如:233,3x+5,x*2+3,x-2是有效表达式,但3x+5-3,x+2x,5*3,2y不是。
  • 点。使用单大写字母表示点。
  • 线。用Line(Point, Point)来表示一条线(实际上它是一条线段)。
    • 例如:Line(A, B)。
  • 角。使用Angle(Point, Point, Point)来表示一个角。
    • 例如:Angle(A,B,C)。
  • 圆。使用Circle(Point)表示具有特定中心的圆。
    • 例如:Circle(O)。
  • 线段长。使用LengthOf(Line)来获得特定线段的长度值。
    • 例如:LengthOf(Line(A, B))。
  • 角度。用MeasureOf(Angle)得到特定角度的度数值。
    • 例如:MeasureOf(Angle(A,B,C))。
  • 项(Term)。项=线段长|角度|表达式。
  • 相等。使用Equals(Term,Term)来声明这两个项的值相等。
    • 例如:Equals(LengthOf(A,B), 2)、Equals(MeasureOf(angle(A, B, C))。
  • 垂直。使用Perpendicular(Line, Line)表示两条垂直线。
    • 例如:Perpendicular(Line (A, C), Line(B, D))。
  • 平行。使用Parallel(Line,Line)表示两条平行线。保证各点都是有序的。
    • 例如:Parallel(Line (A, C), Line(B, D))。
  • 点在线上。使用PointLiesOnLine(Point, Line)来表示位于直线上的点。
    • 例如:PointLiesOnLine(A, Line(B, C))。
  • 点在圆上。使用PointLiesOnCircle(Point, Circle)表示位于圆上的点。
    • 例如:PointLiesOnCircle(A, Circle(O))。
  • 问题。使用Find(Term)来询问给定项的确切值。
    • 例如:Find(x)、Find(LengthOf(Line(A,B)))。

请注意,图和文本中的所有条件都将转换为逻辑形式。你现在得到了一个只有一个问题(Find phrase)的逻辑表单列表,并希望找到解决方案。

定理

2020-2021/teams/namespace/小型matlab的实现方式.1595322723.txt.gz · 最后更改: 2020/07/21 17:12 由 great_designer