第三單元 特殊的線性表項目六 探究文本字符的處理——字符串的操作第一課時 實現(xiàn)文本字符的編輯 ?教材分析本節(jié)的主要內(nèi)容是實現(xiàn)文本字符的編輯。以探究文本字符的處理為主線,整個項目分為實現(xiàn)文本字符編輯、實現(xiàn)文本查找、實現(xiàn)文本函數(shù)功能三個問題解決。本節(jié)課時是從探究電子表格應(yīng)用中對文本字符進(jìn)行插入、刪除,引出文本字符在計算機(jī)中對應(yīng)于字符串?dāng)?shù)據(jù),而字符串?dāng)?shù)據(jù)是以種特殊數(shù)據(jù)類型的線性表形式存儲數(shù)據(jù)的。在這一課時過程中,讓學(xué)生逐步理解本項目的核心概念字符串及字符串應(yīng)用的基本操作,如刪除、插入等,并在活動中讓學(xué)生利用 Python編程實現(xiàn)這些基本操作。通過這一項目學(xué)習(xí)過程,進(jìn)一步培養(yǎng)學(xué)生的信息意識和計算思維。?教學(xué)目標(biāo)1.理解字符串的概念和特征;2.理解字符串存儲的原理和特點;3.理解字符串的刪除、插入兩種基本操作和作用;4.能設(shè)計字符串刪除、插入的算法;5.能用Python編寫程序,實現(xiàn)字符串刪除、插入等操作;6.培養(yǎng)學(xué)生的信息意識和計算思維能力。?教學(xué)重點1.理解字符串的概念;2.理解字符串的存儲結(jié)構(gòu);3.掌握字符串處理的基本操作;?教學(xué)難點1.能編程實現(xiàn)字符串處理的基本操作;2.培養(yǎng)學(xué)生的信息意識和計算思維能力。?教學(xué)方法體驗法、講授法、討論法、示例法?教學(xué)準(zhǔn)備  計算機(jī)教室、多媒體設(shè)備、多媒體廣播軟件、教學(xué)課件、Python編程環(huán)境、學(xué)生上機(jī)練習(xí)的程序文件,預(yù)先編制的Python程序文件等。?教學(xué)過程一、新課導(dǎo)入電子表格等辦公軟件能方便地對文本字符進(jìn)行如插入、刪除、查找等編輯和處理(3-12)。這些文本字符的操作是如何實現(xiàn)的呢?文本字符如學(xué)生的姓名、性別等,在計算機(jī)世界中對應(yīng)于字符串?dāng)?shù)據(jù)。字符串是非數(shù)值計算問題所要處理的主要對象之一,在文本編輯等方面使用非常廣泛。因此,我們有必要了解字符串的概念及其基本操作。 二、認(rèn)識字符串核心概念字符串( string)(簡稱串):由零個或多個字符組成的有限序列。字符串的長度:字符串中字符的個數(shù)。小貼士字符串是特殊的線性表即數(shù)據(jù)元素只有一個字符的線性表。字符串的插入、刪除操作實現(xiàn)與一般的線性表相同。 文檔中的一個詞組、一句話或選中的一段文字就是一個具體的字符串,在計算機(jī)中道常記為s=a1a2a3an,其中s是字符串的名,雙引號括起來的字符序列稱為字符串的值; ai(1in)可以是字母、數(shù)字或其他字符,n為字符串長度。長度為零的串稱為空串。學(xué)符串是有限個字符組成的序列,它也是一種線性表,只是線性表中的每個數(shù)據(jù)元素只能是字符類型,因此稱字符串為特殊的線性表。字符串就是字符序列,是數(shù)據(jù)元素為字符型的線性表。因為字符串的數(shù)據(jù)元素類型是確定的字符類型,所以大部分程序設(shè)計語言都提供了字符串的存儲和對字符串操作的麗數(shù),只要直接調(diào)用系統(tǒng)提供的字符串操作函數(shù)即可實現(xiàn)對字符串的操作。字符串的抽象數(shù)據(jù)類型表示如下:ADT String:數(shù)據(jù)對象:D={ai l ai, CharacterSet,i=1,2,,n,n>=0}數(shù)據(jù)關(guān)系:R={<ai-1,ai>l ai-1,ai D,i=2,...,n}基本操作:def Assign(self,chars)  #生成一個值等于chars的字符串def Copy(self,s)  #復(fù)制字符串。def Compare(self,s)#比較操作,若大于s則返回1;若等于s則返回0;若小于則返回-1def Length(self)  #返回字符串的元素個數(shù),即求長度def Concat(self,s)  #連接字符串sdef SubString(self,pos,len)  #pos正確,返回第pos個字符起長度為len的子串def Index(self,s,pos)#返回子串s在字符串中第pos個字符之后第一次出現(xiàn)的位置;若無則返回0def Replace(self,s,t)   #t替換字符串中出現(xiàn)的所有的子串sdef Insert(self,pos,s)  #在字符串的第pos個字符位置上插入sdef Deletel(self,pos,len)  #刪除字符串中第pos位置開始長度為len的子串 三、字符串的常用基本操作1.插入操作字符串中任何位置上都可以插入字符串。例如,s=Cheng,Fei中第11個位置(下標(biāo)為10)上插人字符串t=Adam,插入后s=Cheng,Fei Adam。在s=Cheng,Fei中第7個位置(下標(biāo)為6)上插入宇符串t=Adam"(末尾須有一個空格),插入后s=Cheng,Adam Fei。Python語言中沒有直接使用的插入函數(shù),可用截取子串和連接操作實現(xiàn)插入操作。使用數(shù)組存儲時,算法的基本思想是先將插入位置上的元素依次后移空出空間然后插入元素。2.刪除操作刪除宇符串中的子串操作。例如,=China Beijing Shanghai中將第14個位置(下標(biāo)為13)開始的長度為9的子串刪除,刪除后s=China Beijing。Python語言中可以用del語句實現(xiàn)刪除操作。使用數(shù)組存儲時,算法的基本思想是將被刪結(jié)點后面的數(shù)據(jù)元素依次往前移動覆蓋前一結(jié)點(有些程序設(shè)計語言中字符串?dāng)?shù)組最后一個元素是結(jié)束符)。 四、實現(xiàn)文本字符的編輯用戶在輸入文本字符時,會發(fā)生漏輸或多輸,這時對輸入的文本進(jìn)行編輯修改,如插入或刪除字符。使用文檔處理軟件進(jìn)行編輯修改的操作很簡單,只要定位光標(biāo),直接刪除和插入即可,那么這些操作對于開發(fā)者來說是如何通過編程實現(xiàn)的呢?在輸入文本數(shù)據(jù)時,假設(shè)用數(shù)組存放一串文本字符,即字符串,實際上就是對數(shù)組進(jìn)行賦值操作,如圖3-13所示為存儲學(xué)生信息表中學(xué)生李婷的昵稱Audrey的數(shù)組s(以下都以存儲單元加數(shù)組下標(biāo)的形式表示)該字符串中有6個字符,稱其長度的順序存儲若輸入時, Audney錯輸成 Audneey,多輸了一個字母e,要在Audneey中刪除這個e的過程如圖3-14,圖3-15所示。     3-14            3-15思考與討論1.如果插入和刪除的是多個字符的字符串,該如何處理?插入或刪除多個字符的操作是在插入或刪除個字符的基礎(chǔ)上重復(fù)操作完成的。要確定重復(fù)操作次數(shù),須確定字符的個數(shù)(字符串的長度) 2.使用鏈表如何實現(xiàn)字符串的存儲和刪除?與線性表的鏈表操作基本相同。 五、課堂活動1.嘗試寫出字符串抽象數(shù)據(jù)類型的定義。ADT String:數(shù)據(jù)對象:D={ai l ai, CharacterSet,i=1,2,,n,n>=0}數(shù)據(jù)關(guān)系:R={<ai-1,ai>l ai-1,ai D,i=2,...,n}基本操作:def Assign(self,chars)  #生成一個值等于chars的字符串def Copy(self,s)  #復(fù)制字符串。def Compare(self,s)#比較操作,若大于s則返回1;若等于s則返回0;若小于則返回-1def Length(self)  #返回字符串的元素個數(shù),即求長度def Concat(self,s)  #連接字符串sdef SubString(self,pos,len)  #pos正確,返回第pos個字符起長度為len的子串def Index(self,s,pos)#返回子串s在字符串中第pos個字符之后第一次出現(xiàn)的位置;若無則返回0def Replace(self,s,t)   #t替換字符串中出現(xiàn)的所有的子串sdef Insert(self,pos,s)  #在字符串的第pos個字符位置上插入sdef Deletel(self,pos,len)  #刪除字符串中第pos位置開始長度為len的子串 2.畫出字符串插入與刪除的算法流程圖,利學(xué)過的數(shù)組知識,嘗試完成下述代碼,理解每一條語句的作用,并上機(jī)實踐(為了便于理解算法思想,本項目所有活動采用 Python列表模擬數(shù)組的方式,而不直接采用 Python語言的字符串變量及相關(guān)操作)。(1)插入程序s=[A,u,n,e,y]  #定義s列表并賦值n=len(s)  #ns列表長度t= input(輸入要插入的字符串")m=len(t)s.extend(t)  #擴(kuò)大s列表空間J=n-1i=3while(j>=i-1):_____________   #元素后移,空出插入字符串的位置_____________for j in range(0. m):_____________   #依次送入元素n=n+mprint(插入后的字符串為",s) 參考答案:s[j+m]=s[j]j=j-1s[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=3j=i-1+mwhile (j<n):____________   #元素前移,覆蓋刪除部分____________if(i-1+m>n-1)  #釋放多余的空間  del s[i-1: n]else: del s[n-m: n]print(刪除第",j位置,長度為,m,"的數(shù)據(jù)后:",s) 參考答案:s[j-m]=s[j]j=j+1            

相關(guān)課件

高中信息技術(shù)浙教版 (2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)第三章 字符串、隊列和棧3.1 字符串一等獎ppt課件:

這是一份高中信息技術(shù)浙教版 (2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)第三章 字符串、隊列和棧3.1 字符串一等獎ppt課件,共14頁。PPT課件主要包含了字符串的概念,字符串的特性,字符串的基本操作,“我愛”,“我”,“Python”,小試牛刀,s610,s1012,課后挑戰(zhàn)等內(nèi)容,歡迎下載使用。

高中信息技術(shù)粵教版 (2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)3.2.2 字符串的基本操作評優(yōu)課課件ppt:

這是一份高中信息技術(shù)粵教版 (2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)3.2.2 字符串的基本操作評優(yōu)課課件ppt,文件包含粵教版2019高中選修1信息技術(shù)322調(diào)試與排錯課件pptx、粵教版2019高中選修1信息技術(shù)322調(diào)試與排錯教案docx等2份課件配套教學(xué)資源,其中PPT共17頁, 歡迎下載使用。

高中信息技術(shù)教科版 (2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)2.3 字符串應(yīng)用課文ppt課件:

這是一份高中信息技術(shù)教科版 (2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)2.3 字符串應(yīng)用課文ppt課件,共12頁。PPT課件主要包含了教學(xué)目標(biāo),字符串及相關(guān)概念,字符串匹配,相關(guān)代碼如下,線性表和字符串的區(qū)別等內(nèi)容,歡迎下載使用。

英語朗讀寶

相關(guān)課件 更多

高中3.模擬實現(xiàn)文本函數(shù)的功能精品課件ppt

高中3.模擬實現(xiàn)文本函數(shù)的功能精品課件ppt

滬教版(2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)2.實現(xiàn)文本的查找優(yōu)秀課件ppt

滬教版(2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)2.實現(xiàn)文本的查找優(yōu)秀課件ppt

信息技術(shù)3.2 Python語言程序設(shè)計課文內(nèi)容ppt課件

信息技術(shù)3.2 Python語言程序設(shè)計課文內(nèi)容ppt課件

浙教版 (2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)3.1 字符串備課ppt課件

浙教版 (2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)3.1 字符串備課ppt課件

資料下載及使用幫助
版權(quán)申訴
版權(quán)申訴
若您為此資料的原創(chuàng)作者,認(rèn)為該資料內(nèi)容侵犯了您的知識產(chǎn)權(quán),請掃碼添加我們的相關(guān)工作人員,我們盡可能的保護(hù)您的合法權(quán)益。
入駐教習(xí)網(wǎng),可獲得資源免費推廣曝光,還可獲得多重現(xiàn)金獎勵,申請 精品資源制作, 工作室入駐。
版權(quán)申訴二維碼
高中信息技術(shù)滬教版 (2019)選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)電子課本

1. 實現(xiàn)文本字符的編輯

版本: 滬教版 (2019)

年級: 選修1 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)

切換課文
所有DOC左下方推薦
歡迎來到教習(xí)網(wǎng)
  • 900萬優(yōu)選資源,讓備課更輕松
  • 600萬優(yōu)選試題,支持自由組卷
  • 高質(zhì)量可編輯,日均更新2000+
  • 百萬教師選擇,專業(yè)更值得信賴
微信掃碼注冊
qrcode
二維碼已過期
刷新

微信掃碼,快速注冊

手機(jī)號注冊
手機(jī)號碼

手機(jī)號格式錯誤

手機(jī)驗證碼 獲取驗證碼

手機(jī)驗證碼已經(jīng)成功發(fā)送,5分鐘內(nèi)有效

設(shè)置密碼

6-20個字符,數(shù)字、字母或符號

注冊即視為同意教習(xí)網(wǎng)「注冊協(xié)議」「隱私條款」
QQ注冊
手機(jī)號注冊
微信注冊

注冊成功

返回
頂部