上海交通大学python期末考试样题加解析_第1页
上海交通大学python期末考试样题加解析_第2页
上海交通大学python期末考试样题加解析_第3页
上海交通大学python期末考试样题加解析_第4页
上海交通大学python期末考试样题加解析_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上海交通大学试卷(A卷)(2010至2011学年第2学期)班级号学号姓名课程名称程序设计思想和方法成绩一、选择题:将唯一正确的选项写在题前括号中.每题2分.【1(1)本课程的目标定位是什么?A学习Python语言B学习计算机的工作原理C学习各种算法D学习用计算机解决问题【1(2)下列哪个标识符是合法的?Avar-nameB!#$%C._100Delif【1(3)执行下列语句后的显示结果是什么?“I-V>>>s=hi>>>print“hi”,2*sD hi hi hiAhihihiB"hi"hihiChihihi【(4)如何解释下面的执行结

2、果?>>>print1.2-1.0=0.2FalseA Python的实现有错误B 浮点数无法精确表示C布尔运算不能用于浮点数比较DPython将非0数视为False(5)想用一个变量来表示由生年份F列命名中哪个最可取A b_y B birth_yearC _birthYear_D birthyear【】(6)执行下列语句后的显示结果是什么> >>a=1> >>b=2*a/4>>>a='One”> >>printa,bAone0B10Cone0.5Done,0.5【】(7)执行下列语句后的显示结果

3、是什么>>>s=”GOODMORNING'>>>prints3:-4ADMORBDMORNCODMORDODMORN我承诺,我将严格遵守考试纪律。承诺人:题号得分批阅人(流水阅卷教师签名处)【(8)表达式1+2L*3.14>0的结果类型是AintBlongCfloatDbool【(9)程序设计的原型(Prototyping)方法是指:A 先设计程序框架结构,再逐步精化细节B 先设计类,再实例化为对象C先设计简单版本,再逐步增加功能D以上都不是(10)对n个数做归并排序(mergesort),这个算法是Alogn时间的B线性时间的Cnlogn时间

4、的Dn2时间的二、判断题:在题目前面的括号中打勾或叉海题2分.高级语言程序要被机器执行,只有用解释器来解释执行?】不同类型的数据不能相互运算?】(3)由于引号表示字符串的开始和结束,所以字符串本身不能包含引号(4)计算机科学并非研究计算机的科学,正如天文学并非研究望远镜】(5)算法和程序是不同的概念.1下面的程序段是错的:temp=42print"Thetemperatureis"+temp【(7)同一Python变量可以先后赋予不同类型的值.【1(8)计算机的计算是确定的,因此并不能真正产生随机数【1(9)对象就是类的实例.(10)Hanoi塔问题属于不可解问题三、填空题

5、:每题2分.表达式2*3*4%5的值为:函数range(1,1,1)的值是:格式化输出浮点数:宽度10,2位小数,左对齐,则格式串为:表达式chr(ord(a')的值为:(5)表达式(2>=2)or(2<2)and2的值为:无穷循环whileTrue:的循环体中可用语句退出循环不用math模块中的sqrt(),如何计算4的平方根:(8) 给出一个计算机本质上不可解问题的例子(9) 表达式d%'%(1%2,3%4)的值为:(10) Python的标准随机数生成器模块是四、读程序并回答问题:每题5分.a,b,c 来计算三角形面积?请找出程序中的错误并改正) import

6、 math En ter a,b,c:(1) 下面的程序根据用户输入的三个边长之.(设用户输入合法,面积公式无误a,b,c=raw_input(s=a+b+cs=s/2.0area=sqrt(s*(s-a)*(s-b)*(s-c)printTheareais:”,area将raw_input改成input将sqrt改成math.sqrt(2) 下 面的程序要求用户输入二进制数字bit = in put(En ter a binary digit:if bit = 0 or 1:print Your in put is:” , bitelseprint Your in put is in val

7、id.0/1 并显示之 . 找出程序中的错误并改正之改成 bit = 0 or bit= 1将bit=0or1将else改成else:(3) 下面程序的输生是什么?deff(a,b,c):x=y=0foriinrange(c):x=x+a+yy=y+breturnxprintf(-5,2,10)注意returnx在for的缩进里面,所以最后只有一个数据输由range(10)其实是从。开始计数到9再不断迭代即可40(4) 下面程序的输生是什么?deff(a,b):a=4printa,bdefmain():a=5b=6printa,bf(a,b)printa,bmain()564656下面程序的功

8、能是什么?deff(a,b):ifb=0:printaelse:f(b,a%b)a,b=input("Entertwonaturalnumbers:”)printf(a,b)求最大公因式A卷总5页第_4页五、程序设计:15分.(1)用分而治之(divideandconquer)和递归方法设计程序:产生并打印一个序列的全排列例如,序列1,2,3的全排列123,132,213,231,312,321可以这样获得:1为前缀,后接2,3的全排列2为前缀,后接1,3的全排列3为前缀,后接1,2的全排列而2,3等序列的全排列依此类推.下面给由了这个程序的部分代码,在理解上述算法的基础上补足所缺的

9、代码?#函数perm(list,k,m):产生前缀为listO:k后接listk:m+1的全排列defperm(list,k,m):ifk=m:foriinrange(m+1):printlisti,printelse:fo门inrange(k,m+1):listk,listi=listi,listkperm(list,k+1,m)listk,listi=listi,listkmyList=input("nputa):pe(m(2i3List,O,len(myList)-1)(2)编写程序:输入一个文件A,A中每行包含若干数值.生成文件B,B中每行是A中对应行的数值的平均值.ImportstringfileA=raw_input(Enteradatafile:”)infile=open(fileA,'')outfile=open(B.dat','w')line=infile.readline()whileline!=":sum=0.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论