搜索
    上传资料 赚现金
    项目六 探究文本字符的处理——字符串的操作 (第一课时)课件+教案
    立即下载
    加入资料篮
    资料中包含下列文件,点击文件名可预览资料内容
    • 课件
      项目六(第一课时).pptx
    • 项目六(第一课时).doc
    项目六 探究文本字符的处理——字符串的操作 (第一课时)课件+教案01
    项目六 探究文本字符的处理——字符串的操作 (第一课时)课件+教案02
    项目六 探究文本字符的处理——字符串的操作 (第一课时)课件+教案03
    项目六 探究文本字符的处理——字符串的操作 (第一课时)课件+教案04
    项目六 探究文本字符的处理——字符串的操作 (第一课时)课件+教案05
    项目六 探究文本字符的处理——字符串的操作 (第一课时)课件+教案06
    项目六 探究文本字符的处理——字符串的操作 (第一课时)课件+教案07
    项目六 探究文本字符的处理——字符串的操作 (第一课时)课件+教案08
    项目六 探究文本字符的处理——字符串的操作 (第一课时)课件+教案01
    项目六 探究文本字符的处理——字符串的操作 (第一课时)课件+教案02
    项目六 探究文本字符的处理——字符串的操作 (第一课时)课件+教案03
    还剩25页未读, 继续阅读
    下载需要40学贝
    使用下载券免费下载
    加入资料篮
    立即下载

    信息技术选修1 数据与数据结构1.实现文本字符的编辑获奖课件ppt

    展开
    这是一份信息技术选修1 数据与数据结构1.实现文本字符的编辑获奖课件ppt,文件包含项目六第一课时pptx、项目六第一课时doc等2份课件配套教学资源,其中PPT共33页, 欢迎下载使用。

    第三单元 特殊的线性表

    项目六 探究文本字符的处理

    ——字符串的操作

    第一课时 实现文本字符的编辑

     

    教材分析

    本节的主要内容是实现文本字符的编辑。以探究文本字符的处理为主线,整个项目分为实现文本字符编辑、实现文本查找、实现文本函数功能三个问题解决。本节课时是从探究电子表格应用中对文本字符进行插入、删除,引出文本字符在计算机中对应于字符串数据,而字符串数据是以种特殊数据类型的线性表形式存储数据的。在这一课时过程中,让学生逐步理解本项目的核心概念字符串及字符串应用的基本操作,如删除、插入等,并在活动中让学生利用 Python编程实现这些基本操作。通过这一项目学习过程,进一步培养学生的信息意识和计算思维。

    教学目标

    1.理解字符串的概念和特征;

    2.理解字符串存储的原理和特点;

    3.理解字符串的删除、插入两种基本操作和作用;

    4.能设计字符串删除、插入的算法;

    5.能用Python编写程序,实现字符串删除、插入等操作;

    6.培养学生的信息意识和计算思维能力。

    教学重点

    1.理解字符串的概念;

    2.理解字符串的存储结构;

    3.掌握字符串处理的基本操作;

    教学难点

    1.能编程实现字符串处理的基本操作;

    2.培养学生的信息意识和计算思维能力。

    教学方法

    体验法、讲授法、讨论法、示例法

    教学准备

      计算机教室、多媒体设备、多媒体广播软件、教学课件、Python编程环境、学生上机练习的程序文件,预先编制的Python程序文件等。

    教学过程

    一、新课导入

    电子表格等办公软件能方便地对文本字符进行如插入、删除、查找等编辑和处理(3-12)。这些文本字符的操作是如何实现的呢?文本字符如学生的姓名、性别等,在计算机世界中对应于字符串数据。字符串是非数值计算问题所要处理的主要对象之一,在文本编辑等方面使用非常广泛。因此,我们有必要了解字符串的概念及其基本操作。

     

    二、认识字符串

    核心概念

    字符串( string)(简称串):由零个或多个字符组成的有限序列。

    字符串的长度:字符串中字符的个数。

    小贴士

    字符串是特殊的线性表即数据元素只有一个字符的线性表。字符串的插入、删除操作实现与一般的线性表相同。

     

    文档中的一个词组、一句话或选中的一段文字就是一个具体的字符串,在计算机中道常记为s=a1a2a3an,其中s是字符串的名,双引号括起来的字符序列称为字符串的值; ai(1in)可以是字母、数字或其他字符,n为字符串长度。长度为零的串称为空串。学符串是有限个字符组成的序列,它也是一种线性表,只是线性表中的每个数据元素只能是字符类型,因此称字符串为特殊的线性表。字符串就是字符序列,是数据元素为字符型的线性表。因为字符串的数据元素类型是确定的字符类型,所以大部分程序设计语言都提供了字符串的存储和对字符串操作的丽数,只要直接调用系统提供的字符串操作函数即可实现对字符串的操作。

    字符串的抽象数据类型表示如下:

    ADT String:

    数据对象:D={ai l ai, CharacterSet,i=1,2,,n,n>=0}

    数据关系:R={<ai-1,ai>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的子串

     

    三、字符串的常用基本操作

    1.插入操作

    字符串中任何位置上都可以插入字符串。

    例如,s=Cheng,Fei中第11个位置(下标为10)上插人字符串t=Adam,插入后s=Cheng,Fei Adam。在s=Cheng,Fei中第7个位置(下标为6)上插入宇符串t=Adam"(末尾须有一个空格),插入后s=Cheng,Adam Fei

    Python语言中没有直接使用的插入函数,可用截取子串和连接操作实现插入操作。使用数组存储时,算法的基本思想是先将插入位置上的元素依次后移空出空间然后插入元素。

    2.删除操作

    删除宇符串中的子串操作。

    例如,=China Beijing Shanghai中将第14个位置(下标为13)开始的长度为9的子串删除,删除后s=China Beijing

    Python语言中可以用del语句实现删除操作。使用数组存储时,算法的基本思想是将被删结点后面的数据元素依次往前移动覆盖前一结点(有些程序设计语言中字符串数组最后一个元素是结束符)。

     

    四、实现文本字符的编辑

    用户在输入文本字符时,会发生漏输或多输,这时对输入的文本进行编辑修改,如插入或删除字符。使用文档处理软件进行编辑修改的操作很简单,只要定位光标,直接删除和插入即可,那么这些操作对于开发者来说是如何通过编程实现的呢?

    在输入文本数据时,假设用数组存放一串文本字符,即字符串,实际上就是对数组进行赋值操作,如图3-13所示为存储学生信息表中学生李婷的昵称Audrey的数组s(以下都以存储单元加数组下标的形式表示)

    该字符串中有6个字符,称其长度的顺序存储若输入时, Audney错输成 Audneey,多输了一个字母e,要在Audneey中删除这个e的过程如图3-14,图3-15所示。

        

    3-14            3-15

    思考与讨论

    1.如果插入和删除的是多个字符的字符串,该如何处理?

    插入或删除多个字符的操作是在插入或删除个字符的基础上重复操作完成的。要确定重复操作次数,须确定字符的个数(字符串的长度)

     

    2.使用链表如何实现字符串的存储和删除?

    与线性表的链表操作基本相同。

     

    五、课堂活动

    1.尝试写出字符串抽象数据类型的定义。

    ADT String:

    数据对象:D={ai l ai, CharacterSet,i=1,2,,n,n>=0}

    数据关系:R={<ai-1,ai>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的子串

     

    2.画出字符串插入与删除的算法流程图,利学过的数组知识,尝试完成下述代码,理解每一条语句的作用,并上机实践(为了便于理解算法思想,本项目所有活动采用 Python列表模拟数组的方式,而不直接采用 Python语言的字符串变量及相关操作)

    (1)插入程序

    s=[A,u,n,e,y]  #定义s列表并赋值

    n=len(s)  #ns列表长度

    t= input(输入要插入的字符串")

    m=len(t)

    s.extend(t)  #扩大s列表空间

    J=n-1

    i=3

    while(j>=i-1):

    _____________   #元素后移,空出插入字符串的位置

    _____________

    for j in range(0. m):

    _____________   #依次送入元素

    n=n+m

    print(插入后的字符串为"s)

     

    参考答案:

    s[j+m]=s[j]

    j=j-1

    s[j+i-1]=t[j]

    (2)删除程序:

     

     s=[A ',u,d, n, 'n, n,'e,'e, y]

     print(s)

    n=len(s)

    i=5  #位置开始删除m个字符

    m=3

    j=i-1+m

    while (j<n):

    ____________   #元素前移,覆盖删除部分

    ____________

    if(i-1+m>n-1)  #释放多余的空间

      del s[i-1: n]

    else:

    del s[n-m: n]

    print(删除第",j位置,长度为,m,"的数据后:",s)

     

    参考答案:

    s[j-m]=s[j]

    j=j+1

     

     

     

     

     

     

     

     

     

     

     

     

    相关课件

    2020-2021学年3.探究点餐数据的计算机处理过程精品ppt课件: 这是一份2020-2021学年3.探究点餐数据的计算机处理过程精品ppt课件

    高中信息技术教科版 (2019)选修1 数据与数据结构2.3 字符串应用课文ppt课件: 这是一份高中信息技术教科版 (2019)选修1 数据与数据结构2.3 字符串应用课文ppt课件,共12页。PPT课件主要包含了教学目标,字符串及相关概念,字符串匹配,相关代码如下,线性表和字符串的区别等内容,欢迎下载使用。

    高中信息技术1.探究计算机中算术表达式的计算原理优秀ppt课件: 这是一份高中信息技术1.探究计算机中算术表达式的计算原理优秀ppt课件,文件包含项目七第一课时pptx、项目七第一课时doc等2份课件配套教学资源,其中PPT共30页, 欢迎下载使用。

    免费资料下载额度不足,请先充值

    每充值一元即可获得5份免费资料下载额度

    今日免费资料下载份数已用完,请明天再来。

    充值学贝或者加入云校通,全网资料任意下。

    提示

    您所在的“深圳市第一中学”云校通为试用账号,试用账号每位老师每日最多可下载 10 份资料 (今日还可下载 0 份),请取消部分资料后重试或选择从个人账户扣费下载。

    您所在的“深深圳市第一中学”云校通为试用账号,试用账号每位老师每日最多可下载10份资料,您的当日额度已用完,请明天再来,或选择从个人账户扣费下载。

    您所在的“深圳市第一中学”云校通余额已不足,请提醒校管理员续费或选择从个人账户扣费下载。

    重新选择
    明天再来
    个人账户下载
    下载确认
    您当前为教习网VIP用户,下载已享8.5折优惠
    您当前为云校通用户,下载免费
    下载需要:
    本次下载:免费
    账户余额:0 学贝
    首次下载后60天内可免费重复下载
    立即下载
    即将下载:0份资料
    • 充值学贝下载 90%的用户选择 本单免费
    • 扫码直接下载
    选择教习网的 4 个理由
    • 更专业

      地区版本全覆盖, 同步最新教材, 公开课⾸选;1200+名校合作, 5600+⼀线名师供稿

    • 更丰富

      涵盖课件/教案/试卷/素材等各种教学资源;500万+优选资源 ⽇更新5000+

    • 更便捷

      课件/教案/试卷配套, 打包下载;手机/电脑随时随地浏览;⽆⽔印, 下载即可⽤

    • 真低价

      超⾼性价⽐, 让优质资源普惠更多师⽣

    开票申请 联系客服
    本次下载需要:0学贝 0学贝 账户剩余:0学贝
    本次下载需要:0学贝 原价:0学贝 账户剩余:0学贝
    了解VIP特权
    您当前为VIP用户,已享全站下载85折优惠,充值学贝可获10%赠送

        扫码支付后直接下载

        0元

        扫码支付后直接下载

        使用学贝下载资料比扫码直接下载优惠50%
        充值学贝下载,本次下载免费
        了解VIP特权
        • 微信
        • 支付宝

        微信扫码支付

        支付宝扫码支付(支持花呗)

        到账0学贝
        • 微信
        • 支付宝

        微信扫码支付

        支付宝扫码支付 (支持花呗)

          下载成功

          Ctrl + Shift + J 查看文件保存位置

          若下载不成功,可重新下载,或查看 资料下载帮助

          本资源来自成套资源

          更多精品资料

          正在打包资料,请稍候…

          预计需要约10秒钟,请勿关闭页面

          服务器繁忙,打包失败

          请联系右侧的在线客服解决

          单次下载文件已超2GB,请分批下载

          请单份下载或分批下载

          支付后60天内可免费重复下载

          我知道了
          正在提交订单

          欢迎来到教习网

          • 900万优选资源,让备课更轻松
          • 600万优选试题,支持自由组卷
          • 高质量可编辑,日均更新2000+
          • 百万教师选择,专业更值得信赖
          微信扫码注册
          qrcode
          二维码已过期
          刷新

          微信扫码,快速注册

          还可免费领教师专享福利「樊登读书VIP」

          手机号注册
          手机号码

          手机号格式错误

          手机验证码 获取验证码

          手机验证码已经成功发送,5分钟内有效

          设置密码

          6-20个字符,数字、字母或符号

          注册即视为同意教习网「注册协议」「隐私条款」
          QQ注册
          手机号注册
          微信注册

          注册成功

          下载确认

          下载需要:0 张下载券

          账户可用:0 张下载券

          立即下载

          如何免费获得下载券?

          加入教习网教师福利群,群内会不定期免费赠送下载券及各种教学资源, 立即入群

          即将下载

          项目六 探究文本字符的处理——字符串的操作 (第一课时)课件+教案

          该资料来自成套资源,打包下载更省心

          [共10份]
          浏览全套
            立即下载(共1份)
            返回
            顶部