2024年佛山南海区程序设计小学乙组(GoC)

1 拼图卡片

int main(){
    p.c(1).up();
    p.rr(120,120);
    p.lt(90).fd(70).oo(20).bk(70);
    p.rt(90).fd(50).oo(20,15).bk(100).oo(20,15);
    p.fd(50).rt(90).fd(1+120).rr(120,120,0);
    p.fd(50).oo(20,15).bk(100).oo(20);
    p.fd(50).lt(90).fd(70).oo(20,0).bk(140).oo(20,0);
    return 0;
}

2 四瓣花

int main(){
    int a;
    cin>>a;
    p.picU(0).up().c(1);
    for(int i=0;i<4;i++){
        p.fd(0.75*a);
        p.rt(45).rr(a,a).fd(a/2.0).oo(a/2.0).bk(a/2.0).lt(90).fd(a/2.0).oo(a/2.0).bk(a/2.0);
        p.rt(45).bk(0.75*a);
        p.rt(90);
    }
    return 0;
}

3 苹果与梨

int main(){
    int a,b,n,apple,pear;
    cin>>a>>b>>n;
    for(int i=1;i<=a+b;i++){
        if(i+b==n*(a-i)){
            apple=i;
            pear=a-i;
            break;
        }
    }
    p.moveTo(-300,0).up().rt(90);
    for(int i=0;i<apple;i++)
        p.ee(20,15,1).fd(45);
    p.moveTo(-300,-50);
    for(int i=0;i<pear;i++)
        p.ee(15,20,5).fd(35);
    return 0;
}

4 交通信号灯

int main(){
    int t,x;
    cin>>t;
    x=t%125;
    p.speed(10).up().rr(200,60,0).oo(25,8).textSize(30);
    p.moveTo(-60,0).oo(25,8).moveTo(60,0).oo(25,8);
    if(x==0){
        p.moveTo(0,0).oo(25,13);
    }else if(x<=50){
        p.moveTo(-60,0).oo(25,1);
    }else if(x<=60){
        p.moveTo(-60,0).oo(25,1).moveTo(0,0).text(61-x,1);
    }else if(x<=110){
        p.moveTo(60,0).oo(25,3);
    }else if(x<=120){
        p.moveTo(60,0).oo(25,3).moveTo(0,0).text(121-x,3);
    }else
        p.moveTo(0,0).oo(25,13);
    return 0;
}

5 触摸显示屏

int n,m,a[30],flag;
int main(){
    cin>>n>>m;
    p.moveTo(-350,0).up().rt(90);
    for(int i=1;i<=m;i++)
        cin>>a[i];
    for(int i=1;i<=n;i++){
        flag=0;
        for(int j=1;j<=m;j++){
            if(a[j]==i){
                flag=1;
                break;
            }
        }
        if(flag==1)
            p.rr(25,25,2).fd(30);
        else
            p.r(25,25,2).fd(30);
    }
    return 0;
}

6 算盘记数

int a,t,pos=-15,k=0;
void f(int x,int po){
    p.bk(5);
    for(int i=0;i<x;i++)
        p.ee(10,5).bk(10);
    p.moveTo(po,5);
    for(int i=0;i<5-x;i++)
        p.ee(10,5).fd(10);
}
int main(){
    p.speed(10).c(6).size(5);
    for(int i=0;i<2;i++){
        p.fd(120).lt(90).fd(305).lt(90);
    }
    p.fd(80).lt(90).fd(305);
    p.size(2).moveTo(-15,0).rt(90);
    for(int i=0;i<12;i++){
        p.fd(120).bk(120).lt(90).up().fd(25).rt(90).down();
    }
    p.moveTo(-15,80).c(0).up();
    cin>>a;
    for(;a>0;a=a/10){
        t=a%10;
        k++;
        if(t<5){
            f(t,pos);
            p.moveTo(pos,115).ee(10,5).bk(10).ee(10,5);
        }
        else{
            t=t-5;
            f(t,pos);
            p.moveTo(pos,115).ee(10,5);
            p.moveTo(pos,90).ee(10,5);
        }
        pos=pos-25;
        p.moveTo(pos,80);
    }
    for(int i=0;i<12-k;i++){
        p.moveTo(pos,5);
        for(int j=0;j<5;j++)
            p.ee(10,5).fd(10);
        p.moveTo(pos,115).ee(10,5).bk(10).ee(10,5);
        pos=pos-25;
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值