资源简介 中小学教育资源及组卷应用平台项目六探究文本字符的处理——字符串的操作第二课时实现文本的查找 教材分析本节的主要内容是实现文本的查找。以探究文本字符的处理为主线,整个项目分为实现文本字符编辑、实现文本查找、实现文本函数功能三个问题解决。本节课时是从探究电子表格应用中对文本字符进行比较与查找,引出文本字符在计算机中对应于字符串数据,而字符串数据是以种特殊数据类型的线性表形式存储数据的。在这一课时过程中,让学生逐步理解本项目的核心概念“字符串”及字符串应用的基本操作,如比较与查找等,并在活动中让学生利用Python编程实现这些基本操作。通过这一项目学习过程,进一步培养学生的信息意识和计算思维。 教学目标1.理解字符串的查找等基本操作和作用;2.能设计字符串比较、查找的算法;3.能用Python编写程序,实现字符串比较、查找等操作;6.培养学生的信息意识和计算思维能力。 教学重点1.理解字符串的概念;2.理解字符串的存储结构;3.掌握字符串处理的基本操作; 教学难点1.能编程实现字符串处理的基本操作;2.培养学生的信息意识和计算思维能力。 教学方法体验法、讲授法、讨论法、示例法 教学准备 计算机教室、多媒体设备、多媒体广播软件、教学课件、Python编程环境、学生上机练习的程序文件,预先编制的Python程序文件等。 教学过程一、新课导入复习字符串的概念并尝试写出字符串抽象数据类型的定义。ADTString:数据对象:D={ailai,∈CharacterSet,i=1,2,…,n,n>=0}数据关系:R={lai-1,ai∈D,i=2,...,n}基本操作:defAssign(self,chars)#生成一个值等于chars的字符串defCopy(self,s)#复制字符串。defCompare(self,s)#比较操作,若大于s则返回1;若等于s则返回0;若小于则返回-1defLength(self)#返回字符串的元素个数,即求长度defConcat(self,s)#连接字符串sdefSubString(self,pos,len)#pos正确,返回第pos个字符起长度为len的子串defIndex(self,s,pos)#返回子串s在字符串中第pos个字符之后第一次出现的位置;若无则返回0defReplace(self,s,t)#用t替换字符串中出现的所有的子串sdefInsert(self,pos,s)#在字符串的第pos个字符位置上插入sdefDeletel(self,pos,len)#删除字符串中第pos位置开始长度为len的子串二、字符串的基本操作——比较操作比较两个字符串S和T是否相等。电子表格处理软件提供了对文本查找功能。字符串的比较是按字符的ASCII码值从左到右一一依次比较,直到出现不同的字符为止。两个字符串除比较是否相等外,还有大于、小于的比较。例如,比较字符串“ABCDE”与字符串“ABRA”的大小,方法是从第一个字符开始,一一对应比较,因“C”>“R”为false,所以“ABCDE”>“ABRA”为false。而“ABCDE”<“ABRA”为true。又如“be”>“abcde”为true,因为“b”>“a”为true。算法的基本思想是将存放两个字符串的数组对应字符元素一比较,直至得出比较的结果。三、实现文本的查找假设要在电子表格软件中,查找姓名为“Gu,XiaoWen的学生。可以使用软件自带的查找功能,如图3-17所示。3-17查找功能看似简单的查找操作,编程实现时,需要对字符串进行匹配,即使用字符串的比较操作。例如,英文名“Gu,XiaoWen”与“Gu,XiaoMei”比较是否相等的比较过程如图3-18所示。图3-18比较过程即对两个字符串中的字符依次一一进行比较,直至遇到两个字符不相等或比较完所有字符,得出字符串不相等或相等的结论。小贴士比较操作:两个字符串的字符对应按字典序进行比较。可以进行相等、大于或小于的比较。四、课堂活动画出比较两个字符串s和的算法流程图,尝试完成下述代码,理解每一条语句的作用,并上机实践。s=[‘G’,’u’,’’,’X’,’i’,’a’,’o’,’’,’W’’,’e’,’n’]#定义字符串s列表t=[‘G’,’u’,’’,’X’,’i’,’a’,’o’,’’,’M’’,’e’,’i’]#定义字符串t列表n=len(s)m=len(t)i=0j=0while(iandjif(_____________):Print(“字符串s小于字符串t”)breakelse:if(_____________):print("字符串s大于字符串t")breaki=i+1j=j+1if(_____________):print(“字符串s等于字符串t”)参考答案:s[i]s[i]>t[j]i==nandj==m21世纪教育网www.21cnjy.com精品试卷·第2页(共2页)HYPERLINK"http://21世纪教育网(www.21cnjy.com)"21世纪教育网(www.21cnjy.com)(共17张PPT)第二课时实现文本的查找信息技术沪教版选择性必修1第三单元特殊的线性表项目六探究文本字符的处理——字符串的操作一、新课导入二、字符串的基本操作——比较操作三、实现文本的查找四、课堂活动一、新课导入尝试写出字符串抽象数据类型的定义ADTString:数据对象:D={ailai,∈CharacterSet,i=1,2,…,n,n>=0}数据关系:R={lai-1,ai∈D,i=2,...,n}基本操作:defAssign(self,chars)#生成一个值等于chars的字符串defCopy(self,s)#复制字符串。defCompare(self,s)#比较操作,若大于s则返回1;若等于s则返回0;若小于则返回-1defLength(self)#返回字符串的元素个数,即求长度defConcat(self,s)#连接字符串sdefSubString(self,pos,len)#pos正确,返回第pos个字符起长度为len的子串defIndex(self,s,pos)#返回子串s在字符串中第pos个字符之后第一次出现的位置;若无则返回0defReplace(self,s,t)#用t替换字符串中出现的所有的子串sdefInsert(self,pos,s)#在字符串的第pos个字符位置上插入sdefDeletel(self,pos,len)#删除字符串中第pos位置开始长度为len的子串二、字符串的基本操作——比较操作比较两个字符串S和T是否相等。电子表格处理软件提供了对文本查找功能。字符串的比较是按字符的ASCII码值从左到右一一依次比较,直到出现不同的字符为止。两个字符串除比较是否相等外,还有大于、小于的比较。比较两个字符串S和T是否相等。例如:比较字符串“ABCDE”与字符串“ABRA”的大小。方法是从第一个字符开始,一一对应比较,因“C”>“R”为false,所以“ABCDE”>“ABRA”为false。而“ABCDE”<“ABRA”为true。又如“be”>“abcde”为true,因为“b”>“a”为true。三、实现文本的查找假设要在电子表格软件中,查找姓名为“Gu,XiaoWen的学生。可以使用软件自带的查找功能,如图所示。简单的查找操作,编程实现时,需要对字符串进行匹配,即使用字符串的比较操作。例如,英文名“Gu,XiaoWen”与“Gu,XiaoMei”比较是否相等的比较过程如图所示。小贴士比较操作:两个字符串的字符对应按字典序进行比较。可以进行相等、大于或小于的比较。四、课堂活动画出比较两个字符串s和的算法流程图,尝试完成下述代码,理解每一条语句的作用,并上机实践。s=[‘G’,’u’,’’,’X’,’i’,’a’,’o’,’’,’W’’,’e’,’n’]#定义字符串s列表t=[‘G’,’u’,’’,’X’,’i’,’a’,’o’,’’,’M’’,’e’,’i’]#定义字符串t列表n=len(s)m=len(t)i=0j=0while(iandjif(_____________):Print(“字符串s小于字符串t”)breakelse:if(_____________):print("字符串s大于字符串t")breaki=i+1j=j+1if(_____________):print(“字符串s等于字符串t”)s=[‘G’,’u’,’’,’X’,’i’,’a’,’o’,’’,’W’’,’e’,’n’]#定义字符串s列表t=[‘G’,’u’,’’,’X’,’i’,’a’,’o’,’’,’M’’,’e’,’i’]#定义字符串t列表n=len(s)m=len(t)i=0j=0while(iandjif(_____________):Print(“字符串s小于字符串t”)breakelse:if(_____________):print("字符串s大于字符串t")breaki=i+1j=j+1if(_____________):print(“字符串s等于字符串t”)s[i]s[i]>t[j]i==nandj==m谢谢21世纪教育网(www.21cnjy.com)中小学教育资源网站有大把高质量资料?一线教师?一线教研员?欢迎加入21世纪教育网教师合作团队!!月薪过万不是梦!!详情请看:https://www.21cnjy.com/help/help_extract.php 展开更多...... 收起↑ 资源列表 项目六(第二课时).doc 项目六(第二课时).pptx