资源简介 第2单元探究如何用计算机解決问题本单元学习的目的在于培养学生利用计算机解决问题的思维,能够体验如何运用PYTHON编程语言解决问题,并为未来编程学习打好基础。通过本单元的学习,学生简单了解PYTHON编程语言的特点及使用技巧,掌握其基本语法,会分析程序、设计程序,对于生活中简单的问题可以用计算机解决通过对顺序结构、选择结构和循环结构等语言的探索,培养计算思维,从而提高核心素养。微项目1探究用程序加工数据的过程1.PYTHON语言【名词解释】PYTHON语言是一种面向对象的解释型计算机程序设计语言。【概念分析】PYTHONI语言是完全面向对象的语言,其中的函数、模块、数字、字符串等都是对象,完全支持继承、派生等关系,有益于增强源代码的复用性。PYTHON语言倡导用一种方法,最好是只用一种方法来解决问题,它是简单主义语言的代表,阅读PYTHON语言就像读英语,会使开发者专注于解决问题而非语言本身。【概念应用】PYTHONI语言具有简洁性、易读性等特点,其规范性极强,模块与模块之间的界限由每行的首字符在本行的位置决定,这就决定了PYTHON语言要求极高的缩进原则,强制使用4个空格表示每级缩进。PYTHON语言因其易学、严道、易读、易推护的特点成为程序设计者的理想编程件,被大规模软件开发者使用等。2.面向对象【名词解释】面向对象是一种软件开发的方法。它不同于程序设计中用算法按步骤来解决同题,面是将问题模块分成一个个对象,用于描述这些模块在解决问题的步骤中的行为。面向对象是计算机编程发展到一定阶段的产物。【概念分析】面向对象包括面向对象的分析、设计和编程实现等。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法。3.数据类型【名词解释】数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。数据类型包括原始类型、多元组、记录单元、代数数据类型、抽象数据类型参考类型以及函数类型。概念分析PYTHON语言具有六种数据类型,包括Number(数字)、String(字符串)Tuple(元组)、List(列表)、Set(集合)、Dictionary(字典),其中,前三种类型属于不可变数据类型,后三种属于可变数据类型。教材中已对前两种类型作出介绍,下面简要介绍一下后面几种1.Tuple(元组)元组写在小括号()里,元素之间用逗号(,)隔开,必须注意小括号和逗号都是在英文状态下输入,组中的元素类型可以不相同。可参考以下实例:#!/usrbin/python3m=('abc’,637,3.14,‘python’,70.2)n=(123,‘python’)print(m)#输出完整元组print(m[0])#输出元组的第一个元素print(m[1:3])#输出从第二个元素开始到第三个元素print(m[2:1])#输出从第三个元素开始的所有元素print(n2)#输出两次元组print(m+n)#连接元组以下为输出结果:(‘abc’,637,3.14.‘python’,702)abc(637,3.14)(3.14,‘python’,70.2)(123,‘python’,123,‘python’)(‘abe’,637,3.14,‘python’,70.2,123,‘python’)2.List(列表)List(列表)是Python中使用最頻繁的数据类型。列表中元素的类型可以不相同,它支持数字、字符串甚至可以包含列表(所谓嵌套)。列表是写在方括号[]之间、用逗号(,)分隔开的元素列表。和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。列表截取的语法格式如下:变量[头下标:尾下标]索引值以0为开始值,-1为从末尾的开始位置。加号(+)是列表连接运算符,星号()是重复操作。如下实例:#!/usrbin/python3m=[‘abc’,637,3.14,‘python’,70.2]n=[123,‘python’]print(m)#输出完整列表print(m[0])#输出列表第一个元素print(m[1:3])#从第二个开始输出到第三个元素print(m[2:1])#输出从第三个元素开始的所有元素print(n2)#输出两次列表print(m+n)#连接列表以下是输出结果:[‘abc’,637,3.14,’python’,70.2]Abc[637,3.14][3.14,’python’,70.2][123,’python’,123,’python’][‘abc’,637,3.14,’python’,70.2,123,’python’]3.Set(集合)集合(set)是一个无序不重复元素的序列。基本功能是进行成员关系测试和删除重复元素。可以使用大括号{}或者set()函数例建集合,注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典。以下为创建格式:p={valuer01,value02…)或者set(value)4.Dictionary(字典)字典(dictionary)是Python中另一个非常有用的内置数据类型。列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典是一种映射类型,字典用“{}”标识,它是一个无序的键(key):值(value)对集合。特别注意:键(key)必须使用不可变类型,在同一个字典中,键(key)必须是唯一的。【概念应用】在一些特殊的情况下,我们需要对数据类型进行转换,只需将数据类型名称转换为函数名即可,以下几个函数可完成相应数据类型的转换。函数描述Int(x[,base])将x转换成一个整数Float(x)将x转换成一个浮点数Complex(real[,imag])创建一个复数Str(x)将对象x转换成字符串Repr(x)将对象x转换成表达式字符串Cval(str)用来计算在字符串中的有效python表达式,并返回一个对象Tuple(s)将序列s转换成一个元组List(s)将序列s转换成一个列表Set(s)转换为可变集合Dict(d)创建一个字典,d必须是一个序列(key,value)元组技术手册活动1:编写“利息计算”程序代码技术关键:Input(输入命令)、print(输出命令)。点拔:此题是计算利息的问题,根据“利息=本金利率”来计算。利用Input命令输人本金,计算机利用利息计算公式计算利息,最后利用print命今输出利息金额。这就是利用程序加工数据的完整过程。x=int(input(“金额:”))#利用inputa命令输入本金xy=x1.5/100#计算利息ypint(“利息是:”,y)#利用print命令输出利息y活动2:编写“品质列表”程序技术关键:列表m[9]共有10个元素,下标从0开始,第1个元素为m[0],第2个元素为m[1]…第10个元素为m[9];列表元素的追加:m.append(’元素’)。M=[‘爱国’,’坚毅’,’乐观’]printe(“你的品质:”,m)m.append(’努力’)#追加元素[’努力’]m.append(’细致’)#追加元素[‘细致’]print(“你的品质:”,m)print(“第一品质:”,m[0])技术探索:尝试用文件存储数据1、打开一个文件Fw=open(“group5.txt”,”w”)2、向文件写入字符串Fw.write(“我的小组:”)3、向文件写入字符并换行Fw.write(?“五组/n”)4、关闭打开的文件Fw.close()教学指引【指导学时】2课时【教学建议】Python语言是完全面向对象的语言,其书写规范、清晰,若编码人员有不好的编程习惯,则编译可能无法通过,因此,在教学时要格外注意python语言的规范性。在项目研讨过程中,要注意引导和鼓励,利用简单有趣的活动,激发学生的兴趣、想象力、创造力,打破程序学习的神秘面纱,让程序的学习不再枯燥难懂。活动1“编写数据加工的程序”:为使学生体会在计算机中输入、加工与输出数据的过程,设计相应程序,完成数据加工的学习任务。初步了解python编程软件的操作方法,能够利用python语言解决简单问题。活动2“探究数据的存储方式”:使用列表来模拟存储一些数据,编写简单的程序代码,观察输出结果,从而研究数据的存储方式。学会输入命令(input)、输出命令(print)的使用。第2单元探究如何用计算机解決问题微项目2用选择结构程序做出判断科技词典1.选择结构【名词解释】选择结构又叫分支结构,它的执行是依据一定的条件作出判断,根据判断结果,选择执行不同的分支。选择结构并不是严格按照程序语句出现的顺序执行,也并不会执行所有程序语句,而只是执行符合判断条件的那部分语句。【概念分析】使用选择结构的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。选择结构适合带有逻辑或关系比较等条件判断的计算,设计这类程序时往往要先绘制流程图描述算法,然后根据流程图写出程序代码,把程序设计分析与程序语言分离,从而使问题简单化,易于理解。2.变量【名词解释】变量是指在程序运行时,其值可以改变的量,是一个用变量名访问的存储空间,用于存储变化的信息。【概念分析】变量同常量一样可以看作是存放信息的“容器”,不同的是变量的“容器”里的信息不是固定的,是可以改变的。每个变量都对应一个存储单元,变量名就是该存储空间的标识,程序通过变量名访问存储单元里的数据。在Python中,变量不需要事先声明,可以直接引用。【概念应用】Python中的变量不需要声明,但是在使用前必须赋值,变量赋值以后该变量才会被创建。在python中利用“等号(=)”来给变量赋值。等号(=)运算符左边是一个变量名,右边是存储在变量中的值。如以下实例所示:#!/usr/bin/python3I=100#整型变量M=1000.0#浮点型变量N=”python”#字符串Print(i)Print(m)Print(n)执行以上程序会输出如下结果:1001000.0PythonPython允许同时为多个变量赋值。例如:A=b=c=1以上实例,创建一个整型对象,值为1,三个变量都指向同一个内存位置。我们也可以为多个对象指定多个变量。例如:a,b,c=1,2,”python”在以上实例中,两个整型对象1和2的分配给变量a和b,字符串对象”python”分配给变量c。【技术手册】1、验证密码是否输入正确技术关键:条件表达式的使用(if…else);注意区分“==”(判断是否等于)和“=”(赋值语句)。点拔:本问题的关键在于判断输入的密码是否正确,若正确,输出“欢迎您!”,若密码输入错误,则输出“密码错误”。Ifp==”xly23z”;Print(“欢迎您!”)else:print(“密码错误”)2、比较两个表达式的大小技术关键:表达式的计算;算数运算符的优先顺序。点拨:两个表达式的比较结果一般有三种情况(大于、小于和等于)。在判断第一种情况后,需要在否则(else)情况下再进行判断第二种情况,剩余的就是第三种情况。ifa>bprint(a,’>’,b)elseifaprint(a,’<’,b)eIseprint(a,’=’,b)3.多种情况的罗列推断技术关键:对于多种可能的情况,使用“if…elif…else”进行判断,其中“elif表示否则再判断的意思。点拨:此题共分为四种情况,a.当输入的年龄小于等于0时,显示“你是在逗我吧!”;b.当输人的年龄为1岁时,狗狗的年絵相当于14岁的人;c.当输入的年龄为2岁时,狗狗的年龄相当于22岁的人;d.当输入的年絵大于2岁时,狗狗的年絵相当于(22+(age-2)5)岁的人。ifage<=0:print(”你是在过我吧!”)elifage==1:print(”相当于14岁的人哦!”)elifage==2print(“相当于22岁的人哦!”)else:pint(”对应人类年龄:”,22+(age-2)5)教学指引【指导学时】2-3课时【教学建议】活动一:根据条件作出判断。对于需要使用选择程序作出判断的同题,需具体问题具体分析,认识基本的选择结语句,注意语句的缩进。活动二:根据多个条件逐步判断。对于判断条件比较多的问题,需要使用选结构的嵌套和复合选择结构,注意比较运算符的正确使用。【数学范例】根据多个条件步推断教学目标:1.学会条件语句结构,拿握其一般形式2.正确使用选择结构的嵌套和复合选择结构的运用3.了解比较运算符和逻辑运算符的使用方法,比较其异同教学方法项目教学法、合作探究法。教学过程:1.引入部分对于生活中判断情况比较复杂的问题,可以用条件语句来解决。数师在屏幕上展示两个不宜直接判断大小的表达式,让学生在不进行运算的基上直接判断,但是学生并不能很容易地判断出来,就可以交给计算机来完或。2新授部分小组合作学习,探究比较两个表达式大小的所有情况,分别是大于、小于、等于三种。程序在进行判断时,先判断第一种情况,若不符合,则判断第二种情况,若还不符合,再判断第三种情况。小组探究选择结构的嵌套的基本形式,如下:if(条件1)语句1elseif(条件2):语句2else:语句3小组合作,尝试利用程序实现表达式大小的判断过程,并思考:若需要将多种可能情况进行一一罗列,那么应该使用什么语句?接着,组内展开对“多种情况的罗列判断”问题的研究,设计程序,并运行调试,体验狗狗胸年龄与人相当的情况探索多重判断的程序执行过程,并了解elif的作用。3.拓展部分自主学习“科学探究”中的内容,了解python中比较运算符的使用,学会使用运算判断复杂的情况。合作完成“技术探索”中的内容,体验逻辑运算与比较运算的异同,并合作完成两个技术试验,利用试验来体验and和or的不同,参考实验过程中的条件值,分析返回结果。根据实验内容提示,创造机器人聊天小程序。4.交流与反思(1)选择结构的基本形式、适用条件。(2)体会选择结构的嵌套,注意缩进等格式。(3)分析比较运算和逻辑运算的异同。(4)分享在本项目学习中的收获与不足,与同学们探讨。第2单元探究如何用计算机解決问题微项目3用循环结构程序自动化计算科技词典1.循环结构【名词解释】循环结构是指在程序中需要反复执行某个功能面设置的一种程序结构。它由循环体中的条件来判断健续执行循环体还是跳出循环。根据判断条件,循环结构可分为以下两种形式:先判断后执行的循环结构(当型循环)和先执行后判断的循环结构(直到型循环)。【概念分析】当条件成立的时候,执行循环体的代码,当条件不成立的时候,跳出循环,执行循环结构后面的代码。环结构用来描述重复执行某段算法的问题,可以减少源程序重复书写的工作量,这是程序设计中最能发挥计算机特长的程序结构。一个完整的循环结构包含三个要素:循环变量、循环体和循环终止条件。【概念应用】循环结构包括两种循环形式:(1)当型循环先判断所给条件P是否成立,若P成立,则执行A(步骤);再判断条件P是否成立;若P成立,则又执行A,如此反复,直到某一次条件P不成立时为止。(2)直到型循环先执行B,再判断所给条件Q是否成立,若Q不成立,则再执行B,如此反复,直到Q成立,该循环过程结束。(条件P语句A假真)(语句B条件Q假真)技术手册1.while循环Python中while语句的一般形式:whilel判断条件:语句需要注意冒号和缩进。另外,在Python中没有do…while循环。例如,使用while来计算1到100的总和#!/usrbin/envpython3n=100sum=0i=1whilei<=n:sum=sum+ii=i+1print(“1到%d之和为:%d”,(n,sum))执行结果如下:1到100之和为50502.for语句Python中for循环可以遍历任何序列的项目,如一个列表或者一个字符串。for循环的一般格式如下for变量in序列语句for实例中也可以使用break语句,break语句用于跳出当前循环体。以下为遍历“Python”中的字母:foriin’Python’print(“当前字母:”,i)教学指引指导学时13课时【数学建议】第一课时:体会循环的力量。解决累加的问题第二课时:了解计数循环的结构,掌for循环语句格式及使用条件。第三课时:探讨条件循环结构,学会使用while循环语句,初步了解多重循环。【数学范例】探究条件循环的程序教学目标1.了解while环语句的基本形式2.学会用while循环语句解决生活中的同题。教学方法:自主探究结合分组团队合作。教学过程教师可根据自己的教学风格和教学计划合理地安排教学环节。下面以常规划分为例给出一点过程上的提示,仅供参考。1.引人部分教师可以引导学生自行阅读活动描述,然后通过问题启发学生思考,最终将学生引导到用程序来解决问题的探究之路上。例如,讲授活动2时,先让学生体验登录网站时验证码的输人,然后提出疑问:为防止恶意登录,验证码的设置十分重要,那么同学们知道如何利用Python语言设计程序来实现验证码的输入过程吗?通过设置问题情境改发学生的学习兴趣,使学生进行利用程序解决问题的探究过程。2.新授部分教师引导学生根据教材活动建议中提出的问题进行思考,然后结合小组讨论,进行研究、实践,并鼓励学生汇报探究结果。验证码的输入分为两步:一是系统自动生成随机验证码,二是验证用户输入的验证码是否正确。经过计数循环专题的学习,学生已有的知识技能足以解决第一个步骤。第二个步骤教师可给出相应指导,让学生通过小组合作讨论,探究出系统自动生成随机验证码的程序结构。教师继续引导:while循环与or循环有相似之处,for环用于循环次数已知的情况,面while循环用于循环次数未知的情况,只有满足条件时才能维续往后执行,否则跳出循环,while循环的一般形式如下While条件语句那么如何验证用户输入的验证码是否正确呢?请同学们组内讨论,利用while语环实现这个过程。学生完成之后,继续思考,为进一步增强网络信息的完全性,在用户验证码输人错误时立即产生一个新的验证码重新输人,这个过程应该如何实现呢?请同学们研究讨论。3.拓展部分数师引导学生合作讨论“科学探究”,探究如何利用多重循环设计程序解决问题。教师可根据进度和时间情况,给于点按和指导,体现对学生的分层要求。4.小结与评价部分在课程结束前,教师帮助学生对本节课的计数循环、条件循环、多重循环等内容展开回顾、梳理与总结,可以采用互动提问和做练习的方式进行。教师帮助学生建立项目成果文件夹,将自己探究、调试过的相关程序分别保存在独立的文件夹中,打包上传,作为评价的部分依据,也可以帮助学生记录自己学习和进步的历程。 展开更多...... 收起↑ 资源预览