2.4.3 算法与程序实现的综合应用 ppt课件(23张ppt)+教案-2023新中图版《高中信息技术》必修第一册.rar

收藏

压缩包目录 预览区
  • 全部
    • 2.4.3 算法与程序实现的综合应用 ppt课件(23张ppt)+教案_2023新中图版《高中信息技术》必修第一册
      • 2.4.3算法与程序实现的综合应用--人教中图版(2019)高中信息技术必修一教案.docx--点击预览
      • 2.4.3算法与程序实现的综合应用-人教中图版(2019)高中信息技术必修一课件.pptx--点击预览
跳过导航链接。
展开 2.4.3算法与程序实现的综合应用ppt课件23张ppt教案_2023新中图版高中信息技术必修第一册.rar2.4.3算法与程序实现的综合应用ppt课件23张ppt教案_2023新中图版高中信息技术必修第一册.rar
请点击导航文件预览
编号:4901678    类型:共享资源    大小:2.15MB    格式:RAR    上传时间:2023-01-23
2
文币
资源描述:
课课题题2.4.3 算法与程序实现的综合应用课型课型新授课课时安排课时安排1教教 学学 过过 程程教教学学目目标标深入理解计算机解决问题的基本过程认识算法效率,能结合程序运行结果对算法进行行完善和优化,进行创造性探索掌握调试运行程序的基本方法教教学学难难点点 教教学学重重点点重点:能根据程序运行结果对算法优化难点:调试运行程序的基本方法教学教学 方法方法讲授法、项目探究法、讨论交流法、云课堂演示等一、情景导入情景导入:以“十九大报告”和中共中央关于制定国民经济和社会发展第十四个五年规划和二三五年远景目标的建议、三国演义的词云图片,导入本节课题,给出本节课项目查找文稿中的高频词二、项目探究:项目探究:1.项目描述:学校开展经典诵读活动,小明在阅读三国演义时,为了分析小说的写作特色,想把小说中出现次数最多的 20 个词查找出来。想一想,小明是否能从纸质小说中找出这 20 个高频词?如果用计算机解决该问题,又应如何实现?分析问题:已知条件:文本文件三国演义);求解目标:三国演义中的高频词(以出现次数最多的 20 个词为例);已知与未知的关系:统计三国演义文本中词频,找出出现次数最多的 20 个词。装订线 授课教师:授课班级:板板书书设设计计2.4.1 基于解析算法的问题解决分析问题设计算法编码调试 完善、优化读取文件:变量名=open(文件路径及文件名,打开模式)Jieba:第三方中文分词函数库教教学学反反思思本节课对无编程基础的学生来说有点难,因此应该多讲解,然后在展开讨论探索等环节。程序语句要一句一句解释,加强学生对代码的理解,为深入学习 python 语言打下基础。设计算法:在问题求解中,除了要完成读取文件和显示输出内容,还要重点实现分词、词频统计和排序等功能。如图所示:待处理的中文字符串待处理的中文字符串中文分词处理(中文分词处理(jieba 分词)分词)分词后的中文分词后的中文“词汇表词汇表”分组探究:请同学们完善这个算法的流程图。(教师引导教师引导)编程实现与调试(教师利用云课堂展示程序代码并讲解教师利用云课堂展示程序代码并讲解)1.读取文件实现f=open(三国演义.txt,r,encoding=utf-8)#打开文件txt=f.read()#读取文件内容2.中文分词实现import jieba#导入 jieba 分词words=jieba.lcut(txt)#将句子拆分为词语保存到列表中3.词频统计实现统计结果保存到哪里?这里我们需要使用 Python 中一个特殊的数据类型,字典。counts=#建立空字典,用于存储词和出现次数lambda 函数:=lambda:等价于下面形式:def():4.显示输出实现for i in range(20):print(itemsi0,itemsi1)#输出词和出现次数三.讨论交流:讨论交流:编程解决问题不是一蹴而就的。通常,我们要根据程序运行结果,围绕求解目标,改进算法、优化程序,以实现问题的最终有效解决。我们目前的程序运行得到的结果是什么?有什么问题吗?我们目前的程序运行得到的结果是什么?有什么问题吗?教师给出利用 if 语句将这些词语进行合并处理的编码:for word in words:if len(word)=1:#单字的词语忽略不计 continue else:countsword=counts.get(word,0)+1#出现次数+1or word in words:if len(word)=1:continue elif word=诸葛亮or word=孔明曰:rword=孔明 elif word=关公or word=云长:rword=关羽 elif word=玄德or word=玄德曰:rword=刘备 elif word=孟德or word=丞相:rword=曹操 else:rword=word countsrword=counts.get(rword,0)+1四、学生调试运行优化后的程序代码,反复调试直至程序运行正确,体验四、学生调试运行优化后的程序代码,反复调试直至程序运行正确,体验 python 程序运行的过程。程序运行的过程。五、作业:五、作业:修改前面编写的三国演义小说高频词查找程序,实现功能:找出小说中出场次数最多的 10 位人物。1.在前面已经查找到的 20 个高频词中,包含有“却说”“二人”“不能”等与人名无关的词语。想一想如何去除这些词语,只显示 10 位出场次数最多的主要人物的人名?试着修改程序。2.统计小说中的高频词,不仅可以帮助我们了解其中的主要人物,还可以用来分析人物的主要活动地点及人物间的关系等。试着编程分析自己感兴趣的一本小说,说一说你的发现。六、课外拓展:六、课外拓展:安装 python 第三方库 jieba 库的方法:Python 快捷方式图标右击“属性”“打开文件所在位置”scriptspip复制路径后按 cmdcd+我们复制的地址后按 Enter,然后在输入:pip install jieba 即可。人教中图版(2019)数据与计算 2.4 常见算法的程序实现人教中图版(2019)数据与计算 2.4 常见算法的程序实现中共中央关于制定国民经济和社会发展第十四个五年规划和二三五年远景目标的建议十九大报告 人教中图版(2019)数据与计算 2.4 常见算法的程序实现“词云词云”就是对网络文本中出现频率较高的就是对网络文本中出现频率较高的“关键词关键词”予以视觉上的突出,形成予以视觉上的突出,形成“关键词关键词云层云层”或或“关键词渲染关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。以领略文本的主旨。人教中图版(2019)数据与计算 2.4 常见算法的程序实现项项目目描述描述:学校开展经典诵读活动,小明在阅读三国演义时,为了学校开展经典诵读活动,小明在阅读三国演义时,为了分析小说的写作特色,想把小说中出现次数最多的分析小说的写作特色,想把小说中出现次数最多的2020个词查找出个词查找出来。想一想来。想一想,小明是否能从纸质小说中找出这小明是否能从纸质小说中找出这2020个高频词?如果个高频词?如果用计算机解决该问题,又应如何实现?用计算机解决该问题,又应如何实现?分析问题设计算法保存文件,调试运行编程实现与调试人教中图版(2019)数据与计算 2.4 常见算法的程序实现1.1.分析问题分析问题小明在阅读三国演义小明在阅读三国演义时,为了分析小说的写作特色,想把小说中出现次时,为了分析小说的写作特色,想把小说中出现次数最多的数最多的2020个词查找出来个词查找出来。使用手工方式逐一查找统计使用手工方式逐一查找统计,费时费力而且任务难度,费时费力而且任务难度大大,此时,我们,此时,我们可以将可以将其转化为可计算问题,通过编程实现问题的高效其转化为可计算问题,通过编程实现问题的高效求解。求解。已知条件:文本文件三国演义);求解目标:三国演义中的高频词(以出现次数最多的20个词为例);已知与未知的关系:统计三国演义文本中词频,找出出现次数最 多的20个词。人教中图版(2019)数据与计算 2.4 常见算法的程序实现2.2.设计算法设计算法在问题求解中,除了要完成读取文件和显示输出内容,还要重在问题求解中,除了要完成读取文件和显示输出内容,还要重点实现分词、词频统计和排序等功能。如图所示点实现分词、词频统计和排序等功能。如图所示:查找文章中高查找文章中高频频词词读取文件读取文件中文分词中文分词词频统计词频统计排序词频排序词频显示输出显示输出人教中图版(2019)数据与计算 2.4 常见算法的程序实现由于中文文本是由连续的字序列构成,没有明显的词语界限,由于中文文本是由连续的字序列构成,没有明显的词语界限,因此分词处理的算法比较复杂。有同学知道分词的算法吗?因此分词处理的算法比较复杂。有同学知道分词的算法吗?jieba jieba 是目前最好的是目前最好的 Python Python 中文分词组件,它主要有以下特中文分词组件,它主要有以下特性:支持性:支持3 3种分词模式,支持繁体分词,支持自定义词典。种分词模式,支持繁体分词,支持自定义词典。通过通过jiebajieba的分词功能,我们可以将的分词功能,我们可以将三国演义三国演义中的汉字字中的汉字字符序列切分成一个个单独的词,组合成一个符序列切分成一个个单独的词,组合成一个“词汇表词汇表”。待处理的中文待处理的中文字符串字符串中文分词处理中文分词处理(jiebajieba分词)分词)分词后的中文分词后的中文“词汇表词汇表”人教中图版(2019)数据与计算 2.4 常见算法的程序实现如何进行词频统计?大家是否还记得之前解决票据中模糊数字推断问题?如何进行词频统计?大家是否还记得之前解决票据中模糊数字推断问题?在词频统计的过程中主要应用了枚举算法,对于在词频统计的过程中主要应用了枚举算法,对于“词汇表词汇表”中的每一个词,中的每一个词,依次计算出各自的出现次数,生成一个包含词和次数的依次计算出各自的出现次数,生成一个包含词和次数的“统计表统计表”。请同学们将这个算法的请同学们将这个算法的流程补充完整。流程补充完整。人教中图版(2019)数据与计算 2.4 常见算法的程序实现词汇表读完了是否为单字的词统计表中已有该词统计结束统计开始读取一个词统计表中该词次数+1统计表中添加该词,次数为1truefalsefalsetruefalsetrue人教中图版(2019)数据与计算 2.4 常见算法的程序实现读取文件实现读取文件实现f=open(f=open(三国演义三国演义.txt,r,encoding=utf-8).txt,r,encoding=utf-8)#打开文件打开文件txt=f.read()txt=f.read()#读取文件内容读取文件内容注意注意:打开文件时要注意编码格式,待分词的字符串可以是:打开文件时要注意编码格式,待分词的字符串可以是 unicode unicode 或或 UTF-8 UTF-8 字符串、字符串、GBK GBK 字符串。注意:不建议直接输入字符串。注意:不建议直接输入 GBK GBK 字符串,可能无法预料地错误解码成字符串,可能无法预料地错误解码成 UTF-8UTF-8。3.3.编程实现与调试编程实现与调试人教中图版(2019)数据与计算 2.4 常见算法的程序实现中文分词实现中文分词实现import jieba import jieba#导入导入jiebajieba分词分词words=jieba.lcut(txt)#words=jieba.lcut(txt)#将句子拆分为词语保存到列表中将句子拆分为词语保存到列表中人教中图版(2019)数据与计算 2.4 常见算法的程序实现人教中图版(2019)数据与计算 2.4 常见算法的程序实现函函数数描述描述jieba.cut(s)精确模式,返回一个可迭代的数据类型jieba.cut(s,cut_all=True)全模式,输出文本s中所有可能单词jieba.cut_for_search(s)搜索引擎模式,适合搜索引擎建立索引的分词结果jieba.lcut(s)精确模式,返回一个列表类型,建议使用jieba.lcut(s,cut_all=True)全模式,返回一个列表类型,建议使用jieba.lcut_for_search(s)搜索引擎模式,返回一个列表类型,建议使用jieba.add_word(w)向分词词典中增加新词wjieba库人教中图版(2019)数据与计算 2.4 常见算法的程序实现词频统计实现词频统计实现统计统计结果保存到哪里?这里我们需要使用结果保存到哪里?这里我们需要使用PythonPython中一个特殊的数据类型,字典。中一个特殊的数据类型,字典。counts=counts=#建立空字典,用于存储词和出现次数建立空字典,用于存储词和出现次数for word in words:for word in words:if len(word)=1:if len(word)=1:#单字的词语忽略不计单字的词语忽略不计 continue continue else:else:countsword=counts.get(word,0)+1#countsword=counts.get(word,0)+1#出现次数出现次数+1+1人教中图版(2019)数据与计算 2.4 常见算法的程序实现 lambda lambda函数函数 用于定义一种特殊的函数用于定义一种特殊的函数匿名函数,又称匿名函数,又称lambdalambda函数。函数。匿名函数并非没有名字,而是将函数名作为函数结果返回,如下:匿名函数并非没有名字,而是将函数名作为函数结果返回,如下:=lambda =lambda:lambda lambda函数与正常函数一样,等价于下面形式:函数与正常函数一样,等价于下面形式:def def():):return return 人教中图版(2019)数据与计算 2.4 常见算法的程序实现lambdalambda函数作为参数函数作为参数 counts=Apple:25,Orange:40,Green tea:28,Coffee:15counts=Apple:25,Orange:40,Green tea:28,Coffee:15 L=list(counts.items()L=list(counts.items()L.sort(key=lambda x:x1,reverse=True)L.sort(key=lambda x:x1,reverse=True)则排序后列表则排序后列表L L的值的值为为:(Orange,40),(Green tea,28),(Orange,40),(Green tea,28),(Apple,25),(Coffee,15)(Apple,25),(Coffee,15)。人教中图版(2019)数据与计算 2.4 常见算法的程序实现显示显示输出实现输出实现for i in range(20):for i in range(20):print(itemsi0,itemsi1)print(itemsi0,itemsi1)#输出词和出现次数输出词和出现次数人教中图版(2019)数据与计算 2.4 常见算法的程序实现编程解决问题不是一蹴而就的。通常,我们要根据程序运行结果,编程解决问题不是一蹴而就的。通常,我们要根据程序运行结果,围绕求解目标,改进算法、优化程序,以实现问题的最终有效解决。围绕求解目标,改进算法、优化程序,以实现问题的最终有效解决。我们目前的程序运行得到的结果是什么?有什么问题吗?我们目前的程序运行得到的结果是什么?有什么问题吗?人教中图版(2019)数据与计算 2.4 常见算法的程序实现我们可以利用我们可以利用PythonPython语言中的语言中的ifif语句将这些词语进行合并处理,具语句将这些词语进行合并处理,具体编码实现如下:体编码实现如下:for word in words:for word in words:if len(word)=1:if len(word)=1:continue continue elif word=elif word=诸葛亮诸葛亮or word=or word=孔明曰孔明曰:rword=rword=孔明孔明 elif word=elif word=关公关公or word=or word=云长云长:rword=rword=关羽关羽 elif word=elif word=玄德玄德or word=or word=玄德曰玄德曰:rword=rword=刘备刘备 elif word=elif word=孟德孟德or word=or word=丞相丞相:rword=rword=曹操曹操 else:else:rword=word rword=word countsrword=counts.get(rword,0)+1 countsrword=counts.get(rword,0)+1人教中图版(2019)数据与计算 2.4 常见算法的程序实现import jiebaf=open(三国演义.txt,r,encoding=utf-8)txt=f.read()words=jieba.lcut(txt)counts=for word in words:if len(word)=1:continue else:countsword=counts.get(word,0)+1 items=list(counts.items()items.sort(key=lambda x:x1,reverse=True)for i in range(20):print(itemsi0,itemsi1)优化前代码:人教中图版(2019)数据与计算 2.4 常见算法的程序实现import jiebaf=open(三国演义.txt,r,encoding=utf-8)txt=f.read()words=jieba.lcut(txt)counts=for word in words:if len(word)=1:continue elif word=诸葛亮or word=孔明曰:rword=孔明 elif word=关公or word=云长:rword=关羽 elif word=玄德or word=玄德曰:rword=刘备 elif word=孟德or word=丞相:rword=曹操 else:rword=word countsrword=counts.get(rword,0)+1 items=list(counts.items()items.sort(key=lambda x:x1,reverse=True)for i in range(20):print(itemsi0,itemsi1)优化后代码:人教中图版(2019)数据与计算 2.4 常见算法的程序实现4.4.保存文件,调试运行程序保存文件,调试运行程序为了更有效地查找、修改程序中存在的错误,需要仔细阅读和分析程序为了更有效地查找、修改程序中存在的错误,需要仔细阅读和分析程序语句,掌握必要的调试方法。断点调试是一种较为直观的程序调试方式,其语句,掌握必要的调试方法。断点调试是一种较为直观的程序调试方式,其基本方法为:基本方法为:进入调试状态;进入调试状态;设置断点;设置断点;检查运行状态下各个变量的值,确定错误的位置,并进行修改;检查运行状态下各个变量的值,确定错误的位置,并进行修改;反复调试直至程序运行正确。反复调试直至程序运行正确。人教中图版(2019)数据与计算 2.4 常见算法的程序实现 修改前面编写的三国演义小说高频词查找程序,实现功能:找出小说中出场次数最多的10位人物。1.在前面已经查找到的20个高频词中,包含有“却说”“二人”“不能”等与人名无关的词语。想一想如何去除这些词语,只显示10位出场次数最多的主要人物的人名?试着修改程序。2.统计小说中的高频词,不仅可以帮助我们了解其中的主要人物,还可以用来分析人物的主要活动地点及人物间的关系等。试着编程分析自己感兴趣的一本小说,说一说你的发现。课后作业:课后作业:
展开阅读全文
【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《2.4.3 算法与程序实现的综合应用 ppt课件(23张ppt)+教案-2023新中图版《高中信息技术》必修第一册.rar》由用户(Q123)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
关 键 词:
高中信息技术 2.4.3 算法与程序实现的综合应用 ppt课件(23张ppt)+教案_2023新中图版《高中信息技术》必修第一册 算法 程序 实现 综合 应用 利用 运用 ppt 课件 23 教案 _2023
提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:2.4.3 算法与程序实现的综合应用 ppt课件(23张ppt)+教案-2023新中图版《高中信息技术》必修第一册.rar
链接地址:https://www.163wenku.com/p-4901678.html
Q123
     内容提供者     

Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


侵权投诉QQ:3464097650  资料上传QQ:3464097650
   


【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

163文库