北京大学计算概论期末上机考试1

合集下载

2022年北京大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案)

2022年北京大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案)

2022年北京大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案)一、选择题1、若某文件系统索引节点(inode)中有直接地址项和间接地址项,则下列选项中,与单个文件长度无关的因素是().A.索引节点的总数B.间接地址索引的级数C.地址项的个数D.文件块大小2、磁盘高速缓存设在()中。

A.内存B.磁盘控制器C.CacheD.磁盘3、进程A和进程B通过共享缓冲区协作完成数据处理,该缓冲区支持多个进程同时进行读写操作。

进程A负责产生数据并放入缓冲区,进程B负责从缓冲区中取出数据并处理。

两个进程的制约关系为()。

A.互斥关系B.同步关系C.互斥与同步D.无制约关系4、在个交通繁忙的十字路口,每个方向只有一个车道,如果车辆只能向前直行,而不允许转弯和后退,并未采用任何方式进行交通管理。

下列叙述正确的是()。

A.该十字路口不会发生死锁,B.该十字路口定会发生死锁C.该上字路口可能会发生死锁,规定同时最多3个方向的车使用该十字路是最有效的方法D.该十字路口可能会发生死锁,规定南北方向的两个车队和东西方向的两个车队互斥使用十字路口是最有效的方法5、采用资源剥夺法可以解除死锁,还可以采用()方法解除死锁。

A.执行并行操作B.撤销进程C.拒绝分配新资源D.修改信号量6、下列关于页式存储说法中,正确的是()。

I.在页式存储管理中,若关闭TLB,则每当访问一条指令或存取一个操作数时都要访问两次内存II.页式存储管理不会产生内部碎片III.页式存储管理当中的页面是为用户所感知的IV.页式存储方式可以采用静态重定位A.仅I、II,IVB. 仅I、IVC. 仅ID.I、II、III、IV7、解决主存碎片问题较好的存储器管理方式是()A.可变分区B.分页管理C.分段管理D.单一连续分配8、列选项中,不可能在用户态发生的事件是()。

A.系统调用B.外部中断C.进程切换D.缺页9、假设4个作业到达系统的时刻和运行时间见表。

2021年北京大学数据科学与大数据技术专业《计算机组成原理》科目期末试卷A(有答案)

2021年北京大学数据科学与大数据技术专业《计算机组成原理》科目期末试卷A(有答案)

2021年北京大学数据科学与大数据技术专业《计算机组成原理》科目期末试卷A(有答案)一、选择题1、下列关于Cache和虚拟存储器的说法中,错误的有()。

I.当Cache失效(即不命中)时,处理器将会切换进程,以更新Cache中的内容II.当虚拟存储器失效(如缺页)时,处理器将会切换进程,以更新主存中的内容III.Cache 和虚拟存储器由硬件和OS共同实现,对应用程序员均是透明的IV.虚拟存储器的容量等于主存和辅存的容量之和A.I、IⅣB.Ⅲ、VC. I、Ⅱ、ⅢD. I、Ⅲ、Ⅳ2、若单译码方式的地址输入线为6,则译码输出线有()根,那么双译码方式有输出线()根。

A.64,16B.64,32C.32,16D.16,643、下列说法正确的是()。

A.当机器采用补码表示时,0有两种编码方式B.当机器采用原码表示时,0有两种编码方式C.当机器采用反码表示时,0有一种编码方式D.无论机器数采用何种码表示,0都有两种编码方式4、假设机器字长为8位(含两位符号位),若机器数DA日为补码,则算术左移一位和算术右移一位分别得()。

A.B4H EDHB.F4H 6DHC.B5H EDHD.B4H 6DH5、某机器字长为8位,采用原码表示法(其中一位为符号位),则机器数所能表示的范围是()。

A.-127~+127B.-127~+128C.-128~+127D.-128~+1286、某同步总线采用数据线和地址线复用方式,其中地址/数据线有32根,总线时钟频率为66MHz,每个时钟周期传送两次数据(上升沿和下降沿各传送一次数据),该总线的最大数据传输率(总线带宽)是()。

A.132MB/sB.264MB/sC.528MB/sD.1056MB/s7、中断判优逻辑和总线仲裁方式相类似,下列说法中,正确的是()。

I.在总线仲裁方式中,独立请求方式响应时间最快,是以增加处理器开销和增加控制线数为代价的II.在总线仲裁方式中计数器查询方式,若每次计数都从“0”开始,则所有设备使用总线的优先级相等III.总线仲裁方式一般是指I/O设备争用总线的判优方式,而中断判优方式一般是指I/O设备争用CPU的判优方式IV.中断判优逻辑既可以通过硬件实现,也可以通过软件实现,A. I,IIB. I,III,IVC. I,II,IVD.I,IV8、下列部件中,CPU存取速度由慢到快的排列顺序正确的是()。

计算概论2009期末考试试题

计算概论2009期末考试试题

北京大学信息科学技术学院考试试卷(计算概论B 城市与环境学院)考试科目:姓名:学号:考试时间:年月日任课教师:以下为试题和答题纸,共9 页。

一、选择题(每题2分,共30分)1.下列符号中属于非法的自定义标识符的是A. alf_numB. _lineC. MAX_11D. float2. 在C语言中,逻辑值“真”用表示。

A. 大于0的数B. 非0的数C. 非0整数D. 小于0的数3.语句while(!E);中的条件!E等价于()。

A. E = = 0B. E!=1C. E!=0D. ~E4.对于switch语句下列错误的说法是()A. case和default的次序不影响程序的执行结果;B. 多个case可以共用一组语句;C. case后面可以是变量;D. switch后面的括号内可以使用表达式。

5.属于静态存储方式的变量是().A.寄存器变量B.函数的形参变量C. static局部变量D.自动变量6. 选出年龄age在30到40(包括30,不包括40)之间的人,其C语言表达式应为()A. (age>=30) and (age<40)B. (40>age>=30)C. (age>=30)&(age<40)D. (age>=30)&&(age<40)7.数组名作为实参数传递给函数时,数组名被处理为()。

A. 该数组的长度B. 该数组的元素个数C. 该数组的首地址D. 该数组中各元素的值8.下面的选项中正确的赋值语句是(char a[5],*p=a;)()。

A. p=“abcd”;B. a=“abcd”;C. *p=“abcd”;D. *a=“abcd”; 9.两个指针变量不可以( )。

A. 相加B. 比较C. 相减D. 指向同一地址10.若有以下程序段,则值为6的表达式是()。

struct st{int n;struct st *next;};static struct st a[3] = {5,&a[1],7,&a[2],9,‘\0’}, *p;p = &a[0];A. p++->nB. p->n++C. (*p).n++D. ++p->n11.以下程序的输出结果是()。

计算机导论期末考试卷大一

计算机导论期末考试卷大一

计算机导论期末考试卷大一一、选择题(每题2分,共20分)1. 世界上第一台电子计算机ENIAC是在哪一年诞生的?A. 1942年B. 1946年C. 1952年D. 1956年2. 计算机中最小的数据单位是:A. 字节B. 位C. 千字节D. 兆字节3. 下列哪项不是计算机硬件的基本组成部分?A. 显示器B. 键盘C. 鼠标D. 操作系统4. 计算机病毒是一种:A. 计算机硬件B. 计算机软件C. 计算机程序D. 计算机外设5. 在计算机中,1KB的存储容量等于:A. 1024字节B. 1000字节C. 1000KBD. 1024MB6. 计算机软件分为系统软件和应用软件,其中操作系统属于:A. 系统软件B. 应用软件C. 辅助软件D. 驱动软件7. 计算机的工作原理是基于:A. 布尔代数B. 牛顿定律C. 欧几里得几何D. 量子力学8. 以下哪个不是计算机编程语言?A. JavaB. C++C. PythonD. HTML9. 计算机的存储器分为RAM和ROM,其中RAM是:A. 随机存取存储器B. 只读存储器C. 可擦写存储器D. 光盘存储器10. 计算机的CPU是:A. 中央处理器B. 中央控制单元C. 内存D. 硬盘二、填空题(每空1分,共10分)11. 计算机的发展历程可以划分为四个时代,分别是______、______、______和______。

12. 计算机的输入设备包括键盘、鼠标等,输出设备包括显示器、______等。

13. 计算机的硬盘是一种______存储器,断电后数据不会丢失。

14. 计算机的操作系统是管理计算机硬件资源、提供用户界面的______软件。

15. 计算机的二进制是由0和1组成的,其中1代表______,0代表______。

三、简答题(每题10分,共20分)16. 请简述计算机的冯·诺依曼体系结构。

17. 请解释什么是计算机的字长,并说明它对计算机性能的影响。

计算机学院第1学期期末考试《计算机科学导论》试题

计算机学院第1学期期末考试《计算机科学导论》试题

计算机学院第1学期期末考试《计算机科学导论》试题(闭卷A卷)(请将答案写在答题纸上,否则无效)一、单项选择题(共30小题,每小题1分,共30分)1、世界上第一位程序员是()。

A.Leibniz B.Babbage C.Ada Lovelace D.Turing2、删除或隐藏了复杂的细节、只保留实现目标所必须的信息,称作()。

A.抽象B.建模C.分析D.封装3、在计算机中,表示0.1秒的音频信息,与表示1 000 000个浮点数相比,占用存储空间()。

A.大B.小C.相等D.无法比较,因为缺少条件4、一个以Unicode存储的文本文件,与以ASCII形式存储相同内容的文件,在占用空间方面相比,大约()。

A.相等B.是其2倍C.是其二分之一D.无法比较,因为缺少条件5、可以无限放大而不变形的图像,应该以()形式表示。

A.位图B.压缩C.矢量D.光栅6、计算机内部加法器电路与存储器电路分别属于()和()逻辑电路。

A.组合,组合B.时序,组合C.组合,时序D.时序,时序7、某计算机CPU主频为3GHz,存储器大小为2GB。

两个“G”分别表示()。

A.106,106B.106,230C.230,106D.230,2308、根据算法编写程序,相当于Polya问题求解列表中的()阶段。

A.理解问题B.提出方案C.执行方案D.分析结果9、面向对象的分析与设计过程中,确定每个类的责任是()阶段的目标。

A.集体讨论B.过滤C.场景D.责任算法10、把数据和动作集中在一起,使数据和动作的逻辑属性与它们的实现细节分离,称作()。

A.数据抽象B.过程抽象C.控制抽象D.封装11、在机器语言级,如果要对变量操作,应当使用的寻址方式是()。

A.立即寻址B.直接寻址C.任何寻址方式D.无合适寻址方式12、Java语言是()范型的高级程序设计语言。

A.函数B.命令C.逻辑程序设计D.面向对象13、子程序调用自身的现象称为()。

A.选择B.递归C.参数传递D.迭代14、具有后进先出性质的结构称作()。

2022年北京大学计算机科学与技术专业《计算机组成原理》科目期末试卷A(有答案)

2022年北京大学计算机科学与技术专业《计算机组成原理》科目期末试卷A(有答案)

2022年北京大学计算机科学与技术专业《计算机组成原理》科目期末试卷A(有答案)一、选择题1、若数据在存储器中采用以低字节地址为字地址的存放方式(小端存储),则十六进制数12345678H按自己地址由小到大依次存为()。

A.12345678B.87654321C.78563412D.341278562、有效容量为128KB的Cache,每块16B,8路组相联。

字节地址为1234567H的单元调入该Cache,其tag应为()。

A.1234HB.2468HC.048DHD.12345H3、浮点数加/减运算过程一般包括对阶、尾数运算、规格化、舍入和判断溢出等步骤。

设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含两位符号位)。

若有两个数,即x=2×29/32,y=25×5/8,则用浮点数加法计算xty的最终结果是()。

A.001111100010B.001110100010C.010*********D.发生溢出4、4位机器内的数值代码,则它所表示的十进制真值可能为()。

I.16 Ⅱ.-1 Ⅲ.-8 V.8A. I、V、ⅢB.IⅡ、IⅣC.Ⅱ、Ⅲ、IVD.只有V5、常用的(n,k)海明码中,冗余位的位数为()。

A.n+kB.n-kC.nD.k6、假设某存储器总线采用同步通信方式,时钟频率为50MHz,每个总线事务以突发方式传输8个字,以支持块长为8个字的Cache行读和Cache行写,每字4B.对于读操作,方式顺序是1个时钟周期接收地址,3个时钟周期等待存储器读数,8个时钟周期用于传输8个字。

请问若全部访问都为读操作,该存储器的数据传输速率为()。

A.114.3MB/sB.126.0MB/sC.133.3MB/sD.144.3MB/s7、下列关于多总线结构的叙述中,错误的是()。

A.靠近CPU的总线速度较快B.存储器总线可支持突发传送方式C.总线之间需通过桥接器相连D.PCI-Expressx16采用并行传输方式8、已知计算机A的时钟频率为800MHz,假定某程序在计算机A上运行需要12s。

最新计算概论(北大期末复习资料:计概复习幻灯片课件

最新计算概论(北大期末复习资料:计概复习幻灯片课件

#define JINGDU 0.00001 #include <stdio.h> int main(){
x1 = 1 xn+1 = (xn + a/xn)/2
double a, x2, x1;
scanf(“%lf”, &a);
x1 = 1;
x2 = (x1+a/x1)/2;
while(x2-x1 > JINGDU || x1-x2 > JINGDU){
长短。 (3)控制完成洗衣时信号提示。
全自动洗衣机的控制方案
1. 打开总开关,设置水位(高/中/低)且水位灯亮, 设置洗涤方式(轻柔/标准/强劲)且对应洗涤灯亮, 设置漂洗次数(2/3/4)且对应漂洗灯亮。
2. 按下启动/暂停键,开始进水,进水灯亮,水到 设定水位停止进水,进水灯灭,延时2S后,开始洗涤。
称:这两个字符串相等,
“字符串复制”函数
strcpy(目标字符串, 源字符串);
功能:把 源字符串 赋值给 目标字符串
int main(){ char zfc_src[50], zfc_tgt[50]; gets(zfc_src); strcpy(zfc_tgt, zfc_src); printf(“%s\n”, zfc_tgt); return 0;
用 冒泡法 对 数组 int sz[LEN] 进行排序
int e;
for(int k = 1 ; k <= LEN ; k++){
for(int i = 0; i < LEN - k; i++){
if(sz[i] > sz[i+1]){
e = sz[i+1];

北大计算概论编程网格模拟考试题

北大计算概论编程网格模拟考试题

北大计算概论编程网格模拟考试题
题目 - 王奶奶的医药费
来源
描述北大医学部____计算概论(jsglzj3)
王奶奶去医院看病,挂了号,进行了几次检查,还拿了药。

现在需要你帮王奶奶统计一下一共花了多少钱。

关于输入
第一行为一个整数n,代表缴纳金额的次数
第二行为n个浮点数,用空格隔开,代表每个项目缴纳的金额
关于输出
输出为1行,输出总共花费金额(保留小数点后两位)。

例子输入
6
1.0
2.5
3.5 5.5 6.5 1.1
例子输出
20.10
题目 - 程序员的健康生活
来源
描述计算概论-心理信管-____-孙俊-助教-SL
据“世界关爱程序猿联合会”建议,一个健康的程序员的生活习惯内容如下:
(1)每天睡眠时间不少于7小时且不超过8小时;
(2)每天至少喝1500毫升的水,不要等到口渴了才开始补水;
(3)每天参加适量运动。

只要做到了以上3点,当天的生活就能算是健康的了。

请你帮忙完成判断程序员小张的生活是否健康的程序。

关于输入
第一行包含一个整数n,为总的测试组数。

接下来为n组数据,每组数据包括3行:
第1行为一个浮点数t,表示小张当天的睡眠时间,0 =_lt; t _lt;=24。

第2行为一个整数_,表示小张一天喝了_毫升的水。

0 _lt; _ _lt; 1000000。

第3行为”Yes”或者“No”(不包括引号),表示小张今天是否参加了适量的运动。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
memset(dp,-1,sizeof(dp)); printf("%d\n",egg(n,m)); }
return 0; }
int max(int a,int b) {
return a>b?a:b; }
int egg(int n,int m) {
room(i-1,j); if(direction[castle[i][j]][1]==1&&map[i+1][j]==0)
room(i+1,j); if(direction[castle[i][j]][2]==1&&map[i][j-1]==0)
room(i,j-1); if(direction[castle[i][j]][3]==1&&map[i][j+1]==0)
int main() {
int i,j,max=0; scanf("%d",&M);
scanf("%d",&N); for(i=1;i<=M;i++)
for(j=1;j<=N;j++) scanf("%d",&castle[i][j]);
for(i=1;i<=M;i++) for(j=1;j<=N;j++) if(map[i][j]==0) { square[count]=0; room(i,j); count++; }
北京大学地球与空间科学学院 刘证源
else for(j=i;j<=L-1;j++) target[j]=source[j];
}
void mergeSort(int source[],int target[],int L) {
int l=1; while(l<L) {
mergePass(source,target,L,l); l=l*2; mergePass(target,source,L,l); l=l*2; } }
scanf("%d",&a[i]); mergeSort(a,b,N); printf("%lld\n",count); return 0; }
北京大学地球与空间科学学院 刘证源
void merge(int source[],int target[],int first,int mid,int last) {
k=k*100;
up=n5*(n4*(n3*(n2-1)+1)-1)+1; //分子
down=n1*n2*n3*n4*n5+1;
//分母
x=down;
y=up;
while(y>0) //求最大公约数约分分子分母
{ z=x%y; x=y; y=z; }
down=down/x;
up=up/x;
if(down>k) printf("not found");
scanf("%d",&v[i]); for(d=0;d<=V-1;d++)
北京大学地球与空间科学学院 刘证源
北京大学地球与空间科学学院 刘证源
for(i=1;i<=V-d;i++) {
j=i+d; if(d==0)
l[i][j]=0; else if(d==1)
l[i][j]=v[j]-v[i]; else
else
{
h=down;
A=up;
B=h-n1*A;
北京大学地球与空间科学学院 刘证源
C=n1*n2*A+(1-n2)*h; D=0-n1*n2*n3*A+(n3*(n2-1)+1)*h; E=n1*n2*n3*n4*A-(n4*(n3*(n2-1)+1)-1)*h; a[0]=A; a[1]=B; a[2]=C; a[3]=D; a[4]=E; for(i=0;i<4;i++)for(j=i+1;j<5;j++) if(a[i]==a[j]){flag=1;break;} if(flag) printf("not found"); else printf("%d %d %d %d %d %d",h,A,B,C,D,E); } system("pause"); }
城堡 #include<stdio.h> int castle[52][52],direction[16][4]={{1,1,1,1},{1,1,0,1},{0,1,1,1},{0,1,0,1},
{1,1,1,0},{1,1,0,0},{0,1,1,0},{0,1,0,0}, {1,0,1,1},{1,0,0,1},{0,0,1,1},{0,0,0,1}, {1,0,1,0},{1,0,0,0},{0,0,1,0},{0,0,0,0}}; int map[52][52]={0}; int square[2500]; int count=0,M,N; void room(int i,int j);
五户共井问题 #include <stdio.h> #include <stdlib.h>
main() {
int n1,n2,n3,n4,n5,h;
int A,B,C,D,E,k;
int up,down,i,j,x,y,z;
int a[5],flag=0;
scanf("%d %d %d %d %d %d",&k,&n1,&n2,&n3,&n4,&n5);
scanf("%d",&value[i]); for(i=1;i<=N;i++)
scanf("%d",&num[i]); dp[0][0]=1; for(i=1;i<=N;i++)
for(j=0;j+value[i]<=M;j++) if(dp[j][0]==1&&dp[j+value[i]][0]==0&&dp[j][i]<num[i]) { dp[j+value[i]][0]=1; dp[j+value[i]][i]=dp[j][i]+1; count++; }
走出迷宫 #include<stdio.h> #include<string.h> int map[102][102]={0}; int walk[102][102]; void maze(int i,int j);
int main() {
int N,M,i,j,x1,y1,x2,y2; char newline; memset(walk,10000,sizeof(walk)); scanf("%d %d\n",&N,&M); for(i=1;i<=N;i++) {
printf("%d\n",count); return 0; }
求排列的逆序数 #include<stdio.h> #include<stdlib.h> long long count=0;
int main() {
int N,i; int *a,*b; void mergeSort(int source[],int target[],int L); scanf("%d",&N); a=(int*)malloc(N*sizeof(int)); b=(int*)malloc(N*sizeof(int)); for(i=0;i<=N-1;i++)
} printf("%d\n",dp[V][P]); return 0; }
鸡蛋的硬度 #include<stdio.h> #include<string.h> # define INF 100000 int dp[101][11];
int main() {
int n,m; int egg(int n,int m); while(scanf("%d %d",&n,&m)==2) {
北京大学地球与空间科学学院 刘证源
maze(x1,y1); printf("%d\n",walk[x2][y2]); return 0; }
void maze(int i,int j) {
if((map[i-1][j]=='S'||map[i-1][j]=='T'||map[i-1][j]=='.')&&walk[i][j]+1<walk[i-1][j]) {
void mergePass(int source[],int target[],int L,int l) {
int i=0,j; while(i+2*l-1<L) {
merge(source,target,i,i+l-1,i+2*l-1); i+=2*l; } if(i+l-1<L-1) merge(source,target,i,i+l-1,L-1);
for(i=0;i<count;i++) if(square[i]>max) max=square[i];
printf("%d\n%d\n",count,max); return 0; }
相关文档
最新文档