您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第2单元 探究如何用计算机解决问题
第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(n*2)#输出两次元组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(n*2)#输出两次列表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=x*1.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)情况下再进行判断第二种情况,剩余的就是第三种情况。ifabprint(a,’’,b)elseifab:print(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岁的人哦!”)e
本文标题:第2单元 探究如何用计算机解决问题
链接地址:https://www.777doc.com/doc-4606457 .html