走进 GOC 的编程世界走进 GOC 的编程世界📖 第1课: 网上科技展WEB GOC 介绍GoC命令书写说明:🔆指令学习空心圆命令:p.o(半径,颜色)实心圆命令:p.oo(半径,颜色)课堂练习绘制同心圆画圆环总结📖 第2课:无人驾驶汽车分析行驶路线用“命令”指挥无人驾驶汽车🔆指令学习前进命令:p.fd(长度);后退命令:p.bk(长度);右转命令:p.rt(角度);左转命令:p.lt(角度);课堂练习爱心尺(che)轮廓(扩展练习)总结📖 第3课:氚气灯管一、设置氚气灯管的颜色🔆指令学习设置颜色命令:p.c(颜色编号)连发命令:p.命令1.命令2.·命令n设置氚气灯管的粗细课堂练习彩色旗帜🔆指令学习设置画笔粗细命令:p.size(数值);隐藏画笔命令:p.hide();课堂练习小丑的帽子总结课堂练习金箍棒📖 第4课 交通安全警示系统画语音提示桩🔆指令学习实心矩形命令:p.rr(宽,高,颜色)空心矩形命令:p.r(宽,高,颜色);画“安全警示线”🔆指令学习抬笔命令:p.up();落笔命令:p.down();课堂练习场记板乐谱总结📖 第5课 无叶风扇画出出风框🔆指令学习实心椭圆命令:p.ee(横半径,纵半径,颜色):空心椭圆命令:p.e(横半径,纵半径,颜色);总结📖 第6课 无人机旋转角度分析🔆指令学习代码复制方法:实心椭圆命令的特殊形式:p.ee(横半径,纵半径);课堂练习炊烟菱形总结📖 第七课 智能机器人进入机器人展厅🔆指令学习调入图片命令:o.picL(图片编号,图片文件名);显示图片命令:p.pic(图片编号);让快递机器人转弯🔆指令学习设置图片方向属性命令:p.picU(1或0);总结📖 第 8 课 全息投影改数据让恐龙变身🔆指令学习显示图片命令:p.pic(图片编号,宽,高);输入数据让恐龙变身🔆指令学习定义整数变量:int变量名;输入语句:cin>>变量名:输入图片的宽度和高度🔆指令学习定义多个整数变量:int变量名;,变量名2,…,变量名n;输入多个变量的值:cin>>变量名>>变量名>>…>>变量名n;📖 第 9 课 自动感应—-用if语句判断自动感应门🔆指令学习判断语句:if(条件表达式)语句;关系表达式智能感温水杯智慧宝箱第10 课 高铁列车—-用for语句实现重复显示多节车厢🔆指令学习重复语句:总结📖 第 11 课 环形空间站—-画正多边形画正方形画正三角形画正多边形🔆指令学习算术表达式画正n边形时画笔转角的计算:总结📖 第 12 课 抽取纪念品—-巧用随机函数神奇的抽号机🔆指令学习随机函数:rand(整数1,整数2);显示文字命令:p.text(文字内容,颜色,大小);赋值语句:变量名=表达式;跳动的数字🔆指令学习等待命令:wait(秒数);复合语句:{多个语句}幸运大转盘第13 课 for语句里的循环变量(扩展)🔆指令学习总结第 14 课 练习与巩固📖 第1课: 网上科技展—-欣赏GoC编程作品
o,oo 命令学习
这趟旅程,椰小程将带你从“网上科技展”开始,饱览无人驾驶汽车、氚气灯管、交通安全警示系统、无叶风扇、无人机、智能机器人、全息投影、自动感应、高铁列车、环形空间站等各式各样的高科技产品,从中学会前进、转弯、变色、显示图片、输入数据、判断、重复等编程技能,用GoC 中神奇的画笔创作出心仪的科技产品,体验一番“画笔生辉,科技强国”的学习乐趣。
WEB GOC 介绍
0.7 倍
1.0 倍
1.2 倍
1.5 倍
2.0 倍
单击主菜单中的“命令”按钮便能打开GoC的命令板,在编程区中将光标移到要插入命令的位置,再单击命令板上的命令就可插入该命令,最后填补命令所需要的参数即可。单击“文件”菜单里的“帮助”项,便能打开帮助页面了解命令的详细说明。
GoC命令书写说明:
(a)直接指挥笔动作的命令通常以“pen.”(可简写为“p.”)开头。(b)除特殊情形外,命令名称中的字母一般用小写。(c)每行命令的末尾要加分号“;”,表示该行命令的结束。(d)每行命令输入后,要按回车键发送。
🔆指令学习空心圆命令:p.o(半径,颜色)
实心圆命令:p.oo(半径,颜色)
参数说明:r(圆的半径),c(圆的颜色)
半径是指圆的中心到圆周的直线段长度,通常用字母r表示(radius英 [ˈreɪdiəs] 半径长度)。
从圆的中心到圆周上任意一点的距离都是相等的。
课堂练习绘制同心圆
椰小程要画红绿黄3个不同半径的同心圆,要求红色(1号)的是最大半径圆,绿色(3号)的是第2大半径的圆,黄色(5号)的是最小半径的圆。但输入是的的3个数可能并没有从大到小。
比如输入的3个半径分别是50,30,40:
这3个圆一定要按照正确的次序才能画出正确的图形。比如你最后画最大的圆形,就只能看见一个红色的大圆。 请你帮小C编程解决这个问题。
int main(){ pen.oo(50,1); pen.oo(40,3); pen.oo(30,13); return 0;}
画圆环
题目描述
输入2个不同的正整数a和b,其中较大的数作为外半径,较小的作为内半径,画一个红色(1号色)的圆环。
输入格式
一行2个不同的正整数a,b:范围在[10..100]。
输入样例 70 40 ,同学们可以试试其它数值
总结一、GoC是什么?
GoC是Go to C++!
GoC采用编程画图形的方法,快速入门C++!
WebGoC是学习 GoC的工具,它通过编程区绘图,绘图区显示图形的方法,形象直观的让学生了解C语言的三大基本结构:顺序、循环和选择。
二、画圆命令o/oo
📖 第2课:无人驾驶汽车—-前进、后退与转弯
fd、bk、rt、lt命令学习
分析行驶路线
椰小程和小伙伴的家及科技馆的位置如图路线所示,要接齐所有人,可以按下步骤行驶:
(1)第一步(从起点到椰小程家):前进100。(2)第二步(从椰小程家到同学A家):右转90度,________.(3)第三步(从同学A家到同学B家): ________ ,前进200。(4)第四步(从同学B家到科技馆):后退50。
用“命令”指挥无人驾驶汽车只要我们输入正确的命令,就能指挥无人驾驶汽车。
进入教学网站第2课的“开汽车—指挥汽车”页面,单击“演示”按钮行程序,输入正确的命令指挥无人驾驶汽车。
🔆指令学习前进命令:p.fd(长度);作用:让画笔按指定长度前进。示例:“p.fd(100);”是前进100。
【视频:fd() 指令 :forword 前进】
0.7 倍
1.0 倍
1.2 倍
1.5 倍
2.0 倍
后退命令:p.bk(长度);作用:让画笔按指定长度后退。示例:“p.bk(50);”是后退50。
【视频:bk() 指令 :back 后退】
0.7 倍
1.0 倍
1.2 倍
1.5 倍
2.0 倍
右转命令:p.rt(角度);作用:让画笔按指定的角度右转改变方向。示例:“p.rt(90);”是右转90度。
【视频: rt() 指令 :right 右转】
0.7 倍
1.0 倍
1.2 倍
1.5 倍
2.0 倍
左转命令:p.lt(角度);作用:让画笔按指定的角度左转改变方向。示例:“p.lt(90);”是左转90度。
【视频:lt() 指令 :left 左转】
0.7 倍
1.0 倍
1.2 倍
1.5 倍
2.0 倍
汽车在“行驶”中会画出直线,全靠GoC中有一支神奇的画笔✏️.在GoC中按命令要求画出各种各样的图案来。
int main(){ p.fd(100); p.rt(90); p.fd(400); p.lt(90); p.fd(200); p.bk(50);}
课堂练习爱心
爱心 尽寸自自定
int main(){ p.rr(100,100); p.fd(50).oo(50); p.bk(50).rt(90); p.fd(50).oo(50); return 0;}尺(che)
题目描述
请画出下面形状的尺。
说明:横的每段长度是10; 高度有2种:高的是10,矮的是5。
// 自行编写实现
轮廓(扩展练习)
题目描述
学校准备在颁奖会把这次比赛的前10名的成绩用图形表示出来。小C记得去年是用一个直方图的形式表示的,就是以输入的次序把每个成绩的分数作为高,画一个宽度为20的矩形。 假如输入的10个成绩是:100 90 70 60 80 95 120 105 95 71 ,绘制的图形如下。
这个图形是做在一个展板上的,经过一年的风吹雨淋,展板上的线条都褪色了,只能看出展板的轮廓。请你使用GoC编程,画出展板的轮廓。具体形状参见输入输出样例。
输入格式
一行10个空格分隔开的正整数:分别表示10名同学的比赛成绩。
输出格式
相应的展板轮廓。
输入/输出例子1
输入:
100 90 70 60 80 95 120 105 95 71
输出:
输入/输出例子2
输入:
50 30 20 90 80 100 60 70 110 120
输出:
// 自行编写实现
总结GoC的四个基本命令前进fd、后退bk、右转rt、左转lt 。
📖 第3课:氚气灯管—-设置颜色和粗细
c、size为笔选颜色和粗细命令学习
进入科技馆,椰小程随即被一排色彩斑斓的氚(chuān)气灯管深深吸引了。氚气灯管不需要通电和补充能量就能自动发光二十年以上,在深水、矿井等各种恶劣的环境下都能正常发光。
怎样用GoC中的画笔画出图3-1中黄色的“氚气灯管”呢?
经过认真观察和思考,椰小程发现如果能设置画笔的颜色和粗细,再使用p.fd()命令就能画出以上的“氚气灯管”了。
一、设置氚气灯管的颜色五颜六色的氚气灯管让椰小程流连忘返,如何设置这些漂亮的颜色呢?
int main(){ p.fd(360);}本程序画出了一根蓝色的灯管,如果要画黄色的氚气灯管,怎么改变画笔的颜色呢?
int main(){// 设置画笔颜色为 5 号黄色 p.c(5); p.fd(360);}为了方便指挥画笔,可以将多个命令按一定的顺序和格式编写成一个程序,在需要的时候运行它。
一个完整的GoC程序一般包括以下几部分:
注释部分:以“//”开头,是为方便人们阅读程序而添加的说明,不是程序必需的内容,计算机也不会执行。主函数“int main()”:每个程序必须有一个主函数。主函数体:跟在主函数名后,用一对大括号{ }括起来,里面按一定的顺序和格式编写各种命令。在程序中书写的每一行命令,也可称为语句。返回语句“return 0;”:是主函数体的最后一个语句,表示主函数到此结束。
🔆指令学习设置颜色命令:p.c(颜色编号)作用:按指定的颜色编号设置画笔颜色。示例:“p.c(1);”将画笔的颜色设置为红色(1号)。GoC中16种颜色对应的编号如下:
【视频:c() 指令 :color 前进】
0.7 倍
1.0 倍
1.2 倍
1.5 倍
2.0 倍
连发命令:p.命令1.命令2.·命令n作用:把多个画笔命令连接起来书写,按从左到右的顺序执行各个命令。在书写连发命令时,只需要一个p.开头,随后的命令均省略p.。
示例:p.c(5).bk(46):先设置5号色,然后后退 46步以该颜色画线。
设置氚气灯管的粗细椰小程很快就画出了一根彩色氚气灯管,但是这根灯管太细了,用什么命可以让它变粗呢?
int main(){ p.size(30); p.c(5); p.fd(360); p.hide(); return 0;}
课堂练习彩色旗帜
题目描述
请编写程序,根据图形中红色数字指定的长度,画出下面图形。
🔆指令学习设置画笔粗细命令:p.size(数值);作用:按指定的数值设置画笔的粗细,数值越大,画出的线条就越粗。示例:“p.size(10).fd(100):”能画出粗为10 长度为100的线条。
【视频:size() 指令: size 粗细】
0.7 倍
1.0 倍
1.2 倍
1.5 倍
2.0 倍
隐藏画笔命令:p.hide();作用:让画笔隐身,以免遮挡所画的图形。“hide()”的括号里不用写参数。示例:“p.c(6).size(5).fd(72).hide();”先画出一条6号色、粗为5、长为72的线,然后隐藏画笔。
尝试把“p.size(30);”命令中“30”为不同的数并运行程序,观察图形的变化。
把命令”p.hide()”放在”p.fd(360)”之前,再执行程序,观察执行效果有什么不同
课堂练习小丑的帽子
题目描述
通过控制笔的粗细、交替的颜色变化,我们还可以绘制一顶小丑的帽子。
//通过控制笔的粗细、交替的颜色变化,我们还可以绘制一顶小丑的帽子。int main(){ p.text("小丑的帽子",0,30,0,0,300);//显示标题,小丑的帽子 p.speed(1.5);//设置速度1.5较慢 p.c(1).size(300).fd(23); p.c(12).size(270).fd(23); p.c(11).size(240).fd(23); p.c(13).size(210).fd(23); p.c(12).size(180).fd(23); p.c(14).size(150).fd(23); p.c(4).size(120).fd(23); p.c(2).size(90).fd(28); p.c(12).size(80).fd(3); p.hide();//隐藏笔头 return 0;}
总结本节了解了编程的工具:WebGoC,学习了设置颜色命令c,设置画笔粗细命令size,矩形与实心矩形r,rr。
一、设置笔色命令pen.c(color)
颜色代码:0-15
画笔默认颜色是蓝色(颜色代码:2)
可使用pen.c(颜色代码)的方式设置想要的颜色。
设置颜色后,笔将以所设置的颜色绘图,直到下一次笔色命令改变颜色。
二、设置画笔宽度:pen.size(width)
执行设置画笔宽度命令之后,画笔将以此宽度画图。
笔宽和线条示例:
三、命令中涉及的英文单词:
c—color 英[ˈkʌlə(r)] 中文释义:颜色;彩色。
size英[saɪz] 中文释义:大小;尺码。
- r--rectangle 英[ˈrektæŋɡl] 中文释义:长方形;矩形。- w--width英[wɪdθ] 中文释义:宽度;广度。- h--height英[haɪt] 中文释义:高;高度;身高。课堂练习金箍棒
📖 第4课 交通安全警示系统—-画矩形与抬笔、落笔
r、rr、up、down命令学习
在智能交通展厅中,椰小程看见一套新型示系统”,它由“语音提示桩”和“人脸识别显示屏”等多个部分组成,有LED提示、语音提醒、拍照、人脸识别等功能.能及时警示行人,避免交通违规。
画语音提示桩// 程序 4-1int main(){ p.rr(100,20,13); p.fd(160); p.rr(80,300,13); p.rr(60,180,0); return 0;}
🔆指令学习实心矩形命令:p.rr(宽,高,颜色)作用:以笔的位置为中心,按给定的宽、高和颜色画一个实心矩形。若不写颜色参数,则以画笔当前颜色画矩形。示例:“p.rr(100,200.1):”将画一个宽100、高200的红色实心矩形。
空心矩形命令:p.r(宽,高,颜色);作用:以笔的位置为中心,按给定的宽、高和颜色画一个空心矩形。
示例:“p.r(80,50,3);”将画一个宽80、高50的绿色空心矩形。
画“安全警示线”“红灯停、绿灯行”、人们在等待交通指示灯切换的时候,应该站在安全区域内等待。请参考图4-1编程效果图画出“安全警示线”。
// 程序4-2int main(){ p.c(13).size(8); p.fd(100); p.up().fd(50).down(); p.fd(100); return 0;}
🔆指令学习抬笔命令:p.up();作用:抬笔使画笔移动时不画出直线。本命令不需要参数。抬笔只影响fd、bk命令,对画矩形、圆、椭圆等命令没有影响。示例:“p.rt(90).fd(20).up().fd(80);”将画出一 ✏️
落笔命令:p.down();作用:落下画笔以便移动时画出直线。本命令不需要参数。在GoC中,画笔初始状态是落笔状态。示例:“p.rt(90).fd(20).up().fd(10).down().fd(80);”将画出— — — ✏️
课堂练习场记板
题目描述
椰小程同学和家人去影视城游玩,刚好看到一个剧组在拍电影,其中有一位工作人员在负责打板,同时大喊:”Action”,小C觉得很有趣,才知道原来那块板叫场记板,请你帮忙使用GoC编程绘制出来。
(注意:两块板之间的夹角为45度)
乐谱
题目描述
输入n个音符数值,画n个音符。每个音符用宽度是10,颜色由输入的数值确定,高度是颜色号的30倍。
例如输入:3 2 1 2 画出下面图形
说明:4个矩形宽度10,颜色分别是3、2、1、2,高度分别是90、60、30、60。
相邻矩形的中心在一条直线上,距离15。
总结一、矩形命令:pen.r(w,h,c)/实心矩形命令:pen.rr(w,h,c)
接收画矩形命令之后,将以画笔位置为中心,画矩形。
参数: width 宽度; height 高度; color 颜色
示例:pen.r(200,300,7);(画宽度200,高度300,颜色代码为7的矩形)
示例:pen.rr(300,100,10);(画宽度300,高度100,颜色代码为10的实心矩形)
提示:画矩形命令也可以写作: pen.r(w,h) 或 pen.rr(w,h)
当矩形命令的颜色参数缺少时,以当前笔色画矩形。
二、抬笔命令up()
说明:up()是无参数命令,括号中没有参数;执行抬笔命令up(),画笔将抬起,移动时不会画出直线。
使用up()命令,来移动画笔到合适的位置画图。
三、落笔命令down()
说明:down()是无参数命令,括号中没有参数;画笔在抬笔状态下,执行落笔命令down(),画笔将再次放下,移动时重新可以画出直线。
down()命令,用来解除画笔抬笔状态,重新可以画出直线。
注意:
1、Up()与down()命令配合,可以移动画笔到合适的位置画图。
2、画笔在抬笔状态下,不可以画直线,但不影响其他图形mlr/rr/o/oo等命令的执行。
📖 第5课 无叶风扇——画实心与空心椭圆
e、ee命令学习
正在用心体验科技产品的椰小程,忽然感受到一阵阵清凉之风。原来是科技馆安装了很多无叶风扇,这些风扇能360度旋转吹风,而且能智能感应室温调节风力。
画出出风框// 程序 5-2int main(){ p.size(30); p.e(80,160,10); p.up().bk(220); p.rr(100,150,10); p.ee(10,10,1); return 0;}
🔆指令学习实心椭圆命令:p.ee(横半径,纵半径,颜色):作用:以笔的位置为中心,按指定的横半径、纵半径和颜色绘制一个实心椭圆。示例:“p.ee(80,50,1);”将画出一个横半径80、纵半径50的红色实心椭圆。
空心椭圆命令:p.e(横半径,纵半径,颜色);作用:以笔的位置为中心,按指定的横半径、纵半径和颜色绘制一个空心椭圆。示例:“p.e(120,70.1);”将画出一个横半径120、纵半径70的红色空心椭圆。
程序中 p.ee(10,10,1); 将横半径、纵半径 设置为相同的数值来绘制圆形,我们也可以直接使用 o / oo 来实现。
总结📖 第6课 无人机—-计算旋转角
角度大小学习
在航空展厅中,椰小程看到多种“萌萌哒”无人机,有的像“章鱼”,有的像“小蜜蜂”,还有的像微缩型的直升机。无人机不仅能高空摄影,还能用于农业植保、物流配送、电力巡检、环境监测和抢险救援等方面。
旋转角度分析
// 程序 6-3int main(){ p.hide(); p.rt(45); p.fd(100).e(30,30,1).ee(20,3).bk(100); p.rt(90); p.fd(100).e(30,30,1).ee(20,3).bk(100); p.rt(90); p.fd(100).e(30,30,1).ee(20,3).bk(100); p.rt(90); p.fd(100).e(30,30,1).ee(20,3).bk(100); p.rt(90); p.rr(30,50).ee(10,40,1); return 0;}
🔆指令学习代码复制方法:使用快捷键Ctrl+C(复制)和Ctrl+V(粘贴),实现对相同代码的复制。示例:在编辑程序6-3时 可以输入以下两行语句p.fd(100).e(30,30,1).ee(20,3).bk(100);p.rt(90);然后再复制1次并先后粘贴3次,完成画4根机轴的代码。
实心椭圆命令的特殊形式:p.ee(横半径,纵半径);作用:以画笔的当前颜色画椭圆。空心椭圆命令也有类似的特殊形式。示例:“ee(20,3)”表示以画笔的当前颜色画横半径20、纵半径3的椭圆。
课堂练习炊烟
题目描述
编程,画出下面图形,椭圆中心距离50,长半径分别是20、40、60、80、100,短半径是长半径一半。颜色号分别是1、2、3、4、5。
菱形
题目描述
菱形是四条边相等的四边形,但角度不确定。请编程画出如下图的边长为100,内角分别是45度和135度的菱形。
说明: 上图中红色数字是标明尺寸的,不需要画出。
总结一、角度
角:具有公共端点的两条射线组成的图形。这个公共端点叫做角的顶点(B),这两条射线(AB/BC)叫做角的两条边。
锐角:指大于0°而小于90°(直角)的角。
直角:等于90°的角。
《几何原本》中的定义:当一条直线和另一条横的直线交成的邻角彼此相等时,这些角的每一个被叫做直角,而且称这一条直线垂直于另一条直线。
钝角:大于直角(90°)小于平角(180°)的角。
平角:等于180°的角。
平角是一条射线绕它的端点旋转,当始边和终边在同一条直线上,方向相反时,所构成的角。
周角:是指一条射线绕着它的端点旋转一周所形成的角(360°)。
二、圆周360°与量角器:
古代巴比伦人定义一周角分为360等份,每份定义为1度(1°)
量角器又称“半圆仪”。将半圆形硬塑料板分成180度,用来测量角度或画出所需的角。
量角器有内圈和外圈两层刻度,根据实际情况选择合适的刻度。
量角器使用方法:1:定点;2:对边;3:读值。
📖 第七课 智能机器人—-调入与显示图片
picL、pic、picU命令学习
来到机器人展厅,椰小程发现里面各式各样的机器人伙伴可聪明啦,迎宾机器人在门口热情迎客,送餐机器人正在向客人赠送饮料,快递机器人正在模仿快递传送,还有机器人在热烈跳舞呢,令人惊叹不已!
进入机器人展厅//程序7-1int main(){ p.picL(1,"venue.png"); //调入机器人展厅图片“venue.png”并编为1号 p.pic(1); //显示1号图片(机器人展厅) return 0;}
🔆指令学习调入图片命令:o.picL(图片编号,图片文件名);作用:调入图片文件名对应的图片并编号。图片文牛名要用双引号括住。示例:“p.picL(6,”park.png”);”调入图片“park.png”编为6号。
显示图片命令:p.pic(图片编号);作用:显示指定编号的图片。示例:“p.pic(3);”显示3号图片。
使用选择面板,载入图片:
让快递机器人转弯
//程序7-4int main(){ p.picL(1,"road.png"); p.picL(2,"robot3.png");//调入快递机器人图片“robot3.png”并编为2号 p.pic(1).up(); p.picU(1); //设定图片按向上显示 //======在A,B,C三个位置显示机器人=== p.lt(90).fd(150).rt(90); //把画笔移到A点 p.pic(2); //显示2号图片(机器人) p.fd(250).rt(90).fd(150);//把画笔移到B点 p.pic(2); p.fd(200).rt(90).fd(250);//把画笔移到C点 p.pic(2); return 0;}
🔆指令学习设置图片方向属性命令:p.picU(1或0);作用:设定p.pic()执行时是否按画笔的方向显示图片。当参数为1时或没使用p.picU()命令时,图片按原来的方向显示:当参数为0时,图片按当前画笔的方向旋转后显示。示例1:“p.picL(1.”arrow.png”).rt(45).picU(0).pic(1);”图片按笔方向右转45度后显示。示例2:“p.picL(1,”arrow.png”).rt(45).picU(1).pic(1);”不受画笔方向影响,图片按原来的方向显示。
总结一、 命令学习:picU(0)/picU(1)随笔旋转命令
功能:
执行pen.picU(1),设置图片(图形)的方向始终向上;
执行pen.picU(0),设置的图片(图形)方向不是一直向上,而是按笔的方向显示。
(U是up的意思)
说明:默认图片方向是始终朝上的。
二、旋转图形
以画笔位置为旋转点,旋转显示图形。
技能:旋转的三要素(旋转中心点、方向、角度)。
方法:空间观念和想象力。
图示1:
三、中心发散图形
中心发散图形循环体:从中心出发,返回到中心
技能:picU,for循环。
方法:空间观念和想象力。
图示2:
四、线型循环图形
技能:线性循环体分析(循环起始角度和结束角度一致)。
方法:空间观念和想象力。
图示3:
五、中心旋转与线型循环结合
技能:循环路线形成闭合图形(中心点与循环路线的结构)。
方法:空间观念和想象力。
图示4:
图示5:
📖 第 8 课 全息投影—-输入与存放数据
变量和键盘输入语句
椰小程正沿着线路参观,忽然一头恐龙呼啸着扑面而来,仿佛已置身于神秘的恐龙世界,原来他进入了配备全息投影的动就可在观众感影厅。
全息投影技术是一种不需要配戴3D眼镜,面前显示立体虚拟场景的技术。
//程序8-1int main(){ p.hide(); p.picL(1,"sl.jpg").pic(1); //调入并显示背景图片 p.picL(2,"kl.png"); //调入恐龙图片 p.pic(2); // p.pic(2, 宽度,高度) return 0;}
改数据让恐龙变身恐龙太大,走出屏幕边界了,如何修改程序将其缩小呢?
🔆指令学习显示图片命令:p.pic(图片编号,宽,高);作用:以画笔的位置为中心,按指定的宽和高显示编号对应的图片。如果只按原来的大小显示图片,可以不写宽和高两个参数,这就是该命令的特殊形式p.pic(图片编号);”。
示例:“p.pic(2,200,500);”按照宽200、高 500 显示 2号图片。
输入数据让恐龙变身
//程序8-3int main(){ p.hide(); p.picL(1,"sl.jpg").pic(1); p.picL(2,"kl.png"); //调入恐龙图片 int w; //定义变量w cin>>w; //输入图片的宽度并存入变量w p.pic(2,w,500); //按照宽w、高500显示恐龙图片 return 0;}
🔆指令学习定义整数变量:int变量名;作用:定义一个整数变量,用来存放一个整数。每个变量都要有一个变量名,变量名只能由字母、数字和下划线组成,且必须以字母开头。示例:“inttz8:”定义了一个可存放整数的变量tz8。
输入语句:cin>>变量名:作用:接受从输入窗口输入的数据 并存放到指定的变量中。示例:“cin>>se:”接受输入的数据,并存放到变量Sg。
输入图片的宽度和高度
🔆指令学习定义多个整数变量:int变量名;,变量名2,…,变量名n;作用:同时定义多个整数变量。变量名之间用逗号隔开。
示例:“intw.h:”定义两个整数变量w和h,变量名之间 作用等同于:
int w;
int h;
输入多个变量的值:cin>>变量名>>变量名>>…>>变量名n;作用:输入多个变量的值。每个变量名前都要加“>>”号。示例:“cin>>w>>h;”从键盘输入两整数,分别存放在变量w和h中。在输入数据时,第1个值与第2个值之用空格隔开。
📖 第 9 课 自动感应—-用if语句判断
if大小判断命令学习
经过自动门进入游客休息室,各种家居科技产品立刻映入椰小程的眼帘,令人大开眼界,有感温水杯、自动窗帘……这些产品的共同特点,都是使用了一类叫传感器的部件接收外界信息,以实现产品的“自动”功能。
自动感应门
//程序9-1int main(){ p.picL(1,"open.png"); //调入开门图片 p.picL(2,"close.png"); //调入关门图片 p.pic(2); //显示关门图片 int n; //定义变量n,用于存放距离 cin>>n; if(n<300) p.pic(1); //如果距离n小于300就显示开门图片 return 0;}
🔆指令学习判断语句:if(条件表达式)语句;作用:当条件表达式的值为True(即“真”)时执行后面的语句,否则不执行后面的语句。当if后面需要执行多个画图命令时,可以写成连发命令,也可以用一对大括号“”将多个单独写的命令括起来。
示例:“if(il<150)p.pic(1):”表示如果jl小于150就显示1号图片。
关系表达式作用:由关系运算符连接起来的运算式子叫关系表达式,其结果为True(“真”)或False(“假”)。关系运算包括“>”(大于)、“<”(小于)、“>=”(大于或等于)、“<=”(小于或等于)、“==”(等于)、“!=”(不等于)共6种。
示例:t=200时,“t<280”的运算结果为True;x=80时,“x+10>100”的运算结果为False。
智能感温水杯在科技馆的休息室中,椰小程发现一些奇妙的智能感温水杯:只要水温不超过55摄氏度,杯子盖上的标志就是绿色,超过55摄氏度就是红色的。
智慧宝箱椰小程在展馆发现了一个宝箱,现场工作人员告诉他,这个智慧宝箱的密码是当前的月份数。请你跟他齐心合力完善程序9-3,以便能输入正确的密码打开宝箱。
第10 课 高铁列车—-用for语句实现重复
for语句初步学习
来到科技馆的现代交通展区,椰小程看到里面陈列着各式各样的交通工具,特别是其中长长的高铁列车模型尤其引人注目。高铁列车的奔跑时速可达300公里以上,相比传统火车更快、更安全、更舒适。
显示多节车厢
//程序10-4int main(){ p.up().rt(90).bk(300); p.picL(1,"ct.png").picL(2,"cx.png"); p.pic(1); for(int i=0;i<6;i++) //重复6次 p.fd(100).pic(2); //显示1节车厢 return 0;}🔆指令学习重复语句:for(int 循环变量=0:循环变量<次数:循环变量++) 循环体;作用:按指定的次数重复执行循环体中的语句。示例:
p.rt(90);for(int i=0;i<5;i++)p.e(30,30).fd(60);运行结果是:
总结
一、for语句格式:
说明:for语句可以实现重复动作的多次执行:
二、循环体:
有一类图形,它是由一组相同的动作组合,重复执行多次完成的。
这组相同的动作组合,在for循环里称为循环体。
循环体的划分,需要细致的观察。
三、for语句的快捷输入:
直接点击命令面板中的命令,相应的命令代码将快捷显示在光标停留处。
📖 第 11 课 环形空间站—-画正多边形
正多边形的角度学习
在科技馆的航天展区,椰小程发现了一种造型独特的环形空间站模型,欲一探奥秘。环形空间站是一种在近地轨道长时间运行、可供多名航天员巡访、长期工作和生活的载人航天器。
空间站的形状
为准确分析,椰小程找来科技馆的专业人士对环形空间站的模型进行扫描绘图,发现它的内圈是一个正十二边形。
正多边形的所有边、所有角都相等。边数为n的正多边形,就叫作正n边形。
画正方形我们知道了空间站内圈是一个正十二边形,怎么把它画出来呢?我们先从常见的正方形开始吧。
//创意园int main(){ p.c(1); for(int i=0; i<4; i++){ p.fd(100).rt(90); } return 0;}画正三角形
int main(){ p.c(1); for(int i=0; i<3; i++){ p.fd(100).rt(120); } return 0;}画正多边形
int main(){ int n; cin >> n ; for(int i=0; i 🔆指令学习算术表达式用加、减、乘、除等运算符将数或变量连接起来进行计算的式子,叫算术表达式。表达式中的乘号要用“*”表示,除号要用“/”表示。 示例:35+7,20*13,2.6*k,x/5等都是算术表达式。 画正n边形时画笔转角的计算:用“360.0/n”计算转角,以便能保留小数。如果写成“360/n”,则只取结果的整数商(如360/7的值为51)。 总结一、正多边形 正多边形是指二维平面内各边相等,各角也相等的多边形,也叫正多角形。 画笔完成一个正多边形的绘制,一共旋转360° 根据正多边形的性质,我们可以计算出正多边形的外角: 正 N 边形的转角: 360.0 / N 程序示例: for(int i = 0; i < n; i++)pen.fd(100).rt(360.0/n); 说明:表达式360.0/n是精确算法,表达式360/n是整除运算。 例:C语言的表达式中:360/7的结果为51;360.0/7的结果为51.42。 注意:画笔既可以顺时针方向旋转,完成正多边形的绘制;也可以逆时针方向旋转,完成绘制。 📖 第 12 课 抽取纪念品—-巧用随机函数 随机函数初步学习 椰小程参观完科技馆,编程画出了很多漂亮的科技产品。为鼓励椰小程爱科学、学科学,馆长给了椰小程一个抽奖机会,让他在各种科技产品的模型中,抽取其中一个作为纪念品。 神奇的抽号机如何随机抽取一种纪念品呢?我们可以设计一个抽号机来帮助椰小程。运行抽号程序,屏幕显示的数字就是抽中的纪念品编号。 //程序12-1int main() { p.picL(1,"num.png"); p.pic(1); int m; m=rand(1,8); //随机产生1~8中的一个整数,存入变量m中。 p.text(m,1,100); //屏幕显示m的值 return 0; }🔆指令学习随机函数:rand(整数1,整数2);作用:在整数1到整数2之间随机取一个整数。示例:“rand(1.8);”能在1至8之间随机生成一个整数。 显示文字命令:p.text(文字内容,颜色,大小);作用:按指定的颜色和大小在当前画笔的位置显示文字内容。在实际书写该命令时,因为文字内容是一个字符串,因此要用双引号。 示例:“p.text(“您好!”,1,50);”将在屏幕显示大小为50的红色文字“您好!”。 赋值语句:变量名=表达式;作用:计算“=”右边表达式的值并存放到左边的变量中。其中“=”称为赋值号。 示例:“x3=rand(10,60);”在10至60之间随机取-个整数,存放到变量x3中。 跳动的数字为了烘托抽奖的紧张气氛,我们可以在同一位置连续显示随机产生的数字,从而呈现数字“跳动”的效果。 🔆指令学习等待命令:wait(秒数);作用:让程序等待指定的秒数,再执行下一个语句。示例:“wait(0.2);”执行时会等待0.2秒。 复合语句:{多个语句}作用:用“{ }”把多个语句括起来,这部分就叫复合语句。for语句的循环体若多于一个语句,就必须用{ }括起来,以组成一个复合语句。 示例: 幸运大转盘参观科技馆之行将要结束,馆长再奖励椰小程拨动一次幸运大转盘,以奖励他一件小礼品,看看椰小程能获得什么小礼品。 //程序12-3int main() { p.picL(1,"zhuangpan.png"); //转盘图片 p.picL(2,"zhizhen.png"); //指针图片 p.hide().speed(10); //让转盘快速转动 int x; x=rand(10,20);//控制转盘转10~20次 for(int i=0; i 数字队列、text()、wait() 🔆指令学习总结一、画写文字命令:text(s,c) 格式1:text(s,c) s表示的是输出的内容,c是颜色代码。 以c的代码颜色画写s的文字内容。 格式2:text(s) 当颜色参数缺省时,以当前笔色画写文字。 text还可以实现更丰富的画写文字功能,请参看文件中的帮助一栏text内容。 注:text【tekst】中文释义:文本 二、for循环的运行 for循环语句示例: 注:for循环的三个语句功能: i=0: 循环变量i开始为0 i<3: 循环变量要小于3 i++: 循环变量每次加1循环变量i的值分别为0,1,2 循环运行流程: … 三、循环变量i的使用 循环变量可以出现在参数位置,利用循环变量的规律变化,实现更多的功能。 text(i)fd(i) bk(i)rt(i) lt(i)size(i)c(i)oo(i)rr(i,i)大家开动脑筋,结合前面所学的知识,利用循环变量的变化,创作更多的作品吧! 二、动画的实现: 连续动作1à停留à连续动作2à停留à连续动作3à停留à连续动作4à停留…利用视觉暂留的特点,我们就看到一组连续动作出现了。 三、等待命令 格式:wait( second ); wait 英[weɪt] 中文释义:等待; 等; 等候 second 英[ˈsekənd , sɪˈkɒnd] 中文释义:秒(时间单位) 功能:程序运行到这里会等待指定时间,再继续运行。 等待的时间单位是秒,可以是小数。 说明:wait不是pen的命令,格式不能“pen.”开头。适当的使用wait不仅方便调试程序和演示绘图过程,还是实现动画的必要方法。second要保证>=0。 样例:wait(0.2); 表示程序在这里停留0.2秒。 第 14 课 练习与巩固一、学会观察和思考 做一名小小观察家,观察日常生活中,哪些物品包含你所学习的图形呢? 说说你身边的有趣图形吧! 二、图形里的数学计算: 我们学习了矩形命令r/rr,画圆命令o/oo,椭圆命令e/ee。 我们发现:这些图形在绘制的时候,都是以画笔为中心点去画图形的! 当这些图形组合成更多有趣图形时,其中包含了很多的数据,是需要我们去计算的。 1、画笔移动的距离 描述:黑色正方形上面有一个红色实心圆。 问题:画笔需要怎样移动,才可以画出这个图形呢? 这需要我们了解边长和半径,有了这两个数据,这个图形就可以画出来了。 举一反三:那这些图形呢?你还发现哪些图形需要这样的计算? 2、画笔旋转的角度 描述:正方形里面有一个内切圆,圆形被均匀的分成了8份。 问题1:正方形的边长与圆的半径是什么关系? 问题2:圆形被切分成了均匀的8份,每一份的角度是多少呢? 正方形的边长是这个圆的半径的2倍; 360.0/8=45°,这就是每一份的角度。 举一反三:那这些图形呢?你还发现哪些转角的计算? 3、画笔旋转方向的判断 画笔既可以顺时针绘制正多边形,也可以逆时针绘制正多边形。 利用两种转向,就可以画出下面红、蓝两色正六边形。 在当前画笔所指方向,顺时针绘制红色正六边形,逆时针绘制蓝色正六边形。 举一反三:那这些图形呢?是否结合了顺时针和逆时针转向呢? 三、顺序结构的认识 计算机的程序执行是按照顺序来运行的。 顺序不同,显示的结果不同。 举一反三:那这些图形呢?图形是怎样变化和叠加的? 四、for循环和循环变量可以通过图形来显示 1.循环节的判断 合理设置循环节,进行for循环,可以绘制各种奇妙图形! 2、循环变量i有大用途 例1:循环变量i设置画笔颜色和前进长度,结合前进与转角动作,产生了下面的五彩星形! int main(){ p.speed(10); for(int i = 0; i < 100; i ++) p.c(i).fd(i).rt(150 ); return 0; } 例2:循环变量i成为矩形的宽度变量,画出了二维码。 int main(){ p.rt(90).up(); for(int i = 0; i < 14; i++) p.rr(i,100).fd(15); return 0; } 思考一下,你还能列举出循环变量的奇妙用途吗? 五、平行四边形(Parallelogram),是在同一个二维平面内,由两组平行线段组成的闭合图形。 5.1、 平行四边形的边: ab与cd平行 bc与ad平行 image.png 写作: ab//cd ; bc//ad 二、平行四边形的角: 平行四边形的四个顶点上的角,∠1、∠2、∠3、∠4 。 1.平行四边形的内角和是360°; ∠1+∠2+∠3+∠4=360° 2.平行四边形的对角相等; ∠1和∠3相对,∠2和∠4相对 ∠1=∠3; ∠2=∠4 3.平行四边形的邻角之和是180°。 ∠1和∠2相邻,∠2和∠3相邻,∠3和∠4相邻,∠4和∠1相邻: ∠1+∠2=180° ; ∠2+∠3=180° ; ∠3+∠4=180°; ∠4+∠1=180° 三、平行四边形的外角: 平行四边形的四个外角,∠1和∠8组成了平角,∠2和∠5组成了平角,∠3和∠6组成了平角,∠4和∠7组成了平角, 。 ∠1+∠8=180° ; ∠2+∠5=180° ; ∠3+∠6=180°; ∠4+∠7=180° ∠1+∠2+∠3+∠4=360° ∠5+∠6+∠7+∠8=360° 注:平行四边形的英文:(parallelogram [ˌpærəˈleləɡræm])