第三单元项目六 探究文本字符的处理——字符串的操作(第二课时)课件+教案(共17张PPT)

文档属性

名称 第三单元项目六 探究文本字符的处理——字符串的操作(第二课时)课件+教案(共17张PPT)
格式 zip
文件大小 2.4MB
资源类型 试卷
版本资源 沪教版(2019)
科目 信息技术(信息科技)
更新时间 2021-10-08 13:59:52

文档简介

中小学教育资源及组卷应用平台
项目六
探究文本字符的处理
——字符串的操作
第二课时
实现文本的查找
教材分析
本节的主要内容是实现文本的查找。以探究文本字符的处理为主线,整个项目分为实现文本字符编辑、实现文本查找、实现文本函数功能三个问题解决。本节课时是从探究电子表格应用中对文本字符进行比较与查找,引出文本字符在计算机中对应于字符串数据,而字符串数据是以种特殊数据类型的线性表形式存储数据的。在这一课时过程中,让学生逐步理解本项目的核心概念“字符串”及字符串应用的基本操作,如比较与查找等,并在活动中让学生利用
Python编程实现这些基本操作。通过这一项目学习过程,进一步培养学生的信息意识和计算思维。
教学目标
1.理解字符串的查找等基本操作和作用;
2.能设计字符串比较、查找的算法;
3.能用Python编写程序,实现字符串比较、查找等操作;
6.培养学生的信息意识和计算思维能力。
教学重点
1.理解字符串的概念;
2.理解字符串的存储结构;
3.掌握字符串处理的基本操作;
教学难点
1.能编程实现字符串处理的基本操作;
2.培养学生的信息意识和计算思维能力。
教学方法
体验法、讲授法、讨论法、示例法
教学准备
  计算机教室、多媒体设备、多媒体广播软件、教学课件、Python编程环境、学生上机练习的程序文件,预先编制的Python程序文件等。
教学过程
一、新课导入
复习字符串的概念并尝试写出字符串抽象数据类型的定义。
ADT
String:
数据对象:D={ai
l
ai,

CharacterSet,i=1,2,…,n,n>=0}
数据关系:R={l
ai-1,ai

D,i=2,...,n}
基本操作:
def
Assign(self,chars)
#生成一个值等于chars的字符串
def
Copy(self,s)
#复制字符串。
def
Compare(self,s)
#比较操作,若大于s则返回1;若等于s则返回0;若小于则返回-1
def
Length(self)
#返回字符串的元素个数,即求长度
def
Concat(self,s)
#连接字符串s
def
SubString(self,pos,len)
#pos正确,返回第pos个字符起长度为len的子串
def
Index(self,s,pos)
#返回子串s在字符串中第pos个字符之后第一次出现的位置;若无则返回0
def
Replace(self,s,t)
#用t替换字符串中出现的所有的子串s
def
Insert(self,pos,s)
#在字符串的第pos个字符位置上插入s
def
Deletel(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,
Xiao
Wen的学生。可以使用软件自带的查找功能,如图3-17所示。
3-17
查找功能
看似简单的查找操作,编程实现时,需要对字符串进行匹配,即使用字符串的比较操作。例如,英文名“Gu,XiaoWen”与“Gu,
Xiao
Mei”比较是否相等的比较过程如图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=0
j=0
while
(iand
j
if(_____________):
Print(“字符串s小于字符串t”)
break
else:
if(_____________):
print("字符串s大于字符串t")
break
i=i+1
j=j+1
if(_____________):
print(“字符串s等于字符串t”)
参考答案:
s[i]s[i]>t[j]
i==n
and
j==m
21世纪教育网
www.21cnjy.com
精品试卷·第
2

(共
2
页)
HYPERLINK
"http://21世纪教育网(www.21cnjy.com)
"
21世纪教育网(www.21cnjy.com)(共17张PPT)
第二课时
实现文本的查找
信息技术沪教版
选择性必修1
第三单元
特殊的线性表
项目六
探究文本字符的处理
——字符串的操作
一、新课导入
二、字符串的基本操作——比较操作
三、实现文本的查找
四、课堂活动
一、新课导入
尝试写出字符串抽象数据类型的定义
ADT
String:
数据对象:D={ai
l
ai,

CharacterSet,i=1,2,…,n,n>=0}
数据关系:R={l
ai-1,ai

D,i=2,...,n}
基本操作:
def
Assign(self,chars)
#生成一个值等于chars的字符串
def
Copy(self,s)
#复制字符串。
def
Compare(self,s)
#比较操作,若大于s则返回1;若等于s则返回0;若小于则返回-1
def
Length(self)
#返回字符串的元素个数,即求长度
def
Concat(self,s)
#连接字符串s
def
SubString(self,pos,len)
#pos正确,返回第pos个字符起长度为len的子串
def
Index(self,s,pos)
#返回子串s在字符串中第pos个字符之后第一次出现的位置;若无则返回0
def
Replace(self,s,t)
#用t替换字符串中出现的所有的子串s
def
Insert(self,pos,s)
#在字符串的第pos个字符位置上插入s
def
Deletel(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,
Xiao
Wen的学生。可以使用软件自带的查找功能,如图所示。
简单的查找操作,编程实现时,需要对字符串进行匹配,即使用字符串的比较操作。例如,英文名“Gu,XiaoWen”与“Gu,
Xiao
Mei”比较是否相等的比较过程如图所示。
小贴士
比较操作:两个字符串的字符
对应按字典序进行比较。可以进行相等、大于或小于的比较。
四、课堂活动
画出比较两个字符串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=0
j=0
while
(iand
j
if(_____________):
Print(“字符串s小于字符串t”)
break
else:
if(_____________):
print("字符串s大于字符串t")
break
i=i+1
j=j+1
if(_____________):
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=0
j=0
while
(iand
j
if(_____________):
Print(“字符串s小于字符串t”)
break
else:
if(_____________):
print("字符串s大于字符串t")
break
i=i+1
j=j+1
if(_____________):
print(“字符串s等于字符串t”)
s[i]s[i]>t[j]
i==n
and
j==m
谢谢
21世纪教育网(www.21cnjy.com)
中小学教育资源网站
有大把高质量资料?一线教师?一线教研员?
欢迎加入21世纪教育网教师合作团队!!月薪过万不是梦!!
详情请看:
https://www.21cnjy.com/help/help_extract.php