课堂回顾:
求取余数的过程叫做模运算
每轮的动作都是重复的,我们称这个过程位周期。
课堂学习:
剩余计算器
秋天到了,学校里的苹果熟了,太乙老师,想让哪吒帮忙设计一个计算器,看每个小朋友能分几个苹果,最后剩几个。
思路分析:我们基于上节课所设计的计算器为基础,对我们的功能进行更改,由于我们是要进行余数计算因此我们直接将%功能导入即可。
1、设置两个变量a、b用于接受苹果的总量及小朋友的人数。
2、使用pen.button(1,"进行分配",02,40,0,0,150,5);将按钮设计成如下图所示
3、使用for循环并将其设计为永久执行,具体代码如下 for (;;){}。
4、使用if语句并将判断条件设计为按钮检测的语句,用于检测是否进行按键操作,
具体代码如下 if ( buttonMP(1)) {}。
5、使用移动工具及文字书写工具进行如下设计pen.moveTo(0,30).text("每个人分配",0,32).moveTo(0,0).text(a/b,0,32).moveTo(0,-30).text("剩余",0,32).moveTo(0,-64).text(a%b,0,32);
6、将画笔抬起并保持一直运动,具体代码如下pen.up().rt(1).hide();
int main()
{ int a,b;cin>>a>>b;pen.button(1,"进行分配",02,40,0,0,150,5);for (;;){if ( buttonMP(1)){ pen.moveTo(0,30).text("每个人分配",0,32).moveTo(0,0).text(a/b,0,32).moveTo(0,-30).text("剩余",0,32).moveTo(0,-64).text(a%b,0,32);}pen.up().rt(1).hide();
}return 0;
}
绘制奥迪车标
小E同学,使用GOC绘制汽车奥迪汽车车标,请你帮他设计下。
思路分析:从图中可以看出整个图标由4个圆形构成,我们只需要使用for循环对其进行重复绘制即可。
1、将画笔移动至(-300,0)位置,并向右旋转-90°后将笔大小改成20,具体代码如下
pen.moveTo(-300,0).lt(-90).size(20);
2、使用for循环将循环次数设置为执行4次,具体代码如下for(int i=0;i<4;i++)
3、将画笔抬起,随后前移动150,最后落笔绘制半径长为100的空心圆,具体代码如下pen.up().fd(150).down().o(100,1);
int main() { pen.moveTo(-300,0).lt(-90).size(20);for(int i=0;i<4;i++) pen.up().fd(150).down().o(100,1);pen.hide();return 0; }
枫叶之美
秋天到了,妈妈带小E去了济南的枫叶谷,但小E没带相机,对此小E很有遗憾,请你帮助小E绘制一片枫叶。
项目分析:整个枫叶由6个菱形组成,需要使用在绘制完菱形后重复执行6次即可。
1、首先向右旋转35°使画笔方向倾斜随后旋转45°并将画笔向前移动100,随后向右旋转45°并向前移动100,紧接着向右旋转135°并职向前100,最后向右旋转45°并向前100 ,具体代码如下pen.rt(35).rt(45).fd(100).rt(45).fd(100).rt(135).fd(100).rt(45).fd(100);。
2、使用for循环重复四次步骤一的操作,具体代码如下for(int i=0;i<6;i++)
3、将画笔旋转115°并直行200,完成枫叶杆的绘制,具体代码如下pen.rt(115).fd(200);
int main()
{ pen.speed(90);for(int i=0;i<6;i++) pen.rt(35).rt(45).fd(100).rt(45).fd(100).rt(135).fd(100).rt(45).fd(100);pen.rt(115).fd(200);return 0;
}
int main(){
for(int i=0;i<6;i++){pen.rt(35).rt(45).fd(100).rt(45).fd(100).rt(135).fd(100).rt(45).fd(100);}pen.rt(115).fd(200); pen.hide();return 0;
}
课堂小结
求取余数的过程叫做模运算
每轮的动作都是重复的,我们称这个过程位周期。
课后作业
int main(){p.c(10);//注意颜色放在外面for(int i=0;i<10;i++){p.fd(50).rt(360.0/10);}for(int i=0;i<10;i++){p.fd(80).rt(360.0/10);}for(int i=0;i<10;i++){p.fd(110).rt(360.0/10);}return 0;
}
int main(){
for(int i=0;i<6;i++){pen.rt(35).rt(45).fd(100).rt(45).fd(100).rt(135).fd(100).rt(45).fd(100);pen.rt(115).fd(200); }pen.hide();return 0;
}