趣味绘图程序设计.docx

上传人:夺命阿水 文档编号:1412962 上传时间:2024-06-15 格式:DOCX 页数:31 大小:261.75KB
返回 下载 相关 举报
趣味绘图程序设计.docx_第1页
第1页 / 共31页
趣味绘图程序设计.docx_第2页
第2页 / 共31页
趣味绘图程序设计.docx_第3页
第3页 / 共31页
趣味绘图程序设计.docx_第4页
第4页 / 共31页
趣味绘图程序设计.docx_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《趣味绘图程序设计.docx》由会员分享,可在线阅读,更多相关《趣味绘图程序设计.docx(31页珍藏版)》请在课桌文档上搜索。

1、趣味绘图程序设计摘要通过开发基于PythOnTUme库的大学生教学辅助平台,目的是将程序设计流程控制结构由繁化简,从静态场景到动态演示,从无交互到有键盘控制,从而提高学生对程序结构的理解,同时也可以培养学习者的兴趣和积极性。该平台利用PythOnTkinter库构建平台界面框架,同时采用其菜单功能将所有案例整合,从而形成相对完整的平台。通过平台研究表明,把顺序、选择和循环三种逻辑结构通过动态演示会让其变得更加直观清晰,使得平台使用者对知识内容的理解更加轻松。与此同时,将知识内容加以整合,形成相对流程化的学习,以此让内容逻辑知识更加简单明了。其次,研究还表明该平台不仅可以用于学生对流程控制结构的

2、自学,也可用于高校相关课堂的教学中。因此,让流程控制结构“遨游”在TUrtle画布中,是学习程序设计流程控制结构不错的选择。关键词:Python;流程控制结构;TUrtIe库;大学生教学辅助;Tkinter库第一章海龟绘图的研究意义1第二章系统的关键技术及研究思路22.1 TUrtle库简介22.2 平台基本开发技术22.2.1 Tkinter框架22.2.2 MySQ1.数据库32.3 系统研究思路32.3.1 网络资源的利用32.3.2 项目结构框架的设计32.3.3 项目的需求分析32.3.4 软件设计42.3.5 模块开发和软件测试4第三章系统需求分析53.1 系统概述53.2 可行性

3、分析53.2.1 技术性分析53.2.2 经济可行性53.2.3 操作可行性53.3 功能需求分析53.4 非功能需求分析63.4.1 性能需求描述63.4.2 兼容性需求描述73.4.3 数据保密需求描述73.4.4 可维护性需求描述7第四章TUrHe教学辅助平台设计84.1 系统设计原则84.2 技术架构设计84.3 功能结构设计94.3.1 用户模块设计94.3.2 管理员模块设计104.3.3 系统菜单模块设计104.4 MySQ1.数据库设计104.5 平台设计的重难点114.5.1 平台设计的重点114.5.2 平台设计的难点11第五章系统的实现125.1 环境需求125.1.1

4、硬件需求125.1.2 软件需求125.2 构建数据库125.3 模块实现145.3.1 用户模块的实现145.3.2 管理员模块的实现155.3.3 菜单选项模块的实现15第六章结论23致谢错误!未定义书签。参考文献24第一章海龟绘图的研究意义第一章海龟绘图的研究意义在编程过程中,我们必须运用流程控制来完成与使用者的沟通,并按照使用者的要求来确定程式“做什么”和“怎么做”。流程控制是一种非常重要的方式,可以用来控制程序的运行方式。根据执行过程的不同,可以将其分成三个主要的结构,分别是顺序结构、选择(分支)结构和循环结构。在这一过程中,采用了顺序、选择和循环三种程序结构以及模块化的函数编程方法

5、来解决问题。但是,现在大多数程序员都把重点放在了枯燥的语法学习上,而很难掌握程序结构和函数。与流程控制结构有关的知识是非常枯燥的,许多学习者都是依靠自己的想象来模拟流程的执行,因此学习起来比较困难。随着大数据的飞速发展,Python中所包含的大量数据资源在科学计算、文件处理和数据可视化等方面的应用价值日益突出。在Python中,内部的“海龟绘图”模块进行了精巧的设计,绘图模式简单而有力,可以使程序的表达更加清晰。所以,有了Turtle类库,你就可以省略那些枯燥无味的基本文法,而直接让开发人员去了解不同的结构层次。在Python海龟绘图的基础上,实现了程序设计流程控制结构的动态演示。在解决具体图

6、形绘制问题的时候,开发者只需要对海龟的运动轨迹进行计算,就可以调用图形绘制函数。此外,通过设置turtle的填充属性,就可以实现图形色泽鲜艳、生动,满足用户的兴趣。与此同时.,还可以简单地进操作,让用户能够更加直观地理解程序结构。第二章系统的关键技术及研究思路2.1 Turtle库简介TUme库是PythOn自带的函数库,其具有绘画图像的功能。TUrtle通过画布实现图形绘制,其中画布即绘画区域,可使用SetUP设置起始位置以及区域大小。将画布中移动的点想象成一只乌龟,将画布想象成坐标象限,并分为横轴和竖轴,乌龟则从坐标系原点开始移动,根据参数设置,其移动的路径则形成了绘制的图像。乌龟移动的路

7、径即是画笔,可根据相关需求更改其属性。如turtle.color()命令,则可以更改绘图颜色,让图形更加生动形象。TUrtIe的基础绘图命令如下图2.1所示。turtle.forward(dstafe)电当Ilm宅方向格动dtstanceM可以为分.8Mturtle.right(degree)向右朝Idegg命令turtle.pendownO落下告Saturtle.penup()建起省Z图2.1基础绘图命令2.2 平台基本开发技术本系统主要面向高校学习Python的学生,甚至可以应用于高校课堂,目的是将程序设计流程控制结构由繁化简,从静态场景到动画演示,从无交互到有键盘控制,从而提高学生对程序

8、结构的理解,极大地提高了学习者的兴趣和积极性。系统的开发环境为:WindoWSIl操作系统、PyCharm开发环境、Python语言、Turtle库、MySQ1.数据库,并采用Tkinter框架来构建系统,结合Tkinter菜单功能将流程控制相关知识点加以整合,从而形成相对完整的教辅平台。本系统一共分为了三大模块:用户模块、系统菜单模块、管理员模块,其中每个模块包含了多个功能。2.2.1 Tkinter框架TkilHer是一个名为“Tk”的PythOn标准的图形用户接口库;从本质上来说,它就第二章系统的关键技术及研究思路是TC1.ZTK工具包,基于Python接口。Tkinter是一个在Pyt

9、hon中内置的标准类库,因此无需分别进行安装。由Tkinter编写的程序,也被称为GUI程序,GUIGraphicalUserInterface)指的是“图形用户界面“,它是计算机图形学(CG)的一门分支,它的研究内容是在计算机中对图形进行表达,并使用计算机对图形进行计算、处理和显示。所以,GUl程序一般都是由窗口、下拉菜单、对话框等图像要素构成,通过鼠标点击菜单栏、按钮、弹出对话框等手段来实现与使用者的交互,从而提升使用者的交互感受,使得本来“冰冷”的程序变得更有“温度”。2.2.2 MySQ1.数据库数据库,也被称作数据管理系统,它可以被看作是电子化的文件柜,是一个存储电子文件的地方,用户

10、可以对文件中的资料进行新增、查询、更新、删除等操作。MySQ1.的语言没有结构,因此用户可以处理这些数据。由于MySQ1.的语言和结构相对简单,但具有强大的功能和信息存储能力,因此其速度、可靠性和适应性受到人们的重视,并被广泛使用。MySQ1.数据库在程序设计中有着非常广泛的用途,它给用户提供了很多的数据查询的便利。MySQ1.数据库的特点是:灵活、强大、语言比较简洁。2.3 系统研究思路2.3.1 网络资源的利用有目的、有计划、系统地搜索流程结构的相关研究案例和文献,查阅国内外研究现状,结合学校开发经历,确定研究项目方向和内容方法。研究问题应该具有明确性、具体性和可操作性,以便进一步展开研究

11、工作。2.3.2 项目结构框架的设计核心语言使用PythOn,并利用其自带的TmIe库,实现动态演示,同时引用Tkinter库开发系统框架,利用其菜单功能将所有案例实现整合,数据库则使用MySQ1.对注册用户数据进行收集,后期通过GUl对界面设计进行美化。2.3.3 项目的需求分析彻底分析基于TUnle库开发的软件功能,了解软件开发目的,说明项目测试背景,测试项目的内容,列出编写本报告及测试整个过程中所要参考的文件、资料,并收集相关需求。234软件设计结合软件设计流程结构,软件系统模块以及数据库实现项目功能,其中分为用户模块、系统菜单模块、管理员模块三个模块。2.3.5 模块开发和软件测试通过

12、软件的设计,分别对每个模块进行开发,首先搭建前端框架,接着创建数据库以及其连接配置,然后实现三个模块的功能,最终测试该功能是否正常运行,纠正问题错误。第三章系统需求分析3.1 系统概述为了加深初学者对程序设计的了解,本研究项目引入了TUrtIe库,利用它语法简单和直观易懂的特点,更加贴合初学者实际情况,最主要是它拥有的概念容易被记住,这使得初学者上手容易,且满足了他们自我动手的成就感。与此同时,收集大量的实际案例,让初学者在不同的图形动画中探索PythOn的奥秘。最后利用Tkinter的菜单项加以整合,形成相对完整的系统平台,极大降低了初学者的操作难度以及找寻案例所花费的时间。3.2 可行性分

13、析3.2.1 技术性分析随着科技的飞速发展,开发工具也越加强大,其中拥有不少的绘图软件,也为动画制作提供了更多的可能性,所以利用更好的开发工具,可以显著地提升开发效率。就Python语言来说,可以对于TUrtIe进行深度研究,同时利用其中相关库的搭配,使得实现控制结构动态演示变得易如反掌。3.2.2 经济可行性从经济角度来看,本系统的开发成本相对较低。首先,开发环境所需的WindoWSIl操作系统、PyCharm开发环境、PythOn语言、TUrUe库、MySQ1.数据库以及Tkinter框架等都是免费或开源的,大大降低了开发成本。其次,系统的开发主要依赖于高校的教学资源和学生的课余时间,无需

14、额外的人力和物力投入。因此,从经济角度来看,本系统的开发是完全可行的。3.2.3 操作可行性本研究项目初衷就是让初学者加强对控制结构的理解,并且能够在动画演示的过程中,培养兴趣的同时,独自探索Python语言。所以在操作上设置较为通俗易懂,不存在任何过难操作。3.3 功能需求分析用户进入Turtle辅助学习系统实际是按照相关流程实现的。对用户来说层层递进的流程结构是最容易操作上手的,因此在流程上,本研究项目采取了一定的顺序排版。就流程结构层次来说,将顺序结构、选择结构以及循环结构依次展开解析,从易到难逐渐递进。其次,在程序使用层面,用户首先进入登录注册页面,对于第一次使用的用户来说,则需进行注

15、册,注册完毕后则返回到登录平台,用户通过输入注册的账号和密码进入主页面。在使用过程中,使用者可以通过从菜单条中选取不同的内容,来了解实际使用情况。初学者可以先通过“基础坐标项”了解到何为TUrtle,为今后的学习奠定基础。在“流程结构”项中,可以初步了解到流程结构的基础知识框架,以及不同结构包含的语句形式,之后选择相关流程结构,深入了解各个控制结构的逻辑结构。具体流程如图3.1图3.1流程图3.4非功能需求分析3.4.1 性能需求描述响应度(1)在九成的概率中,普通周期的响应时间小于1.5s,峰值周期小于4s。(2)从按下按钮到出现第一个界面,定位系统所需的时间不会超过300ms。(3)在建议

16、的组态环境中,登陆响应时间为2秒以内,刷新项目分页列表响应时间为2秒以内,打开菜单项目响应时间为1秒以内。资源使用率(1) CPU占用率不超过一半值;(2)内存占用率不超过一半值。3.4.2 兼容性需求描述(1)系统支持Mac、WindOWS操作系统。(2)在所有系统实施中,仅有不超过百分之五的要求对特定操作系统进行特定化。(3)用不多于2个小时来取代一个关系型数据库系统,并确保不会有任何数据缺失。3.4.3 数据保密需求描述应当对网络传送的数据进行加密。在数据采集、传输和处理的整个过程中,必须确保数据无人窥视,无人窃取,无人篡改。商业数据的存储必须经过加密,以保证其不可被攻破。3.4.4 可

17、维护性需求描述(1)从接收到修订要求起,应当在1至2天之内完成常规修订;如果是重要的要求,或者是经过评审后的设计变更,则必须在一星期之内完成。(2)九成的bug修正需要一个工作天,其余的都需要两个工作天。(3)在安装新版时,您必须保留资料库的全部内容及个人设定。(4)该产品必须为追踪任何资料库栏位提供工具。第四章TYlrtle教学辅助平台设计4.1 系统设计原则本项目在研究上符合当今时代的潮流,在满足现期功能的同时,具有一定的前瞻性。并且系统对运行环境(硬件设备、软件操作系统等)的适应能力很强,不依赖于某一具体型号的计算机设备和操作系统软件的固定版本。其次,本项目采取合理的安全保护措施,在对外

18、侵用户进行拦截的基础上,还确保接入设备的安全性。本项目还满足合理性和规范性,即系统采用的控制协议皆满足国家标准。该研究系统操作简单,实用性高,具有易操作、易维护的特点,方便系统维护。4.2 技术架构设计本系统采用C/S结构,选择Tkinter作为开发框架,大体分为业务层和数据层。前端通过GUI进行界面设计,即引用importtkinter并导入ttk模板,为展示层页面渲染。然而,展示层的构建,很大程度地影响了业务层的直观感受以及使用体验。而业务层和展示层都在Tkinter框架中展示,其中业务层包含本系统的功能,有注册登记、流程结构介绍、流程结构动态演示等。数据层由MySQ1.数据库开发框架组成

19、,如图4.1所示,为业务层提供数据缓存,同时负责数据备份、读写数据库等工作,在整体架构中扮演极其重要的角色,因为它连接着服务器,起到桥梁的作用。具体系统架构图如图4.2所示。图4.1系统架构数据库的使用图4.2系统架构模型图4.3 功能结构设计本系统一共分为了三大模块:用户模块、系统菜单模块、管理员模块,其中每个模块包含了多个功能。具体如图4.3所示。图4.3系统模块功能图4.3.1 用户模块设计该模块包含了用户注册登录以及使用系统菜单模块的功能。其中用户可以通过注册获取登录账号,之后利用注册账户登录进入平台。同时将用户模块与系统菜单模块进行关联,用户则可以通过该模块实现相关功能,并记录个人学

20、习过程。用户可以按照平台设置顺序进行学习,也可以自由探索平台功能。4.3.2 管理员模块设计该模块包含了用户管理和系统菜单管理两个模块。其中管理者可以通过后台对用户信息进行增删查改。管理员模块同时也与菜单模块相关联,目的是为了管理菜单的内容,优化选项功能。4.3.3 系统菜单模块设计该模块是本系统的主要功能实现,其中包含了TUrtIe简介、流程控制的三种结构、Turtle小游戏等几个菜单项。用户可以在TUrtle简介栏初步了解Turtle库及其基础用法,即了解掌握TUrtIe库的坐标系以及坐标原点、各个象限坐标情况。之后,可以在流程控制结构栏学习相关的流程结构,其中流程结构的内容将在TUrtI

21、e画布中展示,将相关文字内容置于画布左侧,而画布的右侧则动态演示逻辑结构图的绘制,让用户直观清晰地了解到流程控制结构,其中每一种控制结构,都包含了全部的语句形式,让用户更加全而且系统化地学习流程结构。当用户通过自主学习感到疲劳时,可通过小游戏栏进行放松,而小游戏栏包含各类由TUrtle绘制的游戏,起到边玩边学的效果。4.4 MySQ1.数据库设计首先了解并分析用户的需求,用用户达成共识,之后再确认系统的任务,例如:对用户注册进行分析,可将其分为三个属性:ID,账号,密码,然后对它们进行录入操作。其次,数据库概念设计通常采用自底向上,首先定义各系统局部的概念模型,然后再将他们集成合并起来,得到全

22、局的概念模型。然后通过设计的基本E.R图,如图4.4所示,选择访问路径,确定数据的存放位置。数据库试运行合格后,数据库开发工作就基本完成,即可以投入正式运行了。在数据库运行阶段,对数据库还要进行经常性地维护。4.5 平台设计的重难点4.5.1 平台设计的重点在编程语言的教学中,编程基础是非常重要的。该方法将顺序、循环和选择三种基本结构引入到程序中,并对其进行分析。因此,在图示式程式设计架构上,需设计的程序的代码应将3种控制结构所涉及的内容完整的表达出来。让图形由易到难,从简到繁,嵌套在每个菜单项中。于此同时,Python中的各个知识点需在这系统中得到了广泛的应用,它不仅是一种教学辅助资源,更是

23、一种很好的教学案例。在提高编程语言教学质量的前提下,探索出一条Python自学的新途径。4.5.2 平台设计的难点编程初学者对图形概念真正了解吗?研究结果显示,在程式设计教学中,以图形为主的教学模式,其使用效果明显优于以指令行为主的教学模式。运用Python绘图库,对编程的要求有多高?可否用于导论课?Python的图形计算环境不但为初学者提供了专业的第三方绘图库,也为初学者提供了方便的绘图库。在Python中,图形是否是一门任选或必须的课程?由于缺乏图形的辅助,教学过程中所使用的语言都是以数字、文字为基础的,因此,在目前计算机图形及显示技术已经相当成熟的情况下,这样的教学过程对学生维持学习的兴

24、趣是极为不利的。在PythOn中,图形不但是一门必修的课程,也是一门非常重要的课程。系统界面的设计是否达到使用者的标准,是设计存在的难点,其中使用者操作的简易程度则提升了设计的难度,因此,如何设计出操作简易且包含所有相关功能的交互界面则是实现“海龟遨游”的首要问题。其次则是交互功能的实现,如何将TUrtIe库的交互功能实现并能够被使用者简易的使用,是需要攻破的难点。当解决之前的问题后,系统的维护以及充分的需求分析是必不可少的,通过分析了解程序功能的真正需求,同时收集使用者的反馈,从而完善设计系统。第五章系统的实现5.1 环境需求5.1.1 硬件需求系统数据在windows下使用Python开发

25、,使用MySQ1.数据库,运行环境推荐使用WINDOWS7以上,安装由Python环境。配置要求:内存512M以上,硬盘40G以上;显示器和显卡必须支持1024x768、75Hz24位真彩显示;10/100M网卡5.1.2 软件需求安装MySQ1.SerVer,安装PythOn3以及TUrtle库,后期可能会用到浏览器。5.2 构建数据库数据库,也被称作数据管理系统,它可以被看作是电子化的文件柜,是一个存储电子文件的地方,用户可以对文件中的资料进行新增、查询、更新、删除等操作。本研究项目选用MySQ1.数据库,因为它的结构相对简单,具有跨平台性,同时可以做到多用户,多线程。首先需要两个库分别是

26、PymySql和Tkinter,安装并激活MySQ1.,通过Cmd,输入aselectuser,hostfrommysqluser”,查看用户表并记录用户名,因为之后需要用到数据库的用户名以及密码,正如图5.1数据库用户表所示,其中“root”则为用户名。mysqlselectuserthost:-Frommysql.user;Huser卜Ihostmysql.inoschemamysq1.sessionmysq1.sysrootjIIoualhostIlocalhostIoualhostI1.ocaThost卜4rowsnse*tC.lsec)接着在Tkimer里面搭建数据,在定义其他语句前

27、,要先执行创建表达SQ1.语句,如图5.2部分代码所示,为此需要在原有数据库中建立一个新的database用于存放之后注册账户的新用户,并存于表格中,命名为test-sql0之后执行SQ1.语句,创建USer表格,同时向user数据表中插入语句。fSQ1.J?test-sql=11CREATETAB1.EIFNOTEXISTSuser(idINTautoincrementPRIMARYKEYnamevarchari2Q)notnull,passwordvarchar(2)notnull)ENGINE=innodbDEFAU1.TCHARSET=Utf8:图5.2创建数据库部分代码最后,读取II

28、Ser数据表中的name和PaSSWOrd字段值,如图5.3所示。整体为增加选项的窗口代码,其中getDate是表示在窗口输入的数据通过其方法将连接到数据库中,实现在数据库中的数据添加内容。由此,之后登录系统的用户输入的数据,将自动根据图5.4中USer表格中的数据进行读取并判断,从而得知该用户是否注册过。try:|cure.exe1.te(test.sq)insert.sql=fS11ur(owecpnstbt,(DCS(%s,As,)%(nane,password)*J4ser敬果衣枷Oflefipatsnorti:由read.sql=fsefctJ7srnm,.=gin(),利用Stri

29、ngVar函数创建登录输入框,同时连接数据库,执行SQ1.语句创建USer数据表,并将注册数据录入USer数据表中,部分代码如图5.5所示。此时服务器会反馈用户是否构建成功,若提示成功,这时的用户才得以存在。接着通过登录,可以看到系统提示“登录成功”,即可进入系统,效果如图5.6所示。图5.5部分代码图5.3.2 管理员模块的实现管理员模块的体现主要表现在对用户数据的增删查改,如图5.7所示,管理员通过管理数据库的USer表,观察用户注册的信息,并且可以进行管理操作。管理员的存在,提高了系统的可维护性,同时大大改善了用户的体验感。管理员还可以通过收集用户的意见反馈,从而完善系统的不足处。Res

30、ultGrid口FHterRows:idnamepassword1roger123456图5.7数据库USer表533菜单选项模块的实现通过创建菜单函数selection设置菜单功能,同时设计菜单项所在的新窗口并将其嵌入进主窗口,接着在图形界面上创建一个标签Iabel用以显示并放置,然后定义一个Var用来将radiobutton的值和1.abel的值联系在一起。最后,根据设计好的系统功能模块图,创建相关标签,即菜单项,如图5.8所示。/lurUe助学习系统Turtle卸S投两暇+图BTO分支.环电mTUrtM跳谡之图5.8菜单项分类图当构建完菜单项后,则需设置并导入功能模块,首先利用impor

31、t函数导入对应的功能模块,通过addCOmmand()函数创建选项分支,设置COmmand=导入模块函数,之后为每个分支导入创建好的海龟绘制图,如图所示5.9所示,为每个逻辑结构导入相关语句。TUrtk以习*ft-OX.心流程?5*wmwNiMwEHsmen.疼TUrrtb2raifHK,11BCC3SwitChdt欢迎用CTUrtle辅助学习平台!1_图5.9菜单项的分支菜单栏的功能是主要功能,它整合了各流程结构的分支内容。具体实现如下:为菜单项设置完Command对象后,将对象放入分支MenU让功能得以传承。即将TUrtle绘图放入到分支菜单里,用户可通过点击分支标签,获得演示。如图5.1

32、0所示,“Turtle项”分支的功能得以模块传承。图5.10坐标角度菜单项当用户用鼠标点击“坐标角度介绍”后,可以得到图5.11的结果反馈。可以观察到:在TUrtIe画布中,首先展示了“基础坐标”的文字内容,分别介绍了TUrtIe空间坐标体系和角度坐标体系,接着在画布右侧动态演示了坐标系的绘画过程,通过图形的绘画加深了用户对海龟绘图角度变化的理解,为之后学习奠定基础。同理,当用户用鼠标点击“Turtle移动案例”后,如图5.12所示,在画布中,展示了TUaIe编写的代码,同时在画布右侧展示了五角星绘制的过程,目前是让用户通过案例了解海龟绘图的原理。为了用户能看清清楚逻辑结构每个环节的走向,将画

33、笔速度speedO函数,设置为6(画笔正常速度),由此,将案例内容清晰直观地展现给用户。TUrHe移动案K分所绘制”角质:8议*笃t.speed(6)#改W速度t.pensize(2)蹴儿*t.screensize(1200,1000)4议胃H体大小n全加展示wn=t.ScreenOm.bgcolor(*pink*)vn.setup(vidth1.0theight1.0,startxNone.StartyNone)t.fd(100)U向访彬动100个中位t.rt(144)#向右转144度t.forvard(100)HHfdt.It(-144)I向左的T44度t.bk(-100)AAiiHt.r

34、ight(144)#Hrtt.fd(100)WHIfdt.right(144)#H.rtt.fd(108)UHl.fd图5.12TUrtle移动案例逻辑结构的实现,即实现逻辑结构图形动态演示,需要用到TUrtle进行绘图,可以把这一过程想象成一只海龟在坐标系中移动,它的位置可以用坐标(x,y)表示,之后利用画布存放文字的功能,加入文本内容,从而实现图文结合,加深用户对控制结构的理解。具体实现如下:首先通过Turtle绘制相关语句的逻辑结构图,如图5.13所示,导入Turtle和math模块,math模块主要用于绘制结构图连接线的箭头,接着利用PenSiZe()函数,设置画笔大小,用SCreen

35、SiZe()函数设置画布大小,系统中设置为全屏展示,设置完成后利用got。O函数,将画笔移动到画布左侧,使用writeO函数写下基础知识内容。之后将图形放于画布右侧,便于实现动态演示。最后,利用坐标系在画布上标记坐标角度,对图进行绘画,最终实现控制结构动态演示。Iaporvturtl09tA14A35inportMth也f:tpnil(2)t.Coloraode(255)t.color(e.0.。).*llACk*)t.Bpd()t.setp(.6,1.0)t.creensiz(le.1700)t.hldeturtle()wnt.Scrn()。bgcolor(*whlteM)wn.Btup(w

36、idthsl.0rhlotal.6,ttrtxWon,strtyWone)图5.13绘图的部分代码(1)流程结构简介和顺序结构演示根据菜单项的构建可知:系统是按照顺序思维排序的,由简到难,目的是让用户系统化的学习流程控制结构。因此,用户可以先通过点击“流程控制结构简介”,如图5.14所示,得到由TUrue绘制的流程控制结构的思维导图,其中涵盖了顺序结构、分支结构以及循环结构的所有语句形式,让用户对整体流程控制有初步的理解。根据流程结构的划分,当用户了解到整体流程控制的划分后,用户应先学习其中的“顺序结构”,鼠标点击标签后可得到系统准备的案例,如图5.15所示,首先展示顺序结构的逻辑规则,之后通

37、过TUrtle动态演示顺序逻辑结构动,将顺序结构“自上而下,依次执行”的特点,表现得生动形象,一目了然,使用户不再依靠想象模拟流程结构进行学习。-yjI1.1图5.15顺序逻辑结构(2)分支结构用户通过菜单项可得知,分支结构即选择结构,其包含了if语句、ifelse语句、elseif语句以及SWitCh语句。用户可以先通过点击“if语句”,初步了解分支结构的构造。如图5.16所示,用户首先会了解到语句的格式,以及表达式的值的含义,之后再通过动态演示可以观察到当语句进行判断时,表达式的值为Ture时,连接线的移动方向,以及值为Flase时又是如何移动的。当用户通过对单分支结构的学习后,可以初步了

38、解简易的分支结构是如何构成的,之后则可以学习更加复杂的分支结构。如图5.17所示,在单分支的基础上,加入一条新的分支进行判断,用户可以观察到不同表示式的分支表示。;分支选择结构Ifl.itistft t1(iAftrllO).M 不成,,h.3an分上的JJIIKMKftrwdlf*.二分支结构图5.17二分支结构虽然二分支结构在组成上比单分子多加入一个语句块,但它们都只有一个判断项,是容易被理解的。然而,当结构存在多个表达式又该如何判断呢?如图5.18所示,是更为复杂的多分支结构的动态演示,可以看到多分支结构由多个表达式组成,如果单凭想象模拟,很容易被误导,导致流程走向混乱。但在TUrUe的

39、动态演示下,流程结构走向变得直观易懂,而且用户可以通过反复观看,加深对其的理解。图5.18多分支结构如图5.19所示。展示了SWitCh语句的逻辑结构,作图逻辑依旧是:首先在画布左侧展示相关文字知识内容,包括语句格式、逻辑遵循以及注意点,之后在画布右侧将SWitCh语句结构实现动态演示。可观察到:程序将执行每一个CaSe子句,只有遇到break时才会终止,当条件都不满足时才会执行default子句。S9V4c4f三alt:ifteuW*h wiuQwl询友必式篌t*UAAkA.6*tva*v.-tMTilaMcMMt*r*aiBMtavtleUHHM*iC三tl6)3H*H. ItM8MH.h

40、*Mih91lMb.fl11nWmM为It. fmi*句”mtcWii.WaiAeaMti“百3句u卜f.tfH个3XKXl.lft“CHMbrek衿A*A;发6Q”AMAMX2为wirtsMn号Ikh5wJ;Tg4awIfaM-MXl诵“4:M-X的.图5.19SWith语句结构(3)循环结构循环逻辑结构,分为for循环、WhiIe循环以及dowhile循环,用户可以先通过“for循环”了解循环结构的执行逻辑。如图5.20所示,画布首先给出了循环结构的语句格式以及执行逻辑的文字描述,接着进行动态演示。为了方便用户理解,给每个语句举例了公式值。可以看到当S和i满足表达式中的值时,会一直循环,直

41、到条件不满足时,则会输出s,然后结束操作。用户同样可以直观地观察到循环的执行走向,由此提高用户学习的趣味性。fr三Fawl化曾waiiHtW.n*MM*lMfit:M5l耳t外出i三,缺行xn,畤人第二方图5.20for循环结构同理,如图5.21和图5.22所示,通过点击标签回馈,分别得到了Turtle绘制的While循环结构和dowhile循环结构,其中都分别介绍了两种循环的基本语句格式以及扩展格式。画布依旧先通过文字介绍循环执行的步骤,之后再通过动画演示逻辑结构。同时,为了降低循环结构的复杂度,分别给语句和表达式举例,让用户更容易学习并掌握循环结构。语句格式基本格式Whii0(别斯条件诘句

42、)循环体谣句.扩展格式;初始化语句Whil0(列新条件语句)I据环体语句控制条件语句I循环执行步建第一.先进行婚环控制变初始化(在wh”之前);第二,判断循环终止条件,如果刘断结果为真,则进入第三步;如果为假购不执行施环体;第三,执行8环体;第四.执行初环控制变地.转入转二找.第四,判断循环终止条件,如果判断结果为具,则返回第二步;如果为例则直接退出搬环.图5.21while循环结构do“hiIe循环语句格式基本格式:do楣环体语句.Zhi判断条件语句).扩展格式储环体语句.控制条件语句.Jwh”(刘新条作番句);循环执行步Sr第一先进行Ie环控制变初始化(在doEo之前):第二,执行循环体:

43、第三.执行循环控制变增.图5.22dowhile循环结构由此可知,系统菜单选项的作用是将Tutrtle案例整合,让用户便捷地享受Tutler带来的乐趣提同时,不自觉地掌握了流程控制结构的相关知识,这也给高校课堂提供了全新的教学方式。通过系统平台的使用,流程控制结构不再枯燥乏味,系统让“海龟”动起来的过程,何尝不是吸收知识的过程呢?这正是海龟绘图给了学者继续探索PythOn的勇气。第六章结论第六章结论本文所介绍的基于Turtle绘图的流程控制结构学习系统,不仅提供了一种全新的学习方式,更是对传统教学方法的一次革新。通过直观、生动的动态演示,使复杂的流程控制结构变得易于理解和掌握。系统以用户为中心

44、,充分考虑了学习者的认知特点和需求,通过精心设计的界面和交互方式,为用户带来了愉悦的学习体验。该系统不仅适用于初学者,也适合有一定编程基础的学者进行深入学习和探索。通过系统的使用,学习者可以系统地了解流程控制结构的基本概念和分类,掌握各种流程控制语句的语法和用法,更重要的是,通过动态演示,学习者可以直观地理解流程控制结构的执行逻辑和原理,从而提高编程能力和逻辑思维能力。此外,该系统还具有很好的可扩展性和可定制性。开发者可以根据实际需求,添加更多的学习内容和学习方式,以满足不同学习者的需求。同时,该系统也可以作为教学辅助工具,用于课堂教学或在线学习,为教学提供便利和支持。参考文献川毛京宇,魏云靖

45、.有趣的PythontUrtle绘图J.中国科技教育,2019,279(06):16-19.2MillerEM,RusnockFC.IntegratingArtificialandHumanIntelligencethroughAgentOrientedSystemsDesignM.CRCPress:2024-03-30.3KangY,WangK,HuQ,etal.ResearchonacoupledsystemdesignformineralIiftingandwastewaterdrainageindeep-seaminingapplicationsJ.OceanEngineering,2024,299117260-.4林卫中.以TUrtIe入手的程序设计教学案例设计与实践J现代计算机,2021,727(19):162-165

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号