版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上海交通大学python期末考试样题加解析上 海 交 通 大 学 试 卷(A卷) ( 2010 至 2011 学年 第2学期 ) 班级号_ 学号_ _ 姓名 课程名称 程序设计思想和方法 成绩 一、选择题: 将唯一正确的选项写在题前括号中.每题2分. 【 】(1) 本课程的目标定位是什么? A 学习Python语言 B 学习计算机的工作原理 C 学习各种算法 D 学习用计算机解决问题 【 】(2) 下列哪个标识符是合法的? A var-name B !#$% C _100 D elif 【 】(3) 执行下列语句后的显示结果是什么? s = ”hi” print “hi”, 2*s A hih
2、ihi B ”hi”hihi C hi hihi D hi hi hi 【 】(4) 如何解释下面的执行结果? print 1.2 - 1.0 = 0.2 False A Python的实现有错误 B 浮点数无法精确表示 C 布尔运算不能用于浮点数比较 D Python将非0数视为False 【 】(5) 想用一个变量来表示出生年份,下列命名中哪个最可取? A b_y B birth_year C _birthYear_ D birthyear 【 】(6) 执行下列语句后的显示结果是什么? a = 1 b = 2 * a / 4 a = “one” print a,b A one 0 B 1
3、 0 C one 0.5 D one,0.5 【 】(7) 执行下列语句后的显示结果是什么? s = ”GOOD MORNING” print s3:-4 A D MOR B D MORN C OD MOR D OD MORN A 卷 总 5 页 第 1 页 题号 我承诺我将严格遵守考试纪律。 得分 承诺人: 批阅人(流水阅 卷教师签名处) 【 】(8) 表达式1+2L*3.140的结果类型是: A int B long C float D bool 【 】(9) 程序设计的原型(Prototyping)方法是指: A 先设计程序框架结构,再逐步精化细节 B 先设计类,再实例化为对象 C 先设
4、计简单版本,再逐步增加功能 D 以上都不是 【 】(10) 对n个数做归并排序(merge sort),这个算法是: 2A logn时间的 B 线性时间的 C nlogn时间的 D n时间的 二、判断题:在题目前面的括号中打勾或叉.每题2分. 【 】(1) 高级语言程序要被机器执行,只有用解释器来解释执行. 【 】(2) 不同类型的数据不能相互运算. 【 】(3) 由于引号表示字符串的开始和结束,所以字符串本身不能包含引号. 【 】(4) 计算机科学并非研究计算机的科学,正如天文学并非研究望远镜. 【 】(5) 算法和程序是不同的概念. 【 】(6) 下面的程序段是错的: temp = 42
5、print The temperature is + temp 【 】(7) 同一Python变量可以先后赋予不同类型的值. 【 】(8) 计算机的计算是确定的,因此并不能真正产生随机数. 【 】(9) 对象就是类的实例. 【 】(10) Hanoi塔问题属于不可解问题. A 卷 总 5 页 第 2 页 三、填空题:每题2分. (1) 表达式2*3*4%5的值为: . (2) 函数range(1,1,1)的值是: . (3) 格式化输出浮点数: 宽度10,2位小数,左对齐,则格式串为: . (4) 表达式chr(ord(a?)的值为: . (5) 表达式(2=2) or (22) and 2的
6、值为: . (6) 无穷循环while True:的循环体中可用 语句退出循环. (7) 不用math模块中的sqrt(), 如何计算4的平方根: . (8) 给出一个计算机本质上不可解问题的例子: . (9) 表达式%d%d?%(1%2,3%4)的值为: . (10) Python的标准随机数生成器模块是: . 四、读程序并回答问题:每题5分. (1) 下面的程序根据用户输入的三个边长a,b,c来计算三角形面积.请找出程序中的错误并改正之.(设用户输入合法,面积公式无误) import math a, b, c = raw_input(“Enter a,b,c: ”) s = a + b +
7、 c s = s / 2.0 area = sqrt(s*(s-a)*(s-b)*(s-c) print “The area is:”, area 将raw_input 改成 input 将sqrt改成 math.sqrt (2) 下面的程序要求用户输入二进制数字0/1并显示之.找出程序中的错误并改正之. bit = input(“Enter a binary digit: “) if bit = 0 or 1: print “Your input is:”, bit else print “Your input is invalid.” 将 bit = 0 or 1 改成bit = 0 or
8、 bit= 1 将else改成else: A 卷 总 5 页 第 3 页 (3) 下面程序的输出是什么? def f(a, b, c): x = y = 0 for i in range(c): x = x + a + y y = y + b return x print f(-5, 2, 10) 注意return x 在for 的缩进里面,所以最后只有一个数据输出 range(10)其实是从0开始计数到9 再不断迭代即可 40 (4) 下面程序的输出是什么, def f(a,b): a = 4 print a, b def main(): a = 5 b = 6 print a, b f(a
9、,b) print a, b main() 56 46 56 (5) 下面程序的功能是什么? def f(a, b): if b = 0: print a else: f(b, a%b) a, b = input(“Enter two natural numbers: ”) print f(a, b) 求最大公因式 A 卷 总 5 页 第 4 页 五、程序设计:15分. (1) 用分而治之(divide and conquer)和递归方法设计程序:产生并打印一个序列的全排列. 例如,序列1,2,3的全排列123,132,213,231,312,321可以这样获得: 1为前缀, 后接2,3的全排
10、列 2为前缀, 后接1,3的全排列 3为前缀, 后接1,2的全排列 而2,3等序列的全排列依此类推. 下面给出了这个程序的部分代码,在理解上述算法的基础上补足所缺的代码. # 函数perm(list,k,m):产生前缀为list0:k后接listk:m+1的全排列 def perm(list,k,m): if k = m: for i in range(m+1)? : print listi, print else: for i in range(k,m+1) ? : listk,listi = listi,listk perm(list,k+1,m) ? listk,listi = list
11、i,listk myList = input(“Input a list(1,2,3,.): “) perm(myList,0, len(myList)-1 ? ) (2) 编写程序: 输入一个文件A, A中每行包含若干数值.生成文件B, B中每行是A中对应行的数值的平均值. Import string fileA = raw_input(“Enter a data file: ”) infile = open(fileA,?r?) outfile = open (B.dat?,?w?) line = infile.readline() while line != “”: sum = 0.0 count = 0 for xStr in st
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电商运营技巧周试题及答案
- 防洪沙袋采购合同协议
- 2025年大型矿山综合安全作业试题及答案
- 项目建设合作合同范本
- 水果供应合作合同范本
- 买木工机械合同范本
- 棚户安置房合同范本
- 基于条件高斯混合模型的宽带ISF参数分裂矢量量化优化与应用探究
- 亚马逊员工合同范本
- 校外助学点协议书范本
- 辅酶Q10-增强心动力课件
- 房屋租赁合同电子模板
- 建设工程项目部各级安全生产责任书
- 2023学年完整公开课版耐波性
- 军队文职公共基础知识100题
- 医院临床研究备案表
- GB/T 5976-2006钢丝绳夹
- GB/T 3883.311-2019手持式、可移式电动工具和园林工具的安全第311部分:可移式型材切割机的专用要求
- 机械制造工艺学王先逵-课后答案
- 临床常用药物及其合理应用
- 票据法课件完整版
评论
0/150
提交评论