admin管理员组

文章数量:1437124

杨校老师课堂之C++备战全国青少年科技教育成果展示大赛(二)

备战青科赛

赛事描述

主题:“科技强国・未来有我”。 目标: 坚持立德树人根本任务,培养具有家国情怀、崇尚科学的新时代好少年。 宗旨: 彰显公益普惠风尚,助力全面实施素质教育,为建设高质量教育体系贡献力量。

比赛内容

在这里插入图片描述

知识储备

组合的正三角形

题目描述

这是由两个正三角形组成的图形。 三角形的边长为 150,色号为绿色(10 号色)。 三角形的一个顶点在另一个三角形底边的中心位置。请画出下图。

输入格式

输出格式

代码语言:javascript代码运行次数:0运行复制
int main() {
    // 设置画笔的某种属性,参数为 10,推测可能是颜色、粗细等属性,具体取决于 pen 对象的实现
    pen.c(10);

    // 让画笔向右旋转 90 度
    pen.rt(90);

    // 开始第一个 for 循环,循环 3 次,用于绘制一个等边三角形
    for (int i = 0; i < 3; i++) {
        // 画笔向前移动 150 个单位距离
        pen.fd(150);
        // 画笔向右旋转 120 度
        pen.rt(120);
    }

    // 画笔向右旋转 60 度
    pen.rt(60);

    // 画笔向前移动 150 个单位距离
    pen.fd(150);

    // 画笔向右旋转 120 度
    pen.rt(120);

    // 画笔向前移动 75 个单位距离
    pen.fd(75);

    // 画笔旋转 180 度,即反转方向
    pen.rt(180);

    // 开始第二个 for 循环,循环 3 次,用于绘制另一个等边三角形
    for (int i = 0; i < 3; i++) {
        // 画笔向前移动 150 个单位距离
        pen.fd(150);
        // 画笔向左旋转 120 度
        pen.lt(120);
    }

    // 程序正常结束,返回值 0 表示程序执行成功
    return 0;
}

2. 旋转的椭圆

题目描述

这是由空心椭圆组成的花朵,花朵颜色为橘色(14 号色)。 椭圆的横半径为 20,纵半径为 100;椭圆的中心点到花朵中心点的长度为 110。 请画出下图。

输入格式

输出格式

代码语言:javascript代码运行次数:0运行复制
int main() {
    // 定义一个整型变量 a 并初始化为 100
    int a = 100;
    // 定义一个整型变量 b 并初始化为 20
    int b = 20;
    // 定义一个整型变量 c 并初始化为 110
    int c = 110;

    // 设置画笔的速度为 9,隐藏画笔,并且抬起画笔(可能意味着移动时不绘制)
    // 同时设置画笔的某种颜色属性为 14(具体颜色含义取决于 p 对象的实现)
    p.speed(9).hide().up();
    p.c(14);

    // 开始一个循环,循环 12 次
    for (int i = 0; i < 12; i++) {
        // 画笔向前移动 c 个单位距离(这里 c 的值为 110)
        p.fd(c);

        // 调用 e 方法,传入参数 b 和 a(b 为 20,a 为 100),推测 e 方法执行某种特定绘图操作
        p.e(b, a);

        // 画笔向后移动 c 个单位距离(这里 c 的值为 110)
        p.bk(c);

        // 画笔向右旋转 30 度
        p.rt(30);
    }

    // 程序正常结束,返回值 0 表示程序执行成功
    return 0;
}

彩色灯笼

这是一个由红色(1 号色)、黄色(13 号色)实心椭圆和黄色(13 号色)实心矩形、和红色直线形组成的灯笼。实心矩形宽 80,高 440;实心椭圆的纵半径为 200,横半径分别为240,200,160,120,80,40。 红色的直线长度为 100,两条直线之间距离为 11。请完善以下程序。

代码语言:javascript代码运行次数:0运行复制
int main() {
    // 抬起画笔(移动时不绘制)并隐藏画笔
    p.up().hide();

    // 调用 rr 方法,传入参数 80、440 和 13,该方法用于绘制长方图形或进行某种初始化操作
    p.rr(80, 440, 13);

    // 开始一个循环,循环 6 次
    for(int i = 0; i < 6; i++) {
        // 判断 i 是否为偶数
        if(i % 2 == 0)
            // 如果 i 为偶数,设置画笔颜色为 1
            p.c(1);
        else
            // 如果 i 为奇数,设置画笔颜色为 13
            p.c(13);
        // 调用 ee 方法,传入参数 240 - 40 * i 和 200,推测该方法用于绘制特定图形
        p.ee(240 - 40 * i, 200);
    }

    // 画笔向后移动 220 个单位
    p.bk(220);

    // 画笔向右旋转 90 度,然后向后移动 33 个单位,再向左旋转 90 度
    p.rt(90).bk(33).lt(90);

    // 放下画笔(移动时开始绘制),并设置画笔颜色为 1
    p.down().c(1);

    // 开始一个循环,循环 7 次
    for(int i = 0; i < 7; i++) {
        // 画笔向后移动 100 个单位,再向前移动 100 个单位
        p.bk(100).fd(100);
        // 画笔向右旋转 90 度,抬起画笔,向前移动 66.0 / 6 个单位,再放下画笔
        p.rt(90).up().fd(66.0 / 6).down();
        // 画笔向左旋转 90 度
        p.lt(90);
    }

    // 程序正常结束,返回值 0 表示程序执行成功
    return 0;
}

B1

编写程序 B1,使程序能画一个由边长为 100,色号为 11 的正方形和半径为 40,色号为 10 的圆组成的图形

代码语言:javascript代码运行次数:0运行复制
int main() {
    // 调用 p 对象的 rr 方法,传入参数 100、100 和 11,该方法用于绘制实心长方形
    // 这里 100、100 可能分别代表长方形的长和宽等相关尺寸,11 可能表示颜色、样式等属性
    p.rr(100, 100, 11);

    // 抬起画笔,使画笔移动时不绘制图形
    // 然后让画笔向前移动 90 个单位距离
    // 最后放下画笔,使后续移动画笔时可以绘制图形
    p.up().fd(90).down();

    // 调用 p 对象的 oo 方法,传入参数 40 和 10,该方法用于绘制实心圆形
    // 这里 40 和 10 可能分别代表圆形的半径、直径或者其他与圆形尺寸、样式相关的参数
    p.oo(40, 10);

    // 程序正常结束,返回值 0 表示程序执行成功
    return 0;
}

栏杆

题目描述 编程,画出下面图形。

代码语言:javascript代码运行次数:0运行复制
int main() {
    // 让画笔向右旋转 90 度,改变画笔的初始朝向
    p.rt(90);

    // 开启一个循环,循环 12 次,用于依次绘制图形
    for (int i = 0; i < 12; i++) {
        // 判断循环变量 i 是否为偶数
        if (i % 2 == 0) {
            // 如果 i 是偶数,设置画笔颜色为 10
            p.c(10);
            // 调用 rr 方法,推测该方法用于绘制矩形,这里绘制一个边长为 20 的矩形
            p.rr(20, 20);
            // 抬起画笔,使移动时不绘制图形
            p.up();
            // 画笔向前移动 20 个单位距离
            p.fd(20);
            // 放下画笔,使后续移动可以绘制图形
            p.down();
        } else {
            // 如果 i 是奇数,设置画笔颜色为 14
            p.c(14);
            // 调用 oo 方法,推测该方法用于绘制圆形,这里绘制一个半径为 10 的圆形
            p.oo(10);
            // 抬起画笔,使移动时不绘制图形
            p.up();
            // 画笔向前移动 20 个单位距离
            p.fd(20);
            // 放下画笔,使后续移动可以绘制图形
            p.down();
        }
    }

    // 让画笔向左旋转 90 度,改变画笔最终的朝向
    p.lt(90);

    // 程序正常结束,返回 0 表示程序执行成功
    return 0;
}

红苹果

画出下列图形,红色部分(半径 100,颜色 1),黑色苹果把(长度 50,粗细 10),绿色部 分(长径 50,短经 20)

代码语言:javascript代码运行次数:0运行复制
int main() {
    // 调用 p 对象的 ee 方法,传入参数 100、100 和 1,该方法用于绘制椭圆形

    p.ee(100, 100, 1);
    // 抬起画笔,意味着后续移动画笔时不会留下绘制痕迹
    p.up();

    // 让画笔向前移动 100 个单位距离
    p.fd(100);

    // 放下画笔,后续移动画笔会开始绘制
    p.down();
    // 设置画笔的粗细为 10 个单位
    p.size(10);
    // 设置画笔的颜色,0 可能代表某种预定义的颜色
    p.c(0);
    // 让画笔向前移动 50 个单位距离
    p.fd(50);

    // 让画笔向后移动 25 个单位距离
    p.bk(25);
    // 让画笔向右旋转 90 度
    p.rt(90);
    // 让画笔向前移动 50 个单位距离
    p.fd(50);
    // 再次调用 ee 方法,绘制另一个特定图形,参数 20、50 和 3 确定其样式和大小等
    p.ee(20, 50, 3);

    // 隐藏画笔,使其在绘图界面中不可见
    p.hide();

    // 程序正常结束,返回值 0 表示程序执行成功
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-05-02,如有侵权请联系 cloudcommunity@tencent 删除c++教育程序对象科技

本文标签: 杨校老师课堂之C备战全国青少年科技教育成果展示大赛(二)