課堂回顧:
求取余數的過程叫做模運算
每輪的動作都是重復的,我們稱這個過程位周期。
課堂學習:
剩余計算器
秋天到了,學校里的蘋果熟了,太乙老師,想讓哪吒幫忙設計一個計算器,看每個小朋友能分幾個蘋果,最后剩幾個。
思路分析:我們基于上節課所設計的計算器為基礎,對我們的功能進行更改,由于我們是要進行余數計算因此我們直接將%功能導入即可。
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;
}