申宇飞
(山西省长治市上党区第一中学校,山西长治 046000)
在我国教育发展在各地出现一些不均衡的现象,我校所处的地区,经济水平相对落后,学生在编程上的学习相比大城市的学生存在较大差距,学生们在上高中之前普遍未学习过编程,存在基础较差等问题,编程是教学的重点也是难点,在过去的教学中,通过生搬硬套的教学方法不仅没有帮助学生更好的学习并且理解编程,反而使同学们产生了畏难情绪,对编程失去信心。
对于我们学生的学习现状,那么我们该如何有效的解决这个问题,我们可以通过更好的引导方式来引导学生学习编程,海龟绘图就是一款非常不错的工具。
海龟绘图是python标准库中提供的模块,非常适合引导青少年学习编程,之前同学们学不好编程其中一个很重要的问题就是,编写好程序以后,程序执行的过程同学们没有一个直观的认识,对于一个初学者而言,在编写程序中出错是一个很难避免的问题,但是看不到程序执行的过程使同学们改错困难,对编程失去兴趣。但是海龟绘图这个模块,通过在画布创建一只小海龟,随着程序运行的过程,小海龟可以绘制出很对精美的图形。
使用海龟绘图只需要引入import turtle包即可,然后我们需要创建一个绘图区域就是画布turtle.screensize (canvwidth=None,canvheight=None,bg=None),在画布的中心原点上默认有一只朝东方向的小海龟,这只小海龟相当于画笔,通过turtle.pendown()使画笔落下,那么画笔移动时将画线。turtle.penup()将画笔抬起,那么画笔移动时将不会画线。turtle.pensize(width=None)设置画笔的宽度。
通过turtle.forward(distance)控制海龟前进 distance指定的距离,方向为海龟的朝向。turtle.backward (distance)控制海龟后退distance指定的距离,方向与海龟的朝向相反。turtle.right(angle)与turtle.left(angle)设置海龟朝向右转或左转angle度。
我们要绘制一个简单的正方形如图1所示,位于原点的海龟前进100个像素,然后海龟朝向向左转动90°,然后海龟再向前移动100像素,以此类推就可以看到一个正方形出现在我们面前。
图1 正方形海龟运行轨迹图
import turtle as t
t. forward (100),t.left(90)
t. forward (100),t.left(90)
t. forward (100),t.left(90)
t. forward (100)
我们可以通过以下代码绘制正六边型的平铺图形,如图2所示,主要程序代码如下:
图2 正六边型平铺图
import turtle as t
colPos=(-300,-300)
rowPos=colPos
row=5
col=8
for i in range(row):
t.up()
t.setposition(rowPos)
for j in range(col):
t.penup()
t.setposition(colPos)
t.pendown()
t.setheading(0)
for k in range(3):
t.forward(100)
t.left(60)
if k==1:
colPos=t.position()
t.up()
t.setposition(rowPos)
t.setheading(0)
for z in range(4):
t.forward(100)
t.left(60)
rowPos=t.position()
colPos=rowPos
使用海龟绘图可以直观的看到程序的执行过程,更方便学生理解、编写、修改程序,通过绘制有趣的图案,使学生逐渐对编程产生兴趣,引导学生更加轻松愉快的打开编程世界的大门,在这种兴趣的基础上,不断的探究信息技术的各个领域。