#9978. 2026/7/27/GOC小组课堂笔记(坐标命令)

2026/7/27/GOC小组课堂笔记(坐标命令)

课堂笔记:多边形构成判定 + 坐标命令


一、多边形构成判定

核心通用结论

判断 n 条边能否构成 n 边形,只需验证一条规则:

除最长边外,其余所有边的长度之和 > 最长边

原理:最长边是所有边里长度最大的,只要其余边加起来都比它长,那么任意其他边的组合之和也一定满足构成条件。

1. 三角形(3条边)

  • 判定规则:较短两条边的和 > 最长边
  • 示例:边长 3、4、5 → 3+4>5 → 可以构成三角形

2. 四边形(4条边)

  • 判定规则:较短三条边的和 > 最长边
  • 示例:边长 2、3、4、5 → 2+3+4>5 → 可以构成四边形

3. C++ 代码实现(四边形判定)

#include <iostream>
using namespace std;

int main() {
    int a, b, c, d;
    int max_len = 0;  // 存储最长边,必须初始化,避免随机值出错
    int sum = 0;      // 存储四条边的总长度

    cin >> a >> b >> c >> d;

    // 依次比较,找出四条边中的最大值
    if(a > max_len) max_len = a;
    if(b > max_len) max_len = b;
    if(c > max_len) max_len = c;
    if(d > max_len) max_len = d;

    sum = a + b + c + d;

    // 核心判断:其余三边之和 > 最长边 → 可以构成四边形
    if(sum - max_len > max_len) {
        // 可以构成四边形的逻辑写这里
    } else {
        // 不能构成四边形的逻辑写这里
    }
    return 0;
}

💡 易错点提醒:

  • 存最大值的变量必须初始化(如 max_len = 0),否则变量初始是随机数值,会导致判断完全错误。
  • sum - max_len 是通用写法,等价于「去掉最长边后,剩下所有边的和」。

二、GOC 画笔基础命令

1. 坐标移动命令

函数写法 功能说明 是否留下痕迹 是否改变画笔方向
p.moveTo(x, y) 把画笔瞬移到坐标 (x, y) ❌ 不会画线 ❌ 方向保持不变
p.lineTo(x, y) 从当前位置画直线,连接到坐标 (x, y) ✅ 会画出线条

2. 坐标获取命令

  • p.getX():获取画笔当前位置的 x 坐标
  • p.getY():获取画笔当前位置的 y 坐标

💡 速记口诀:

  • moveTo 瞬移不留印,lineTo 连线有痕迹
  • 两个命令只换位,画笔朝向不改变