信息学基础知识练习题(一).doc
- 格式:doc
- 大小:72.00 KB
- 文档页数:10
信息学奥赛基础知识习题1练习一1.在下面各世界顶级的奖项中,为计算机科学与技术领域做出杰出贡献的科学家设立的奖项是()。
A. 沃尔夫奖B. 诺贝尔奖C. 菲尔兹奖D. 图灵奖2. 在下列各软件中,不属于 NOIP 竞赛(复赛)推荐使用的语言环境有()。
A. gcc/g++B. Turbo PascalC. RHIDED. free pascal3. 以下断电之后仍能保存数据的有()。
A. 寄存器B. ROMC. RAMD. 高速缓存4.Linux 是一种( )。
A. 绘图软件B. 程序设计语言C. 操作系统D. 网络浏览器5.CPU 是( )的简称。
A. 硬盘B. 中央处理器C. 高级程序语言D. 核心寄存器6.在计算机中,防火墙的作用是()。
A. 防止火灾蔓延B.防止网络攻击C. 防止计算机死机D. 防止使用者误删除数据7. 在下列关于计算机语言的说法中,不正确的是()。
A. Pascal和C都是编译执行的高级语言B. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上C. C++是历史上的第一个支持面向对象的计算机语言D. 与汇编语言相比,高级语言程序更容易阅读8. 在下列关于计算机算法的说法中,不正确的是()。
A. 一个正确的算法至少要有一个输入B. 算法的改进,在很大程度上推动了计算机科学与技术的进步C. 判断一个算法的好坏的主要标准是算法的时间复杂性与空间复杂性D. 目前仍然存在许多涉及到国计民生的重大课题,还没有找到能够在计算机上实施的有效算法9. 在下列各种排序算法中,不是以“比较”作为主要操作的算法是()。
A. 选择排序B. 冒泡排序C. 插入排序D. 基数排序10.在编程时(使用任一种高级语言,不一定是 Pascal),如果需要从磁盘文件中,按行读(即外层循环是输入一个很大的二维数组(例如 1000*1000 的 double 型数组)关于行的)与按列读(即外层循环是关于列的)相比,在输入效率上()。
医学信息学基础知识题库一、选择题1. 医学信息学是什么学科的交叉学科?a) 医学学科b) 信息学学科c) 医学与信息学的交叉学科d) 医学统计学2. 下列哪一项不是医学信息学的应用领域?a) 医学图像处理和分析b) 电子病历和医疗信息系统c) 医学统计学和流行病学d) 肿瘤学和神经科学3. 什么是HL7标准?a) 一种医学图像处理标准b) 一种用于电子病历交换的国际标准c) 一种用于数据挖掘的算法d) 一种医学统计学方法4. 下列哪一项不是医学信息学中的数据挖掘技术应用?a) 疾病预测和诊断b) 电子病历的自动分类c) 客户关系管理d) 基因组学数据分析5. 在医学信息学中,什么是DICOM?a) 一种用于医学图像处理的算法b) 一种医学图像数据格式和通信协议标准c) 数据仓库和数据挖掘平台d) 一种患者病历的管理系统二、填空题6. _______是医学信息学领域的创始人。
7. CPOE是什么的缩写?8. 医学信息学可以帮助提高医疗质量和________。
9. 医学信息学中的数据挖掘技术可以帮助发现医学数据中的_________。
10. 知识发现与数据挖掘(KDD)是医学信息学中的一个重要研究领域,它主要用于_______。
三、简答题11. 请简要说明医学信息学的定义和目标。
12. 请解释医学信息系统(MIS)的概念和组成部分。
13. 请举例说明医学信息学在临床决策支持系统中的应用。
14. 请简要描述医学图像处理和分析在医学信息学中的重要性和应用。
15. 请解释数据挖掘在医学信息学中的作用和方法。
四、应用题16. 请设计一个简单的电子病历系统,包括病人基本信息、病历录入、病历查询等功能。
17. 请给出一个基于数据挖掘的医学研究案例,包括研究问题、数据收集和数据分析等环节。
五、论述题18. 请论述医学信息学对提高医疗质量和安全的作用。
19. 请论述医学信息学在个性化医学中的应用和挑战。
20. 请论述医学信息学对医学研究和临床实践的影响和发展趋势。
1、计算机的基本硬件结构一直沿袭( )设计的框架。
A.比尔•盖茨B.冯•诺依曼C.布尔D.图灵答案:B2、以下无符号数中,最小的数是()A.(11011001)2B.(75)10C.(37)8D.(2A)16答案:C3、在外部设备中,绘图仪属于()A. 输入设备B.输出设备C. 辅(外)存储器D.主(内)存储器答案:B4、计算机主机是由CPU与()构成的A. 控制器B. 输入、输出设备C. 运算器D.内存储器答案:D5、计算机病毒的特点是()A. 传播性、潜伏性、易读性与隐蔽性B. 破坏性、传播性、潜伏性与安全性C. 传播性、潜伏性、破坏性与隐蔽性D. 传播性、潜伏性、破坏性与易读性答案:C6、WINDOWS 9X是一种()操作系统A. 单任务字符方式B. 单任务图形方式C. 多任务字符方式D. 多任务图形方式答案:D7、Internet的规范译名应为()A. 英特尔网B. 因特网C. 万维网D. 以太网答案:B8、计算机网络是一个()系统A.管理信息系统B.管理数据系统C.编译系统D. 在协议控制下的多机互连系统答案:D9、计算机系统总线上传送的信号有()A.地址信号与控制信号B. 数据信号、控制信号与地址信号C.控制信号与数据信号D. 数据信号与地址信号答案:B10、计算机的运算速度取决于给定的时间内,它的处理器所能处理的数据量。
处理器一次能处理的数据量叫字长。
已知64位的奔腾处理器一次能处理64个信息位,相当于()字节。
A.8个B.1个C.16个D. 2个答案:A11、某种计算机的内存容量是640K,这里的640K容量是指()个字节A.640B. 640*1000C. 640*1024D. 640*1024*1024答案:C12、下面哪些计算机网络不是按覆盖地域划分的()A.局域网B. 都市网C.广域网D. 星型网答案:D13、在有N个叶子节点的哈夫曼树中,其节点总数为()A.不确定B. 2N-1C. 2N+1D. 2N答案:B14、已知数组中A中,每个元素A(I,J)在存贮时要占3个字节,设I从1变化到8,J 从1变化到10,分配内存时是从地址SA开始连续按行存贮分配的。
信息学奥赛基础知识习题
1.请问,数字电路中的逻辑门有哪些种类?它们分别的逻辑功能是什么?
答:数字电路中的逻辑门有与门(AND)、或门(OR)、非门(NOT)、异或门(XOR)等。
它们的逻辑功能分别是:与门输出为1的条件是所有
输入都为1,或门输出为1的条件是至少有一个输入为1,非门输出与输
入相反,异或门输出为1的条件是所有输入中1的个数为奇数。
2.判断下面的逻辑表达式是否等价:(AANDB)ORC和(AORC)AND(BORC)。
答:等价。
通过化简可以得到(AANDB)ORC=(AORC)AND(BORC)。
3.若A、B和C是三个布尔变量,其取值范围分别是0和1,则下列
哪个逻辑表达式等价于“当A和B至少有一个为1时,C必须为0”?
-A.AANDBORC
-B.AANDBXORC
-C.AORBANDNOTC
-D.AORBXORC
答:答案为C。
因为逻辑表达式C=AORBANDNOTC的真值表与题目描述
的条件完全相同。
4.对于一个长度为N的二进制数,它的取值范围是多少?
答:一个长度为N的二进制数的取值范围是从0到2^N-1
5.已知十进制数125,将其转换为八进制和二进制数。
7.已知一个八进制数为37,将其转换为十进制和二进制数。
9.简化下列逻辑表达式:(AANDB)OR(AANDNOTB)OR(BANDNOTA)。
答:逻辑表达式可以简化为(AXORB)OR(AANDB)。
10.有两个布尔变量A和B,若A为1,则B为0;若B为1,则A为1、请写出这个关系的逻辑表达式。
答:逻辑表达式为AXORB。
信息学基础知识题库硬件1.微型计算机的问世是由于(C)的出现。
A. 中小规模集成电路B. 晶体管电路C. (超)大规模集成电路D. 电子管电路2.中央处理器(CPU)能访问的最大存储器容量取决于(A)。
A. 地址总线B. 数据总线C. 控制总线D. 实际内存容量3.微型计算机中,(C)的存储速度最快。
A. 高速缓存B. 外存储器C. 寄存器D. 内存储器4.在计算机硬件系统中,cache是(D)存储器。
A. 只读B. 可编程只读C. 可擦除可编程只读D. 高速缓冲5.若我们说一个微机的CPU是用的PII300,此处的300确切指的是(A)。
A. CPU的住时钟频率B. CPU产品的系列号C. 每秒执行300百万条指令D. 此种CPU允许的最大内存容量6.计算机主机是由CPU与(D)构成。
A. 控制器B. 输入输出设备C. 运算器D. 内存储器7.计算机系统总线上传送的信号有(B)。
A. 地址信号与控制信号B. 数据信号、控制信号与地址信号C. 控制信号与数据信号D. 数据信号与地址信号8.不同类型的存储器组成了多层次结构的存储器体系,按存储器速度又快到慢的排列是(C)。
A. 快存>辅存>主存B. 外存>主存>辅存C. 快存>主存>辅存D. 主存>辅存>外存9.微机内存储器的地址是按(C)编址的。
A. 二进制位B. 字长C. 字节D. 微处理器的型号10.在微机中,通用寄存器的位数是(D)。
A. 8位B. 16位C. 32位D. 计算机字长11.不同的计算机,其指令系统也不同,这主要取决于(C)。
A. 所用的操作系统B. 系统的总体结构C. 所用的CPUD. 所用的程序设计语言12.下列说法中,错误的是(BDE)A. 程序是指令的序列,它有三种结构:顺序、分支和循环B. 数据总线决定了中央处理器CPU所能访问的最大内存空间的大小C. 中央处理器CPU内部有寄存器组,用来存储数据D. 不同厂家生产的CPU所能处理的指令集是相同的E. 数据传输过程中可能会出错,奇偶校验法可以检测出数据中哪一位在传输中出了错误13.美籍匈牙利数学家冯·诺依曼对计算机科学发展所作出的贡献是(C)。
信息学奥赛基础知识习题答案版Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】信息学奥赛基础知识习题(答案版)一、选择题(下列各题仅有一个正确答案,请将你认为是正确的答案填在相应的横线上)1.我们把计算机硬件系统和软件系统总称为C?。
(A)计算机CPU?(B)固件?(C)计算机系统?(D)微处理机2.硬件系统是指D。
(A)控制器,器运算(B)存储器,控制器(C)接口电路,I/O设备?(D)包括(A)、(B)、(C)3.计算机软件系统包括B。
A)操作系统、网络软件B)系统软件、应用软件C)客户端应用软件、服务器端系统软件D)操作系统、应用软件和网络软件4.计算机硬件能直接识别和执行的只有D。
(A)高级语言?(B)符号语言(C)汇编语言?(D)机器语言5.硬盘工作时应特别注意避免B?。
(A)噪声?(B)震动?(C)潮湿?(D)日光6.计算机中数据的表示形式是C。
(A)八进制?(B)十进制?(C)二进制?(D)十六进制7.下列四个不同数制表示的数中,数值最大的是A?。
(B)八进制数334(C)十进制数219?(D)十六进制数DA8.Windows9x操作系统是一个A?。
(A)单用户多任务操作系统?(B)单用户单任务操作系统(C)多用户单任务操作系统?(D)多用户多任务操作系统9.局域网中的计算机为了相互通信,必须安装___B__。
(A)调制解调器(B)网卡(C)声卡(D)电视卡10.域名后缀为edu的主页一般属于__A____。
(A)教育机构(B)军事部门(C)政府部门(D)商业组织11.香港在世界上注册的顶级域名是__A____。
(A)hk(B)cn(C)tw(D)com12.计算机能够自动、准确、快速地按照人们的意图进行运行的最基本思想是(D?)。
(A)采用超大规模集成电路?(B)采用CPU作为中央核心部件(C)采用操作系统?(D)存储程序和程序控制13.设桌面上已经有某应用程序的图标,要运行该程序,可以C?。
重庆市普通高中2020年学生学业水平考试信息技术练习题(一)注意事项:1.试题满分100分,考试时同为90分钟。
2.答题前,考生务必将自已的姓名、准考证号用黑色宇迹的签字笔或钢笔填写在机读卡上。
一、判断题(共25题,每题1分,共计25分)1.近年来,一些机动车驾驶人员开车时玩手机或接打电话造成了交通事故的发生,给社会交通安全带来极大的危害。
重庆高速执法人员在提取摄像头数据时,发现了一位驾驶人员边开车边玩手机。
根据车辆信息,执法人员找到了该驾驶员,并对他的违法行为进行罚款200元的处罚。
像这种用摄像头拍摄交通违法的过程属于信息的采集。
( )A.正确B.错误2.利用网际快车下载文件.如果没有下载完成就关闭计算机,下次开机下载的时候,不能在上次下载的断点处继续下载。
( )A.正确B.错误3.在Word中,为了在对文章进行修改或排版时让多个图形整体移动,往往需要对这些图形对象进行组合,在组合时应先选中要组合的各个对象然后单击鼠标右键,在弹出的快捷菜单中选择“组合”命令。
( )A.正确B.错误4.在Word中,编辑“汉字激光照排系统之父一王选”这个文档后,部分界面如下图所示,关于这部分文档,修订前的标题格式为“加粗的小三号字体”。
( )A.正确B.错误5.在用Excel制作如下图所示的课程表中需要合并A1:E1单元格来制作表头并将表头文字“课程表”居中。
可以先选中A1:E1单元格,然后单击工具栏中的“合并居中”按钮,合并单元格后输入“课程表”来完成。
( )A.正确B.错误6.在Word中输入一组学生姓名,每输完一个学生姓名后按一下"Enter”键,全部输入完毕后.选择所有学生姓名后单击复制按钮。
再启动Excel后能进行粘贴.粘贴后所有学生的姓名在同一列。
( )A.正确B.错误7.Flash动画分为逐帧动画和补间动面,其中补间动画又分为形状补间动画和移动补间动画。
( )A.正确B.错误8.制作多媒体作品的过程如下图所示。
信息学奥赛辅导(C语言一)信息学奥赛辅导:C语言复习题(一)第1~3章练习题一、选择题1、一个C语言程序总是从____A、主过程开始执行B、主函数开始执行C、子程序开始执行D、主程序开始执行2、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为_A、4B、16C、32D、523、下面四个选项中,均是C语言关键字的选项是____A、auto enum includeB、switch typedef continueC、signed union scanfD、if struct type4、下面四个选项中,均是合法整型常量的选项是____A、160 -0xffff 011B、-0xcdf 01a 0xeC、-01 986,012 0668D、-0x48a 2e5 0x5、下面四个选项中,均是合法浮点数的选项是___A、+1e+1 5e-9.4 03e2B、-.60 12e-4 -8e5C、123e 1.2e-.4 +2e-1D、-e3 .8e-4 5.e-0A、'\'' '\\' '\n'B、'\' '\017' '\"'C、'\018' '\f' 'xab'D、'\\0' '\101' 'xlf'7、下面正确的字符常量是____A、'\X17'B、'\80'C、'\\'D、"\n"8、下面四个选项中,均是正确的八进制数和十六进制数的选项是____A、-10 0x8f -011B、0abc -017 0xcC、010 -0x11 0xf1D、0a12 -0x123 -0xa9、下面四个选项中,均是正确的数值常量或字符常量的选项是____A、0.0 0f 8.9e '&'B、"a" 3.9E-2.5 1e1 '\"'C、'3' 011 0xFF00 0aD、+001 0xabcd 2e2 50.10、若有代数式,则正确的C语言表达式是____A、2*ln(x)*cos(x)/3*xB、2*ln(x)*cos(x)/(3*x)C、2*log(x)*cos(x)/3*xD、2*log(x)*cos(x)/(3*x)11、若有说明语句:char ch1='\065';char ch2="2";char ch3='2';则:ch1中____,ch2中____,ch3中____A、包含1个字符B、包含2个字符C、包含3个字符D、字符个数不确定,说明不正确12、若有运算符:>、*=、?:、%、sizeof,则将它们按运算的优先级排列的正确次序为(由低至高)____A、*=→?:→%→>→sizeofB、?:→*=→>→%→sizeof13、若有以下类型说明语句:char a;int b;float c;double d;则表达式a*b+d-c的结果类型为____A、floatB、charC、intD、double14、若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是____A、a=9+b+c=a+9B、a=9+b;c=a+9;C、a=(9+b,b++)D、a=9+b++=a+715、已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为____A、DB、68C、一个不确定的值D、C16、以下运算符中优先级最高的运算符是____A、&&B、++C、?:D、!=17、若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是___A、2.500000B、2.7500000C、3.500000D、0.00000018、sizeof(float)是____A、双精度型表达式B、一个整型表达式C、一个函数调用D、一个不合法的表达式19、设变量y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是____A、y=(y*100+0.5)/100.0B、x=y*100+0.5,y=x/100.0C、y=y*100+0.5/100.0D、y=(y/100+0.5)*100.020、设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是____A、0~255B、0~65535C、-32768~+32767D、-256~+25521、若有以下定义,则能得到值为3的表达式是____(int m=7,n=12)A、n%=(m%=5)B、n%=(m-m%5)C、n%=m-m%5D、(n%=m)-(m%=5)22、若有说明:int a=1,b=2,c=3,d=4;则表达式a<b?a:c<d?c:d的值是___< bdsfid="170" p=""></b?a:c<d?c:d 的值是___<>A、4B、3C、2D、123、若x为int类型,则逗号表达式(x=4*5,x*5),x+25的结果是___,x的值是___A、20B、100C、表达式不正确D、4524、putchar函数可以向终端输出一个____A、整型变量值B、实型变量值C、字符串D、字符或字符型变量值25、若有以下变量说明和数据的输入方式,则正确的输入语句为('└─┘'代表空格)____变量说明:float x1,x2;数据的输入方式:4.52<回车>3.5<回车>A、scanf("%f,%f",&x1,&x2);B、scanf("%f%f",&x1,&x2);C、scanf("%3.2f└─┘%2.1f",&x1,&x2);D、scanf("%3.2f%2.1f",&x1,&x2);26、若运行以下程序时,从键盘输入25,13,10<回车>,则输出结果为___{int a1,a2,a3;scanf("%d%d%d",&a1,&a2,&a3);printf("a1+a2+a3=%d\n",a1+a2+a3);}A、a1+a2+a3=48B、a1+a2+a3=25B、a1+a2+a3=10D、不确定值27、已知a、b、c为int类型变量,若有输入语句:scanf("a=%db=%dc=%d",&a,&b,&c);为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是____A、132<回车>B、a=1b=3c=2<回车>C、1<回车>3<回车>2<回车>D、a=1<回车>b=3<回车>c=2<回车>28、以下能正确定义整型变量x、y和z并为其赋初值5的语句是____A、int x=y=z=5;B、int x,y,z=5;C、int x=5,y=5,z=5;D、x=5,y=5,z=5;29、执行下面程序段后,x的值是____int x;printf("%d\n",(x=3*5,x+5));30、下面程序段的输出结果是____int a=023;printf("%d\n",--a);A、23B、17D、2431、已知ch是字符型变量,则不正确的赋值语句是____A、ch=5+9;B、ch='\0';C、ch='7'+'9';D、ch='a+b';32、设x,y是float型变量,则不正确的赋值语句是____A、++x;B、y=int(5);C、x*=y+1;D、x=y=0;33、设有说明:double b=0.5,c=1.5;int a=10;则正确使用了C语言库函数的赋值语句是____A、c=asin(c)+fabs(a);B、b=log10(b)+pow(b);C、c=sqrt(b-c);D、a=(int)(atan2((double)a,b)+exp(b-0.2));34、以下程序段的输出结果是____int i=1,j=4,k=2;float x=5.5,y=9.0,z;z=(i+j)/k+sqrt((double)y)*1.2/k+x;printf("%f\n",z);A、9.800000B、9.300000C、8.500000D、8.00000035、若a为int类型变量,则执行以下程序段后a的值为____a=5;a*=a/=a++;B、1C、40D、336、若a和b均为int型变量,则执行以下程序断后x的输出是____x=15;y=15;printf("%d\n",x%=(y%=2));A、0B、1C、6C、1237、若x为unsigned int类型变量,则执行以下程序段后x的值是____x=65535;printf("%d\n",x);A、65535B、1C、无定值D、-138、以下语句的执行结果是____printf("%d\n",NULL);A、1B、0C、-1无定值39、若x为int类型变量,则执行以下程序段后的输出结果是____x=0xDEF;printf("%4d,%4o,%4x\n",x,x,x);A、3567,6757,defB、3567,6757,xdefC、3567,06757,0xdefD、3567,6757,0def40、若a、b、c均为int型变量,则执行以下程序段后的输出结果为____b=(a=10,a+5,c=10);printf("a=%d,b=%d,c=%d\n",a,b,c);c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);A、a=10,b=15,c=10B、a=10,b=10,c=10a=10,b=5,c=10 a=10,b=5,c=10C、a=10,b=10,c=10D、a=10,b=10,c=10a=10,b=5,c=15a=10,b=5,c=541、若a1、a2、a3、a4均为char类型变量,则执行以下程序段后的输出结果为____a1='1';a2='2';a3='3';a4='4';printf("%1c\n",a1);printf("%2c\n",a2);printf("%3c\n",a3);printf("%4c\n",a4);A、1B、1C、1D、输出格式的描述符不正确2 2 023 3 0034 4 000442、执行语句printf("The program's name is c:\\tools\book.txt");后的输出是____B、The program's name is c:\tools book.txtC、The program's name is c:\\tools book.txtD、The program's name is c:\toolook.txt43、设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是____scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);A、1234123121<回车>B、1234123412341234<回车>C、1234+1234+1234+1234<回车>D、1234+123+12+1<回车>44、设c1、c2均是char类型变量,则以下不正确的函数调用是____A、scanf("c1=%cc2=%c",&c1,&c2);B、getchar( )C、putchar(c2);D、putchar(c1,c2)45、逻辑运算符两侧运算对象的数据____A、只能是0或1B、只能是0或非0正数C、只能是整型或字符型数据D、可以是任何类型的数据46、判断char型变量c1是否为大写字母的正确表达式是____A、'A'<=c1<='Z'B、(c1>='A')&(c1<='Z')C、(c1>='A')&&(c1<='Z')D、('A'<=c1) AND ('Z'>=c1)47、执行以下程序段后的a值是___,b的值是___,c的值是___int a=5,b=6,c=1,x=2,y=3,z=4;A、0B、6C、1D、548、设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是_A、'i'&&'j'B、i<=jC、i||j+k&&j-kD、!((i<j)&&!k||1)< bdsfid="334" p=""></j)&&!k||1)<>49、设ch是char类型变量,其值是A,则以下表达式的值是____ch=(ch>='A'&&ch<='Z')?(ch+32):chA、ZB、AC、aD、z50、若希望当num的值为奇数时,表达式的值为“真”,num 的值为偶数时,表达式的值为“假”。
在N 个数中(N为奇数),必须有一个数的数值是在这N 个数中排在中间的,求出这个中间数及其在这N 个数中的位置所在。
输入样例:文件中有两行:7 ——N5 4 2 1 3 9 10 ——共有N 个数,每个整数之间用一个空格分隔输出样例:MIDDLE NUMBER:4 第一行输出中间数NO:2 第二行输出中间数所在的位置二、砝码称重问题描述:设有1 克、2 克、5 克、10克、20克、50克的砝码若干枚,问这些砝码可称出多少种不同的重量。
设砝码的总重不超过1000克。
输入样例:3 4 5 0 2 7输出样例:total=426三、念数字编一个“念数字”的程序,它能让计算机完成以下工作:当你输入一个0至99之间的数后,计算机就会用汉字拼音印出这个数的念结束。
例1:Input data:35SAN SHI WU例2:Input data:0LING如果输入的数不在0到99之间,就印出“CUO LE”(错了),请求重新输入。
注:为了使不熟悉汉语拼音的同学也能做这个题,把“零,一,二,三,……,九,十”的拼音法写在下面。
零 LING 一 YI 二 ER 三 SAN 四 SHI 五 WU六 LIU 七 QI 八 BA 九 JIU 十 SHI四、矩阵相乘已知N×M1矩阵A和M1×M矩阵B(1≤M、M1、N≤10),求矩阵C(=A×B)。
例如:输入:N,M1,M=4 3 4A= 1 2 33 4 5 提示:所谓矩阵相乘(如A×B=C),是指4 5 6 C ij= ∑(A ik×B kj)(i=1~N,j=1~M1,k=1~M)5–1 –2B= 1 6 4 2 例如:2 3 4 1 C11=A11×B11+A12×B21+A13×B31–1 5 7 –3 =1×1+2×2+3×(– 1)输出:C= 2 27 33 –5 =26 55 63 –5 C42= A41×B12+A42×B22+A43×B328 69 78 –5 =5×6+(–1)×3+(–2)×55 17 2 15 =17输入N(2≤N≤100)个数字(在0与9之间),然后统计出这组数中相邻两数字组成的链环数字对出现的次数。
信息学基础知识练习题(一) 一 .数据结构及其它练习1. 请将以下程序段表示的计算公式写出来(假设X的值已给出)e: =1 ;a: =1 ;for n: =1 to 10 doa: =a*x / n;e: =e+a;endfor;2. 列举一个算法,使算法的解能对应相应的问题。
用5角钱换成5分、2分、1分的硬币,可有多少种换法?请列出问题的算法。
3. 已知如下N*(N+1)/2个数据,按行的顺序存入数组A[1],A[2],.....中:A11A21 A22A31 A32 A33AN1 AN2 AN3 .................................... ANN ;其中:第一个下标表示行,第二个下标表示列。
若Aij(i>=j, j=1,2, , N)存入A[K]中,试问:K和i, j之间的关系如何表示?给定K值(K<N*(N+1)/2)后,写出能决定相应的i, j值的算法。
4. 有红、黄、黑、白四色球各一个,放置在一个内存编号为1、2、3、4四个格子的盒中,每个格子放置一只球,它们的顺序不知。
甲、乙、丙三人猜测放置顺序如下:甲:黑编号1,黄编号2;乙:黑编号2,白编号3;丙:红编号2,白编号4。
结果证明甲乙丙三人各猗中了一半,写出四色球在盒子中放置情况及推理过程。
5. 已知:a1,a2,...a81共81个数,其中只有一个数比其他数大,以下是用最少的次数找出来。
将下列算法补充完整。
第一步:s1=a1+a2+...+a27s2=a28+a29+...+a54第一次比较(s1,s2):s1>s2 取k=0s1<s2 取k=27s1=s2 取k=54第一步:s1=a k+1+a k+2+...+a9s2=ak+i°+ak+ii+...+ak+i8第二次比较(s1,s2):s1>s2 取k=s1<s2 取k=s1=s2 取k=第三步:s1=a k+i+a k+2+a k+3S2=3k+4+3k+5+a k+6第三次比较(S1,S2):s1>s2 取k=s1<s2 取k=s1=s2 1R k=第四/P:s1=a k+1s2 = ak+2第四次比较(s1,s2):s1>s2:为最大数s1<s2:为最大数s1=s2:为最大数6. 已知,按中序遍历二叉树的结果为:abc0有多少种不同形态的二叉树可以得到这一•遍历结果,并画出这些二叉树。
7. 有2xn的一个长方形方格,用一个仆2的骨牌铺满方格。
例如n=3时,为2x3方格。
此时用一个仆2 的骨牌铺满方格,共有3种铺法:试对给出的任意一个n(n〉0),求出铺法总数的递推公式。
设有一个共有n级的楼梯,某人每步可走1级,也可走2级,也可走3级,用递推公式给出某人从底层开始走完全部楼梯的走法。
例如:当n=3时,共有4种走法,即1+1+1, 1+2, 2+1, 3o8. 有标号为A、B、C、D和1、2、3、4的8个球,每两个球装一盒,分装4盒。
标号为字母的球与标号为数字的球有着某种一一对应的关系(称为匹配)并已知如下条件:%1匹配的两个球不能在一个盒子内;%12号匹配的球与1号球在一个盒子里;%1A号和2号球在一个盒子里;%1B匹配的球和C号球在一个盒子里;③3号匹配的球与冬号匹配的球在一个盒子里;%14号是A或B号球的匹配球;%1D号与1号或2号球匹配。
请写出这四对球匹配的情况。
9. 电线上停着两种鸟(A, B),可以看出两只相邻的鸟就将电线分为了一个线段。
这些线段可分为两类;一类是两端的小鸟相同;另一类则是两端的小鸟不相同。
已知:电线两个顶点上正好停着相同的小鸟,试问两端为不同小鸟的线段数目一定是()。
A.奇数B.偶数C.可奇可偶D.数目固定10. 已知数组中A中,每个元素A (I, J)在存贮时要占3个字节,设I从1变化到8, J从1变化到10,分配内存时是从地址SA开始连续按行存贮分配的。
试问:A (5, 8)的起始地址为()A.SA+141B. SA+180C. SA+222D. SA+22511. 某数列有1000个各不相同的单元,由低至高按序排列;现要对该数列进行二分法检索(binary-search),在最坏的情况下,需检视( )个单元。
A.1000B. 10C. 100D. 50012. 公式推导:根据Nocomachns定理,任何一个正整数n的立方一定可以表示成n个连续的奇数的和。
例如:13= 123= 3+ 533= 7+ 9 +1143=13 | - 15+17+19.在这里,若将每一个式中的最小奇数称为X,那么当给出n之后,清写出X与n之间的关系表达式:13. 在磁盘的目荥结构中,我们将与某个子目荥有关联的目荥数称为度。
例如下图:该图表达了A盘的甘录结构:DI, DII, ......D2均表示子目荥的名字.在这里,根目录的度为2, D1 子甘录的度为3, D11子目录的度为4, D12, D2, D111, D112, D113的度均为1。
又不考虑子目录的名字,则可简单的图示为如下的树结构:若知道一个磁盘的目录结构中,度为2的子目录有2个,度为3的子目录有1个,度为4的子目录有3个。
试问:度为1的子甘录有几个?14. 已知:ack(m,n)函数的计算公式如下:n+1 m=0ack[m,n]={ack(mlJ) n=0ack(m-1,ack(m,n.1)) m,n<>0计算ack(1,2),ack(1,3),ack(2,2),ack(2,4).15. 将表达式A+B*(C/D)和A-C*D+BAE写成前缀和后缀表这式.16. 给出一棵二叉树的中序遍历:DBGEACHFI与后序遍历:DGEBHIFCA,它的中序遍历是——.二.写出下列程序的运行结果:1. program ex1;var i,x1 ,x2,x:integer;beginx1:=3;x2:=8;for j:=1 to 5 dobeginx:=(x1+x2)*2;x1:=x2;x2:=x;end;writeln('x =’,x);end.2. program ex2;var a:array[1..11] of integer;j,k:integer;begina[1]:=1;a[2]:=1;k:=1;repeata[k+2]:=1;for j:=k downto 2 doa[i]:=a[i]+a[i-1];k:=k+1;until k>=10;for i:=1 to 11 dowrite(a[i]:4);writeln;end.3. program ex3;var i,s,max:integer;a:array[1..10] of integer;beginfor i:=1 to 10 do read(a[i]);max:=a[1];s:=a[1];for i:= 2 to 10 dobeginif s<0 then s:=0;s:=s+a[i];if s>max then max:=s;end;writeln(,max=,,max) end.输入:-2 13-1 4 78-1 -18 24 6 输出:max二输入:8 9・1 24 6 5 11 15・28 9 输出:max二4. program ex4;const n=5;var ij,k:integer;a:array[1..2*n,1..2*n] of integer;begink:=1;for i:=1 to 2*n-1 doif i<=n thenif odd(i) thenfor j:=i downto 1 dobegina[i-j+1,j]:=k;k:=k+1;endelse for j:= 1 to i dobegina[i-j+1,j]:=k;k:=k+1;endelse if odd(i) thenfor j:=n downto i-n+1 dobegina[i-j+1,j]:=k;k:=k+1;endelse for j:=i-n+1 to n dobegina[i-j+1,j]:=k;k:=k+1;end;for i:=1 to n dobeginfor j:=1 to n dowrite(a[i,j]:3);writelnend;end.5. program ex5;const n=10;var s,i:integer;function co(i1:integer):integer;var j1,s1 integer;begins1:=n;for j1:=n-1 downto n-i1+1 do s1:=s1*j1 div (n-j1+1); co:=s1;end;begins:=n+1;for i:=2 to n do s:=s+co(i);writelnCs=\s);end.6. program ex6;const n=3;var ij,s,x:integer;p:array[0..n+1] of integer;g:array[0..100] of integer;beginfor i:=0 to 100 do g[i]:=0;p[0]:=0;p[n+1]:=100;for i:=1 to n do read(p[i]);readln;for i:=0 to n dofor j:=j+1 to n+1 dog[abs(p[j]-p[i])]:=g[abs(p[j]-p[i])]+1;s:=0;for i:=0 to 100 doif g[i]>0 then begin write(i:4);s:=s+1 ;end; writeln;writeln('s=',s);writeln(,input data:');readln(x);writeln(g[x])end.输入:10 20 65input data: 10输出:/.program excpl;varx,y,y1 jkj1,g,e:integer;a:array[1..2O] of 0..9;beginx:=3465;y:=264;jk:=20;forj1:=1 to 20 do a[j1]:=0;while y<>0 dobeginy1:=y mod 10;y:=y div 10;while y1<>0 dobeging:=x;for e:=jk downto 1 dobeging:=g+a[e];a[e]:=g mod 10;g:=g div 10end;y1:=y1-1end;jk:=jk-1end;j1:=1;while a[j1]=0 doj1:=j1+1;forjk:=j1 to 20 do write(a[jk]:4);writelnend.8. program ex9;varij:integer;a:array[1..14] of integer;procedure sw(i1J1 integer);var k1:integer;beginfork1:=1 toQ1-i1+1)div2dobegina[i1+k1-1]:=a[i1+k1-1]+a[j1-k1+1];a[i1-k1+1]:=a[i1+k1-1]-a[j1-k1+1];a[i1+k1-1]:=a[i1-k1+1]-a[j1-k1+1];end;end;beginj:=211;for i:=1 to 14 dobegin a[i]:=i;j:=j-i end;sw(1,4);sw(5,10);sw(11,14);sw( 1,14); for i:=1 to 14 dobeginif (j mod i)=1 then write(a[i]:3);j:=j-a[i];end;writelnend.9. program ex10;var ij,l,n,k,s,t:integer;b:array[1..1O] of 0..9;beginreadln(l,n);s:=l;l:=1;t:=l;while s<n dobegink:=k+1;t:=t*l;s:=s+t;end;s:=s-t;n:=n-s-1;for i:=1 to 10 do b[i]:=0;j:=11;while n>0 dobeginj:=j-1;b[j]:=n mod l;n:=n div I;end;for i:=10-k+1 to 10 dowrite(chr(ord('a')+b[i]));end.输A: 4 167输出:10. program exp3;var i,j,s:integer;b:array[0..5] of integer;begins:=1;for i:=1 to 5 do b[i]:=i;j:=1;while j>0 dobeginj:=5;while (j>0) and (b[j]=10+j-5) do j:=j-1; if j>0 thenbegins:=s+1;b[j]:=b[j]+1;for i:=j+1 to 5 do b[i]:=b[j]+i-jend;end;writeln(,s=l,s);end.11. program ex11;vari,j,j1,j2,p,q:integer;p1:boolean;b,c:array[1..100] of integer;beginreadln(q, p);j:=1 ;p1 :=true;;j1:=0;fillchar(b,sizeof(b),0);b[j]:=q;while (q>0) and p1 dobeginj1:=j1+1;c[j1]:=q*10divp;q:=q*10-c[j1]*p;if q>0 thenbeginj2:=1;while (b[j2]<>q) and (j2<=j) do j2:=j2+1;if b[j2]=q thenbeginp1:=false; writefO.');for i:=1 to j2-1 do write(c[i]:1);writeCf);for i:=j2 toj1 do write(c[i]:1);writelnf}');end else begin j:=j+1;b[j]:=q end;end;end;if q=0 then begin write('0.');for i:=1 to j1 do write(c[i]:1);writelnend;readlnend.输入:1 8输出:输入:2 7输出:12. program ex12;const n=7;m=6;var i J,x0,y0,x1 ,y1 ,x2,y2:integer;d:real;p:boolean;g:array[0..n,0..m] of 0..1; function disp(x1 ,y1 ,x2,y2:integer):real;begindisp:=sqrt((x1 -x2 )*(x1 -x2)+(y 1 -y2)*(y1 -y2)); end;beginfor i:=0 to n dofor j:=0 to m dog[i,j]:=o;readln(x1,y1,x2,y2);g[x1,y1]:=1;g[x2,y2]:=1;p:=true;while p dobeginp:=false;d:=disp(x1 ,y1 ,x2,y2);x0:=x1;y0:=y1;for i:=4 to n dofor j:=0 to m doif (d>disp(i,j,x2,y2)) and (g[i,j]=O) then begind:=disp(i,j,x2,y2);xO:=i;yO:=j;end;if (x0<>x1) or (y0<>y1) thenbeginx1 :=x0;y1 :=yO;p:=true; g[x1,y1]:=1;end;d:=disp(x1,y1,x2,y2);x0:=x2;y0:=y2;for i:=0 to 3 dofor j:=0 to m doif (d<disp(x1,y1,i,j)) and (g[i,j]=O) then begind:=disp(x1,y1,ij);xO:=i;yO:=j;end;if (x0<>x2) or (y0<>y2) thenbeginx2:=x0;y2:=y0;p:=true; g[x2,y2]:=1;end;end;writeln(x1,y11x2,y2)end.输入:7 6 0 0输出:。