项目名称
项目2-1 绘制团队螺旋线(4学时)
教学目标
1.通过探讨绘制团队螺旋线问题的解决方案,了解算法的基础知识。
2.通过创建 for 循环结构、while 循环结构并用 Python 代码编写程序解决问题,理解运用程序设计解决问题的逻辑思维理念。
3.了解 Python 开发工具及基础语法规则,形成借助程序设计解决问题的初步能力。
资源准备
学生准备:查阅资料,了解当前主流程序设计语言的特点及 Python 开发工具;搜索下载螺旋线案例,思考用程序绘制螺旋线的思路。
教师准备:绘制螺旋线的程序,包括彩螺旋线、文本螺旋线及团队螺旋线。
教学重点
了解算法的基础知识。
教学难点
理解运用程序设计解决问题的逻辑思维理。
了解 Python 开发工具及基础语法规则,形成借助程序设计解决问题的初步能力。
教学过程
while语句流程图怎么画
教学环节

教学活动及步骤
情境导入
教师通过工具绘制图形及阅读案例导入情境,并提出本项目的驱动性问题。
在屏幕上绘制彩螺旋线等规则图形是程序容易完成的工作,将一串字符串文本以螺旋线的形式绘制出来是一件很有趣的事情。程序设计是需要团队共同协作完成的,我们希望将团队成员的名字以彩螺旋线的形式呈现出来,你能用所学知识绘制出这样的彩螺旋线吗?让我们一起尝试吧。
绘制规则:由用户输入团队所有成员的名字,在屏幕上绘制出团队成员名字的彩螺旋线。可分解为三步进行操作:绘制彩螺旋线→绘制文本螺旋线→绘制团队成员名字的螺旋线。
任务实施一
绘制流程图
一、教师引导学生阅读教材上的任务描述
应用穷举算法分析绘制彩螺旋线的方案,画出绘制彩螺旋线的流程图,并根据流程图编写代码。彩旋转螺旋线如图所示,螺旋线由五种颜(红、黄、蓝、绿、橙)在黑背景上绘制而成。
 
二、小组针对以下问题进行信息搜集及讨论
1.程序的基本结构有几种?分别是什么?有什么不同?比较上图的异同,说一说这两个图形可以采用哪种程序结构来实现。
2.讨论绘制正五边形螺旋线(参考图5-1-2)的思路,试着绘制程序流程图。
(1)讨论绘制正五边形螺旋线图形需要解决的问题及算法策略。
(2)试着画出绘制正五边形螺旋线的程序流程图。
3.按照上一题方法,讨论绘制彩螺旋线的思路,画出程序流程图。
三、教师针对以上问题进行操作提示
1. 了解基本程序流程控制结构。
计算机程序的三种基本流程控制结构是顺序结构、选择结构和循环结构,这三种控制结构是组成更复杂的程序的基础。选择结构主要通过条件控制语句实现;循环结构主要通过循环控制语句实现。
 
2. 绘制正五边形螺旋线的思路及流程图示例。
采用循环结构,在 for 循环的迭代过程中不断地在画布中画线,通过设置绘制长度和旋转角度,绘制出正五边形螺旋线。
3. 绘制彩旋转螺旋线的思路及流程图示例。
采用循环结构,在 for 循环的迭代过程中有两个问题需要解决。(1)旋转:绘制每一线段时增加旋转角度;(2)彩:每次循环绘制线段的时候需要修改钢笔颜,并指定想要使用哪一种颜,让计算机使用指定的五种颜绘图。
四、各组汇报讨论结果,教师引导学生对其他组的讨论结果进行点评
五、问题探究
如何编写程序代码,绘制正五边形?
六、教师针对以上问题进行操作提示
1. 用 Python 绘制正五边形螺旋线的步骤。
(1)导入 turtle 模块并且设置一个海龟。
(2)设置背景、画笔粗细及钢笔颜。
(3)绘制螺旋线中的 200 条线段。
(4)向前移动海龟以绘制每一边。
(5)向左旋转 72 度,为绘制下一笔做好准备。
2.用Python编写绘制正五边形螺旋线程序代码示例。
七、问题探究
如何修改程序代码,使程序绘制彩旋转螺旋线?
八、操作提示
1. 让计算机使用指定的五种颜绘图的实现方法。
创建一个列表变量放置 5 种颜,变量命名为colors。
代码:colors=["red","yellow","blue","green","orange"]
2. 什么时候需要修改钢笔颜?代码的位置需要怎样变化?
每次循环绘制线段的时候需要修改钢笔颜,将修改钢笔颜指令移入 for 循环中的一组代码中。
3. 如何指定使用哪一种颜?
使用取模操作符“%”,遍历列表中的项。
代码:t.pencolor(colors[x%5])
4. 修改程序代码,解决问题。
修改程序代码使之绘制彩旋转螺旋线,并运行调试。
九、挑战进阶
你能修改程序,让用户输入绘制彩螺旋线的边数吗?
十、学生思考,并将结果在班级展示
任务实施二
应用字符串绘制彩文本螺旋线
一、教师引导学生阅读任务描述
我们希望用字符串改进彩螺旋线,由用户输入一串字符串文本,将该文本以彩的螺旋线形式绘制在屏幕上。
二、问题探究
分析文本以彩螺旋线绘制呈现的算法。
(1)在绘制螺旋线时,我们想要绘制的是字符串,而不是常规的螺旋线,如何不留下螺旋线的痕迹?
(2)如何接收用户的文本输入并将文本写到屏幕上?
三、操作提示
1. 让海龟向前移动时不留痕迹的方法:用画笔控制函数让海龟的钢笔抬起离开屏幕,海龟向前移动之后再开始绘制。
2. 接收用户文本输入的函数:TURTLE.TEXTINPUT函数;将文本写到屏幕上的函数:WRITE 函数。
四、问题探究
1. 修改任务一中彩螺旋线的程序流程图,实现文本螺旋线绘制。
2. 修改程序代码,使之绘制文本螺旋线并运行调试。修改程序代码,设置和调整文本距离、字体、字号。
任务实施三
应用循环控制绘制团队成员螺旋线
一、教师提出本任务要求
创建团队所有成员名字的彩螺旋线。用户输入团队成员的名字,输完之后按下回车键,在屏幕上绘制成一个团队成员名字的彩螺旋线。
二、 问题探究
分析绘制团队成员名字螺旋线的算法。小组讨论解决绘制团队成员螺旋线这一问题的思路。
1. 如何用结构化程序设计的思想方法解决绘制团队成员螺旋线问题?该团队成员螺旋线绘制可以划分为几个模块?每个模块通过哪种程序设计结构实现?
2. 如何接收用户输入的团队成员名字并进行保存?
3.如何确定绘制多边形螺旋线?如何指定钢笔绘制团队成员名字及绘制颜?
三、操作提示
1. 存放团队成员名字的方法:创建列表变量,通过while 循环控制语句接收用户输入的名字并保存。
2. 指定每次绘制团队成员的名字及颜的方法:列表操作和“%”取模操作。
四、问题探究
1.修改任务二的程序流程图,实现团队成员螺旋线绘制。参考资源修改、完善程序流程图。
2. 修改任务二的程序代码,使之绘制团队成员螺旋线并运行调试。
任务四 调试程序
一、教师提出任务要求
对以上程序代码进行调试,运行测试,进行修改和完善。
二、问题探究
1.分析下表中的语法错误并进行修改。
2.你在本项目程序调试中主要遇到了哪些问题?你是怎么解决的?
3.调试本项目程序,试着修改参数,尝试绘制出不同的图形。
评价反思
一、学习评价
教师引导学生依据学习评价表对本项目的学习情况进行自评或互评
二、学习反思
教师引导学生依据学习反思表对本项目的学习进行反思
课后作业
一、完成知识巩固题
1、选择题(单选或多选)
(1)在 for i in range(6) 语句中,i 的取值是(  )。
A. [1,2,3,4,5,6]    B. [1,2,3,4,5]
C. [0,1,2,3,4]      D. [0,1,2,3,4,5]
(2)下列程序代码的执行结果是(  )。
sum=0
for i in range(100):
if(i%10):
continue
sum=sum+i
print(sum)
A. 5050        B. 4950      C. 450      D. 45
2. 填空题
(1)在循环体中可以使用(    )语句跳过本次循环后面的代码,重新开始下一次循环。
(2)在循环体中使用(    )语句可以跳出循环体。
3. 判断题(在括号内打“√”或“×”)
(1)循环语句不可以嵌套使用。 (  )
(2)pass 语句的出现是为了保持程序的完整性。 (  )
二、完成实践拓展题
分析“百钱买百鸡”问题的算法并写出程序代码、运行及调试程序,体会穷举算法和循环结构程序设计方法。
“百钱买百鸡”这个数学问题的内容是:现有 100 文钱,公鸡 5 文钱一只,母鸡 3文钱一只,小鸡一文钱 3 只。要求:公鸡、母鸡,小鸡都要有,把 100 文钱花完,买的鸡的数量正好是 100。 问:一共能买多少只公鸡,多少只母鸡,多少只小鸡?

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。