
《小海龟画正多边形》教案 一、教学目标 1. 知识与技能目标:学生能够理解正多边形的概念,掌握画正多边形的算法及优化方法;学会使用For...EndFor循环语句编写程序,实现用小海龟绘制任意边数的正多边形;能根据要求对程序进行简单的修改和拓展,如绘制边越来越粗的正多边形、螺旋图形等。 2. 过程与方法目标:通过分析画正三角形的步骤,引导学生经历算法设计和优化的过程,培养学生逻辑思维和问题解决能力;在编写程序绘制图形的实践中,提高学生的动手操作能力和编程素养,让学生体验从具体问题到抽象算法再到程序实现的过程。 3. 情感态度与价值观目标:激发学生对编程和信息技术的兴趣,培养学生勇于探索、创新的精神;让学生在解决问题的过程中,增强自信心,培养合作交流意识和严谨的科学态度。 二、教学重难点 1. 教学重点:理解并掌握画正多边形的算法优化思路,学会使用For...EndFor循环语句编写程序绘制正多边形;能够根据不同的需求修改程序,绘制不同的图形。 2. 教学难点:理解For...EndFor循环语句的工作原理及循环变量、终值、步长的作用;能够灵活运用循环语句解决实际编程问题,如绘制复杂图形。 三、教学过程 (一)课程导入 1. 展示正三角形、正四边形、正十二边形等正多边形图片,提问学生:“同学们,这些图形有什么共同特点?”引导学生回答出正多边形各边边长相等的特征,从而引出本节课主题———小海龟画正多边形。 2. 提出问题:“上节课画正五边形时就有很多重复命令,那如果要画正十二边形甚至更多边的正多边形,大家觉得直接编写程序会怎样?”让学生思考并交流,引发学生对简化编程方法的探索欲望。 (二)知识讲解 1. 算法与流程图 以画正三角形为例,详细讲解画正三角形的步骤:第一步,画一条边,右转120度;第二步,画一条边,右转120度;第三步,画一条边,右转120度。向学生解释这就是“画正三角形”的算法,同时展示用自然语言描述算法的方式。 展示第一种画正三角形的流程图(图3-2),让学生直观感受算法流程。接着指出这种算法的不足,当正多边形边数很多时,程序中需要写很多重复命令。 引入优化算法:设置计数器i,用于对重复执行的命令次数进行计数。展示第二种画正三角形的流程图(图3-3),讲解如果“画一条边,右转120度”这一组命令执行的次数没有达到3次,则继续执行,否则结束程序。通过对比两种算法,让学生理解优化算法的优势,即无论画多少边的正多边形,都不需要增加程序的命令。 2. For...EndFor循环语句 讲解For...EndFor循环语句的作用:控制<语句组>的执行次数。详细阐述其工作原理:首先检查循环变量的值是否超过终值,如果是则循环结束;如果不是则继续执行<语句组>,并且循环变量的值增加一个步长,然后再回到前面检查循环变量的值是否超过终值,如此循环。 展示For...EndFor语句的流程图(图3 4),结合流程图再次强调循环语句的执行过程,帮助学生理解。 (三)程序编写与示例(15分钟) 1. 以画正12边形和正36边形为例,展示完整的程序代码: 画正12边形 S = 12 Length = 50 E = 360 / S For i = 1 to S step 1 Turtle.Move(Length) Turtle.Turn(E) EndFor 画正36边形 S = 36 Length = 50 E = 360 / S For i = 1 to S step 1 Turtle.Move(Length) Turtle.Turn(E) EndFor 逐行解释代码含义:S表示正多边形的边数,Length表示每条边的长度,E表示每次右转的角度(通过360度除以边数得到)。For i = 1 to S step 1表示循环变量i从1开始,每次增加1,直到达到S。在循环体中,Turtle.Move(Length)表示小海龟向前移动Length的距离,即画一条边;Turtle.Turn(E)表示小海龟右转E度。 说明循环变量的初值、终止和步长仅仅是用来控制循环次数的,For i = 1 to S step ... ...
~~ 您好,已阅读到文档的结尾了 ~~