欢迎来访墨菲定律受益网站,本网站为你提供时间管理方法,百度在线阅读书籍

墨菲定律

阅读墨菲定律书籍一生受益

【编程】中小学GoC编程示例

作者:jcmp      发布时间:2021-04-20      浏览量:92402
小孩子能学编程吗?我说的编程不是Scra

小孩子能学编程吗?我说的编程不是Scratch那种,而是真正的写代码,C++代码。

一、关于GoC编程

GoC是C语言的扩展,是专门针对小学和初中学生开发的趣味编程入门语言。

GoC由从事中小学信息学教学30多年的江涛老师开发,他也是国内最著名的奥林匹克信息学教练之一。

GoC的特点就是简单易上手,并且保留了C/C++的全部语法结构。

关于GoC编程,可以淘宝购买江涛老师撰写的《魔法学院的奇幻之旅》一书,内容有趣易学。

二、关于驯兽师网站

三、驯兽师学院 hourofcode.cn

这是基于江涛老师GoC语言Web版开发的在线学习平台,功能简单,专注于让小孩子能够快速上手GoC编程,接触到真正的代码概念。

使用流程:

点击保存按钮保存当前代码,或者点击查看命令浏览常用命令。

学习编程的目的是驯服计算机,控制计算机,掌握计算机,利用计算机这个强大的工具增强青少年的学习能力、认知能力、逻辑能力。

下面是一些简单的入门案例,如果您和孩子都没有正式的编程基础,建议参考《魔法学院的奇幻之旅》进行学习和练习。

四、多边形外角和是360度

int main() { p.moveTo(-150,0); for(int i=0;i<10;i++){ p.fd(300).bk(250);//修改250查看变化 p.rt(360/10); }}

五、绘制五角星

int main() { p.moveTo(-200,200); p.rt(90); for(int i;i<5;i++){ p.fd(500); p.rt(360/5*2); } return 0; }

六、绘制多角星

int main() { int n=17;//角数 int len=150;//每条线长度 int jiao=15;//角a p.moveTo(0,len); for(int i=0;i

七、绘制内连多角星

int main() { int len1=300; int len2=150; int n=6; for(int i=0;i

八、彩色方块阵列

int gezi(int size,int n){ int offset=size*n/2-size/2; for(int col=0;col

九、数点计算圆周率

int main(){ p.hide(); p.rr(200*2, 200*2, 8); //在这里简书400是敏感词,所以改为200*2 for(int i=0;i<200;i++){ p.moveTo(rand()%400-200,rand()%400-200); p.oo(10,5); } p.moveTo(0,0).o(200,12); }

十、数格子计算圆周率

int main(){ p.rr(200*2,200*2,8); p.oo(200,12); int gezi=20; //每个格子的边长大小 int huafen=400/gezi; //横向、竖向划分多少格子 for(int x=0;x

十一、多边形边长计算圆周率

int main(){ double px=-300; double py=0; p.moveTo(px,py); int n=10;//修改这个边数提高计算精度 int len=80; p.rt(90.00/n); for(int a=0;a

十二、树枝

int aa(double len){ if(len>10){ double len2=len*0.7; //简书中7和five在一起是敏感词,所以这里用7 double dis=len*0.25; p.fd(len).bk(dis); p.rt(30).fd(len2).o(dis); p.bk(len2); p.lt(60).fd(len2).o(dis); p.bk(len2); p.rt(30).fd(dis).rt(10); aa(len2); }}int main() { p.moveTo(0,-300); p.speed(10); p.hide(); aa(200); return 0; }

十三、分形树

int aa(double len){ if(len>20){ double a=25*(0.5+rand()%100/100.0*0.5); double len2=len*(0.7+rand()%100/100.0*0.1); p.fd(len); p.rt(a).fd(len2); aa(len2); p.bk(len2); p.lt(a*2).fd(len2); aa(len2); p.bk(len2); p.rt(a); p.bk(len);//一定要回到原点 }}int main() { p.speed(1000); p.moveTo(0,-300); aa(120); return 0; }

十四、谢尔宾斯基三角

int sierp(double len){ for(int n=0;n<3;n++){ p.fd(len).rt(120); } if(len>30){ double len2=len/2.0; sierp(len2);//左下三角形 p.fd(len2); sierp(len2);//左上三角形 p.rt(120).fd(len2).lt(120); sierp(len2);//右侧三角形 p.lt(120).fd(len2).rt(120);//回到原点 }}int main() { p.speed(9); p.moveTo(-200,-200); sierp(500); return 0; }

十五、科赫雪花

int koch(double len){ if(len>30){ double len2=len/3.0; koch(len2); p.lt(60); koch(len2); p.rt(120); koch(len2); p.lt(60); koch(len2); }else{ p.fd(len); }}int main() { p.speed(6); p.moveTo(-200,100).rt(90); for(int n=0;n<3;n++){ koch(400); p.rt(120); } return 0; }

十六、每个人的智能新时代

如果您发现文章错误,请不吝留言指正; 如果您觉得有用,请点喜欢; 如果您觉得很有用,欢迎转载~

END