资源简介 抽象数据类型一 、选择题(每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)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 展开更多...... 收起↑ 资源预览