所属成套资源:(核心素养目标)湘电子版八年级上册教案+课件PPT(全套)
初中信息技术湘电子版(2019)八年级上册第12节 义卖竞价(一)——关系运算备课课件ppt
展开
这是一份初中信息技术湘电子版(2019)八年级上册第12节 义卖竞价(一)——关系运算备课课件ppt
义卖竞价(一)——关系运算湘教版 八年级上新知导入他们在干嘛呢? 为了资助贫困地区的孩子们,学校经常开展爱心义卖活动,义卖物品通常来自同学和老师们的捐赠。 义卖通常会以竞价的方式进行,即价高者得。那么,如果有多个人竞价同一件物品,怎样来判断谁是胜出者呢?如果只有两个人竞价,根据之前学过的知识,你会怎么编写程序呢?新知导入组内交流if(a>b): aelse: bif(a>b): a如果有3个人竞价呢?你会怎么做?组内交流新知讲解思路1:a与b比,胜者再与c比。思路2:假设a为胜者,将他与其他人比,谁赢了谁取代胜者的位置。新知讲解思路1:a与b比,胜者再与c比。①把三个物品编号为a,b,c②将a,b分别对比,留下较大的一个③将c于②留下的那个对比,再次留下较大的一个④最后留下的就是最高的价格。设置变量输入数据构建比较价格的表达式,要储存在两两比较中较大的数,进入下一个比较价格的表达式输出数据新知讲解思路2:假设a为胜者,将他与其他人比,谁赢了谁取代胜者的位置。①把三个物品编号为a,b,c②最大值a,如果b大于a,最大值为b,否则最大值还是a。③如果c大于②中最大值,最大值为c。④最后留下的就是最高的价格。设置变量输入数据构建比较价格的表达式,一一对比,每次都储存最大值。输出数据新知讲解 无论有多少数据要作比较,都需要先进行两两比较,并对其中较大的一个数进行存储处理,因为它还需要和下一个数进行比较,而不是直接输出。注意事项 问题看上去很简单,但是细化为简洁、清晰的解决算法,还需要同学们大胆构想、细心推敲。我们可以采用两种算法来编写竞价程序,其流程图如表所示。 请仔细对比两种算法的流程图,找出各自的优势和不足,并填入表中。如果考虑很多个数据比较大小时,哪种算法的运行效率更高?一、三个数比较大小的算法描述及流程图新知讲解一、三个数比较大小的算法描述及流程图新知讲解1、速度慢2、计算效率低3、可扩展性差1、运算方式简单易懂一、三个数比较大小的算法描述及流程图新知讲解1、多个数的比较比较容易2、算法运行效率高。3、可扩展性好1、每次只能储存一个数值,不易知道具体过程。一、三个数比较大小的算法描述及流程图新知讲解 经过对比和分析两种算法的流程图,我们会发现,如果考虑很多个数据比较大小时,第一种算法的运行速度慢、计算效率低、可扩展性差。而第二种算法设置了一个变量max用来存储最大的数,每次比较后,都会将两数中较大一个存入该变量,这样使得多个数的比较变得非常容易,算法运行效率高。 在数学学习中,很容易把自然语言描述的“A比B大”转化成数学语言,即可以描述为“A>B”。与此类似,在Pyhon语言中,要把表达式描述给计算机,需要使用关系运算来实现。二、构建比较大小所需的关系表达式新知讲解1.关系运算符二、构建比较大小所需的关系表达式 关系运算符是对数值或其他值进行操作,并得到逻辑结果的一种运算符,关系运算符在 Python语言中的表示如表所示。新知讲解新知讲解关系运算符的优先级低于算术运算符。注意事项1.关系运算符二、构建比较大小所需的关系表达式 关系运算符的使用方法与算术运算符一致,关系运算的结果就是运算符两端的表达式或者数值之间的关系是否成立,结果只有True(成立)和 False(不成立)。这个运算结果称为逻辑值。新知讲解1.关系运算符二、构建比较大小所需的关系表达式a=10b=20c=a>bprint(c)例如最后输出的结果为 False,因为10>20这种数值关系并不成立。注意:关系运算中的“==”和赋值语句的“”很容易混淆,应注意区分。关系运算“==”描述的是相等关系是否成立,而赋值语句中的“=”则是将右侧的值交给左侧的变量。新知讲解 使用关系运算符把两个算术表达式(或字符串表达式)连接起来的式子,被称为关系表达式。关系表达式的值是逻辑值,结果只能为“True”或者“ False”。在 Python语言中True的值对应数值1;而 False的值对应数值0。2.关系表达式二、构建比较大小所需的关系表达式新知讲解True=1False=0 从解决任务的算法流程图描述中可知,a、b代表两个出价。如果a是30元,b是20元,那么a>b的关系运算结果就是“True”;如果a是20元,b是30元,那么a>b的关系运算结果就是“ False”因此,用于判断的条件表达式,可以用“a>b”这一关系表达式来表达。 在 Python语言中,赋予计算机“判断”能力的是选择结构,它通过关系运算的结果,判断执行哪个分支,从而实现逻辑判断。3.构建比较大小的关系表达式二、构建比较大小所需的关系表达式新知讲解1.编写程序三、程序的实现条件表达式构建完成后,依据算法流程,编写程序如表所示。新知讲解1.编写程序三、程序的实现新知讲解数据转化成浮点数型把a的值赋给max比较b与max的大小,若关系表达式成立则把b的值赋给max,若不成立则ma的值不变a=float(input(“报价1:”))b=float(input(“报价2:”))c=float(input(“报价3:”))max=aif b>max: max=bif c>max: max=cprint(max)输出max的值比较c与max的大小,若关系表达式成立则把c的值赋给max,若不成立则max的值不变 程序编写完成后,需要设计测试数据,将程序进行反复测试直到运行结果完全正确。我们采用下表的数据进行测试,并将测试情况填写在表中。2.程序测试三、程序的实现新知讲解2.程序测试三、程序的实现新知讲解小组内交流解决,并试着输入电脑进行实操。 请同学们参考流程图,构建条件表达式,编写程序——小明要买一瓶洗发水,去了三家超市进行对比,请帮忙写出一个获得最小值的程序。 要注意变量a、b、c的数据类型要转化为整型(int)或浮点型(float)。合作探究 20世纪80年代,出现面向对象的程序设计方法,并逐渐发展成为主流的程序开发技术, Python、Java等都是面向对象的程序设计语言。面向对象的程序设计以对象为中心,从所处理的数据入手,具有较强的稳定性,代码可重用性也比较高。面向对象的程序设计合作探究面向对象的程序设计合作探究 从思想上看,“结构化方法”承袭了结构化程序设计的思想,把待解决的问题看作一个系统,用系统科学的思想方法来分析和解决问题。结构化方法遵循抽象原则、分解原则和模块化原则,以数据和功能为中心,以模块为基本单位,以算法为程序核心,强调逐步求精和信息隐藏。而“面向对象方法”的思想是模拟了客观世界的事物以及事物之间的联系。面向对象的程序设计合作探究面向对象的程序设计合作探究 面向对象以类取代模块为基本单位;通过封装、继承和多态的机制,表征对象的数据和功能、联系和通信;通过对对象的管理和对象间的通信完成信息处理与信息管理的计算和存储,实现软件功能。面向对象的程序设计合作探究 对于结构化方法,模块由函数实现,完成对输入数据的加工和计算,数据和功能是分离的;而面向对象把数据和功能封装在对象中,形成一个整体。两种方法在数据和功能上的不同处理是其思想上的本质差别。 面向对象的程序设计并不是对结构化程序设计的否定,而是对它的继承和发展,面向对象的程序设计依然渗透着结构化程序设计的思想与方法。面向对象的程序设计合作探究(1)写出下表关系表达式的值。课堂练习(2)根据描述,写出关系表达式。课堂练习课堂总结板书设计
相关课件
这是一份湘电子版(2019)八年级上册第14节 快速制作年历课堂教学ppt课件,文件包含湘教版信息技术八上第六单元《快速制作年历》课件pptx、湘教版信息技术八上第六单元《快速制作年历》教案docx等2份课件配套教学资源,其中PPT共28页, 欢迎下载使用。
这是一份初中信息技术湘电子版(2019)八年级上册第13节 义卖竞价(二)——擂台算法评课课件ppt
这是一份初中信息技术湘电子版(2019)八年级上册第8节 认识Python语言评课课件ppt,文件包含湘电子版认识Python语言课件pptx、湘电子版认识Python语言教案docx等2份课件配套教学资源,其中PPT共30页, 欢迎下载使用。