資源簡介 抽象數據類型一 、選擇題(每小題列出的四個備選項中只有一個是符合題目要求的,不選、多選、錯選均不得分)1. 下列關于抽象數據類型作用的說法,正確的是 ( ) A.抽象數據類型將生活中的一些細小規模的問題抽象成規模較大 的問題B.抽象數據類型不允許程序員自由選擇數據結構,目的是規范設計,減少出錯C.使用抽象數據類型編寫出來的程序結構清晰,層次分明D.抽象數據類型具有封裝性,因此不易優化算法和提高程序的運行效率2. 下列關于Python 抽象數據類型(ADT) 的說法,不正確的是( ) A.抽象數據類型是指一個數學模型及定義在該模型上的一組操作 B.Python的一個內置類型不是一個抽象數據類型C.抽象數據類型是一種思想,也是一種技術D.定義一個抽象數據類型(ADT) 的目的是要定義一類計算對象,使它們具有某些特定的功能3. 某Python程序如下:def fun(a):m=0for i in a:if i>m:m=ireturn m則Python內置函數中,與自定義函數fun(a)的功能相似的是( )A.len(a) B.sum(a)C.max(a) D.min(a)4. 下列是一個簡單的ADT:class qt:def ini (self,str1):self.ss=str1def revst(self,s1):return self.ss[:- 1]sstr=input("please input:")x=qt(sstr)if sstr==x.revst(sstr):print("Yes")else:print("No")下列關于該抽象數據類型(ADT) 實例的說法,不正確的是( )A.qt為抽象數據類型名B.x為qt類的一個對象C.程序運行后,輸入123421,輸出的結果為“Yes”D.程序運行后,輸入abccba, 輸出的結果為“Yes”二、非選擇題5.下列是一個加減乘除四則運算的ADT:lass operator():def init (self,datal,data2,ch):self.datal=datalself.data2=data2①def cal(self):if self.ch=="+":c=self.datal+self.data2print(self.data1,"+",self.data2,"=",c)if self.ch=="-":c=self.datal-self.data2print(self.data1,"-",self.data2,"=",c)if self.ch=="*":c=self.data1*self.data2print(self.data1,"*",self.data2,"=",c)if self.ch=="/":if self.data2!=0:②print(self.data1,"/",self.data2,"=",c)else:print("分母不能為0")#創建實例:my operator=operator(2,6,"*")my operator.cal()請回答下列問題:(1)程序運行后,輸出的結果是(2)請在劃線處填入合適的代碼。6. 下面給出了字符串抽象數據類型的部分描述信息ADT String:String(self,sseq)#基于字符串序列sseq建立一個字符串is empty(self)#判斷字符串是不是空串len(self)#取得字符串的長度char(self,index)#取得字符串中位置index的字符substr(self,a,b)#取得字符串中[a:b]的子串,左閉右開區間match(self,string)#查找串string在本字符串中第一次出現的位置........現有一字符串對象s,請回答下列問題:(1)根據字符串抽象數據類型的描述,若要獲取字符串s下標位置為 [x:y](左閉右閉)區間內容的子串,正確的調用方式為 。(2)基于字符串序列sseq建立一個字符串的操作s=String(sseq),可 以理解為對字符串s的初始化操作,初始的值為 。(3)當s=""時 ,s.is empty()的返回值為True,則 當s="ABCDEF" 時, s.is empty()的返回值為 ,s.len()的返回值為 。(4)當要調用match方法時,需要提供的參數個數為 。參考答案CBCC(1) 2*6=12 (2)①self.ch=ch ② c=self.data1/self.data2(1)s.substr(x,y+1) (2)sseq (3)False 6 (4)1 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫