资源简介 (共15张PPT)必修一项目八:设计批量数据处理算法以手机通讯录制作为例从1G到5G关于手机通讯录你知道多少?算法设计核心概念01“通讯录管理系统”:1)增加姓名和手机号2)删除姓名和手机号3)修改手机号4)查询所有用户5)根据姓名查找手机号6)退出自顶向下、逐步求精顶层设计02“通讯录管理系统”:1)增加姓名和手机号2)删除姓名和手机号3)修改手机号4)查询所有用户5)根据姓名查找手机号6)退出1、定义姓名列表2、定义手机号列表whileTrue:3、输入选择的功能号4、如果输入数字不在功能列表内[1,2,3,4,5,6]input("输入有误请重新输入")5、否则:如果b==1:#增加姓名和手机如果b==2:#删除姓名如果b==3:#修改手机号如果b==4:#查询所有用户如果b==5:#根据姓名查找手机号如果b==6:#退出否则:print("输入有误请重新输入")name=[]number=[]whileTrue:b=int(input())ifbnotin[1,2,3,4,5,6]:input("输入有误请重新输入")else:ifb==1:#增加姓名和手机elifb==2:#删除姓名elifb==3:#修改手机号elifb==4:#查询所有用户elifb==5:#根据姓名查找手机号elifb==6:#退出else:print("输入有误请重新输入")顶层设计--关于列表02列表:批量数据在程序中进行表示的方法name=[“马化腾”,“马云”,“李彦宏”]name[0]#引用“马化腾”first=name[1]#引用“马云”并赋值给变量firstname[0:2]#引用列表元素从索引0到1设计模块1--增加姓名和手机号03“增加姓名和手机号”算法细化:1.1输入姓名给字符串变量1.2如果通讯录里有此姓名则跳过,否则将姓名添加到通讯录最后。同时输入手机号并在通讯录里存入手机号1.3打印“输入完成”第1.2步算法细化:1.2.1分支判断姓名是否出现在姓名列表,如果是,打印“已有此联系人请重新输入”1.2.2如果姓名列表没有此姓名,则使用append方法将姓名添加到姓名列表1.2.3输入手机号添加到对应手机号列表,并打印“输入完成”设计模块1--增加姓名和手机号03append方法:添加元素到列表末尾name=[“马化腾”,“马云”,“李彦宏”]name.append(“任正非”)#添加任正非到列表末尾设计模块2--删除姓名和手机号04“删除姓名和手机号”算法细化:2.1)输入要删除的联系人到字符串变量2.2)找到联系人在姓名列表内的位置2.3)在姓名列表内删除此姓名2.4)对应位置的手机号列表内删除手机号2.5)打印“删除完成”设计模块2--删除姓名和手机号04index方法:返回元素索引位置name=[“马化腾”,“马云”,“李彦宏”,“任正非”]name.index(“任正非”)#返回列表内“任正非”位置为3remove方法:删除列表内指定元素name.remove(“任正非”)#删除列表内元素“马云”del方法:删除列表内指定索引位置元素delname[0]#删除列表位置为0的元素设计模块3--修改手机号05“修改手机号”算法细化:3.1输入要修改的联系人姓名3.2找到联系人姓名在列表内的位置3.3通过位置找到手机号列表对应位置,并对此位置的号码进行修改name=[“马化腾”,“马云”,“李彦宏”,“任正非”]name[0]=“雷军”#替换name列表索引位置0的元素设计模块4--查询所有用户06“查询所有用户”算法细化:4.1循环遍历姓名列表并输出foriinname:#按元素顺序遍历print(“所有用户”,i)foriinrange(len(name)):#按索引顺序遍历print(“所有用户”,name[i])设计模块5--根据姓名查找手机号07“根据姓名查找手机号”算法细化:5.1输入需要查找的联系人给字符串变量5.2找到联系人姓名在列表内的位置5.3通过位置找到手机号列表对应位置,并输出手机号项目汇总081、完成“手机通讯录制作”项目。2、总结:自顶向下、逐步求精的设计算法方法列表的基本操作:1)列表的引用2)append方法、index方法、remove方法、del方法作业09利用列表设计“手机敏感词过滤系统”。THANKYOU谢谢观看项目八:设计批量数据处理算法----以手机通讯录制作为例教学意图:为了提升学生数字化学习与创新意识,培养学生计算思维。围绕学科核心素养展开项目式教学。本项目以5G时代手机运用作为背景引入,简单回顾手机的基本操作,以手机通讯录制作、手机敏感词汇过滤系统为项目主题。通过“自顶向下,逐步求精”的方法设计算法,引导学生一步步完成项目要求,以达到数据批量操作的python实现--列表。教学目标:认识python数据存储的基本方式:列表。掌握列表的基本操作:添加,引用及切片(整体引用)、更新、删除等。设计算法完成手机通讯录和手机敏感词汇过滤系统。教学重点:Python列表的认识及基本操作。自顶向下,逐步求精的算法设计方法。教学难点:算法设计与程序设计过渡。教学步骤:教学环接教师活动学生活动引入(3分钟)播放视频:《1G到5G:1分钟带你了解移动通信的发展史》设计目的:激发课堂气氛,引入项目主题提出问题:我们站在巨人的肩膀上引来了5G时代,但是快速发展的今天,我们不能浮躁,社会提倡的工匠精神必须从我们学生时代开始培养。因此我们今天将以手机作为主题展开我们的项目探究。项目将以设计最底层也是最重要的手机通讯录开始。下面我们思考一个问题,手机通讯录主要包含哪些功能?1、观看,聆听2、回答问题“手机通讯录包含哪些功能?”项目引导1(3分钟)1、介绍“自顶向下、逐步求精”的算法设计核心概念:先进行顶层设计,再对各组成部分进行细化。2、项目:手机通讯录顶层算法设计“通讯录管理系统”:1)增加姓名和手机号2)删除姓名和手机号3)修改手机号4)查询所有用户5)根据姓名查找手机号6)退出3、依据顶层设计展示制作的程序模块图注释:顶层设计中的步骤,并不能直接对应一条明确的程序语句,还需要进行细化设计,将顶层设计“模块化”,每一步为一个独立的功能模块。1、了解“自顶向下,逐步求精”算法设计核心思想。2、设计通讯录管理系统顶层算法项目引导2(6分钟)1、提供顶层设计模块,引导学生开始分模块逐步设计。设计目的:认识列表,及列表引用2、设计模块1)的算法--增加姓名和手机号。“增加姓名和手机号”算法细化:1.1)输入姓名给字符串变量1.2)如果通讯录里有此姓名则跳过,否则将姓名添加到通讯录最后。同时输入手机号并在通讯录里存入手机号1.3)打印“输入完成”第1.2)步算法细化:1.2.1)单分支判断姓名是否出现在姓名列表,如果是,打印“已有此联系人请重新输入”1.2.2)如果姓名列表没有此姓名,则使用append方法将姓名添加到姓名列表1.2.3)输入手机号添加到对应手机号列表,并打印“输入完成”设计目的:掌握列表操作功能一:添加元素根据设计模块1的算法完成模块1语法细化程序,并成功运行。掌握列表引用及添加元素到列表的方法。4、项目引导3(6分钟)1、设计模块2)的算法--删除姓名和手机号。“删除姓名和手机号”算法细化:2.1)输入要删除的联系人到字符串变量2.2)找到联系人在姓名列表内的位置2.3)在姓名列表内删除此姓名2.4)对应位置的手机号列表内删除手机号2.5)打印“删除完成”设计目的:1、认识列表索引查找方法:index()函数2、认识列表元素内容删除方法:remove()函数3、认识列表元素位置删除方法:del操作1、根据设计模块2的算法完成模块2语法细化程序,并成功运行。2、掌握根据元素查询索引的方法3、掌握列表元素内容删除方法4、掌握根据列表元素位置删除的方法5、项目引导4(6分钟)1、设计模块3)的算法--修改手机号“修改手机号”算法细化:3.1)输入要修改的联系人姓名3.2)找到联系人姓名在列表内的位置3.3)通过位置找到手机号列表对应位置,并对此位置的号码进行修改3.4)打印修改完成第3.3)步算法细化:3.3.1)输入要修改的手机号到字符串变量3.3.2)根据手机号列表对应位置,直接进行新手机号赋值,即完成修改。设计目的:认识修改列表元素方法根据设计模块3的算法完成模块3语法细化程序,并成功运行。掌握修改列表元素的方法项目引导5(3分钟)设计模块4)的算法--查询所有用户“查询所有用户”算法细化:4.1)循环遍历姓名列表并输出设计目的:结合列表复习循环结构1、根据设计模块4的算法完成模块4语法细化程序,并成功运行。项目引导6(5分钟)设计模块5)的算法--根据姓名查找手机号“根据姓名查找手机号”算法细化:5.1)输入需要查找的联系人给字符串变量5.2)找到联系人姓名在列表内的位置5.3)通过位置找到手机号列表对应位置,并输出手机号设计目的:列表的引用练习1、根据设计模块5的算法完成模块5语法细化程序,并成功运行。项目汇总(5分钟)1、将以上5个细化的算法模块通过最终的整合完成“手机通讯录管理系统”的制作。2、总结整个项目中涉及到的列表的基本操作,和“自顶向下、逐步求精”的算法设计方法的优点。2、布置“手机敏感词汇过滤系统”制作小作业。1、完成5个算法细化模块的汇总,形成一个完善的手机通讯录管理系统项目。 展开更多...... 收起↑ 资源列表 1G到5G:1分钟带你了解移动通信的发展史.mp4 制作手机通讯录管理系统.pptx 项目八:设计批量数据处理算法——以手机通讯录制作为例 教案.doc