第六届全国青少年信息学奥赛普及组初赛试题

合集下载

全国青少年信息学奥林匹克联赛初赛练习卷(二)答案

全国青少年信息学奥林匹克联赛初赛练习卷(二)答案

全国青少年信息学奥林匹克联赛初赛练习卷(二)(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(20题,每题1.5分,共30分)1.完全二叉树的结点个数为11,则它的叶结点个数为()。

A. 4B. 3C. 5D. 2E. 6 (最后一个分支结点:n\2=11\2=5,故叶子有6个)2.平面上有五个点A(5,3)、B(3,5)、C(2,1)、D(3,3)、E(5,1),以这五点作为完全图G的顶点,每两点之间的直线距离是图G中对应边的权值。

以下哪条边不是图G的最小生成树中的边()。

A. ADB. BDC. CDD. DEE. EA3.Intel的首颗16位处理器是()。

A.8088B.80386C.80486D.8086E.Pentium(The first chip used in PCs was Intel's 8088. This was not, at the time it was chosen, the best available CPU, ... The 8088 was chosen for reasons of economics: its 8-bit data bus required less costly motherboards than the 16-bit 8086.)4.下列活动中不属于信息学奥赛的系列活动的是()。

A. NOIPB. NOIC. IOID. 冬令营E. 程序员等级考试5.以下哪个软件不是即时通信软件()。

A.网易泡泡B.MSN MessengerC.Google TalkD.3DS MaxE.QQ6.下列关于高级语言的说法错误的是()。

A.Fortran是历史上的第一个面向科学计算的高级语言B.Pascal和C都是编译执行的高级语言C.C++是历史上的第一个支持面向对象的语言D.编译器将高级语言程序转变为目标代码E.高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上7.常见的邮件传输服务器使用()协议接收邮件。

全国青少年信息学奥林匹克联赛初赛练习卷(十)new答案

全国青少年信息学奥林匹克联赛初赛练习卷(十)new答案

全国青少年信息学奥林匹克联赛初赛练习卷(十)答案(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(20题,每题1.5分,共计30分。

每题有且仅有一个正确答案)1.计算机系统由硬件系统和软件系统组成,平常我们所说的计算机软件是由程序和()组成。

A. 软盘B. 文档C. 操作平台D. 相关软件工具2.下面有关数制的式子中,正确的是()。

A. (A2B.C5)16 = (101000101011.01011100)2B. 在八进制中,2*6=14C. (110010)2+(16)10=(1000100)2D. (01000)2=(8)83.汉字输入方法实质上是对汉字进行编码。

下面()不是汉字输入方法的编码方式。

A. 音码B. 形码C. 音形码D. ASCII码4.Windows是一种多任务的操作系统,各个Windows应用程序之间可以非常方便地通过()来交换数据。

A. 复制B. 读/写文件C. 剪贴板D. 剪切5.因特网(Internet)给我们提供了资源共享、浏览、检索信息和远程登录等多种服务。

下面几个选项中,用于远程登录的是()。

A. TelnetB. E-mailC. TCP/IPD. WWW6.在数据结构中,链表是()。

A. 顺序存储的线性表结构B. 非顺序存储的线性表结构C. 非顺序存储的非线性表结构D. 顺序存储的非线性表结构7.如果一棵M度树中有N1个度为1的顶点,N2个度为2的顶点,……,Nm个度为M的顶点,则该树中的叶子顶点个数为()。

A. N1B. M-N1-N2C. N1+2N2+…+(m-1)N m-1+1D. N2+2N3+…+(m-1)N m+18.设有1024个数据,利用二分法进行查找时,最坏情况下的比较次数为()。

A. 11B. 10C. 9D. 89.设数组X[10..40, 20..50]以行优先的方式存储,每个元素占4个字节,且已知x[10,20]的地址为1000,则x[30,30]的地址为()。

全国青少年信息学奥林匹克联赛初赛练习卷(八)new答案

全国青少年信息学奥林匹克联赛初赛练习卷(八)new答案

全国青少年信息学奥林匹克联赛初赛练习卷(八)(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共10题,每题1.5分,共计15分。

每题有且仅有一个正确答案)1.微机内的存储器的地址是以()编址的。

A.二进制位B.字长C.字节D.微处理器的型号2.下列诸因素中,对微机工作影响最小的是()。

A.尘土B.噪声C.温度D.湿度3.在24*24 点阵的字库中,汉字“一”与“编”的字模占用字节数分别是()。

A.32、32 B.32、72 C.72、72 D.72、324.计算机能直接执行的指令包括两部分,它们是()。

A.源操作数与目标操作数B.操作码与操作数C.ASCII码与汉字代码D.数字与字符5.在微机中,通用寄存器的位数是()。

A.8位B.16位C.计算机字长D.32位6.在计算机中,ASCII码是()位二进制代码。

A.8 B.7 C.12 D.167.计算机中的数有浮点与定点数两种,其中用浮点数表示的数,通常由()这两部分组成。

A.指数与基数B.尾数与小数C.阶码与尾数D.整数与小数8.启动计算机引导DOS是将操作系统()。

A.从磁盘调入中央处理器B.从内存储器调入高速缓冲存储器C.从软盘调入硬盘D.从系统盘调入内存储器9.不同的计算机,其指令系统也不相同,这主要取决于()。

A.所用的操作系统B.系统的总体结构C.所用的CPU D.所用的程序设计语言10.在有N个叶子节点的哈夫曼树中,其节点总数为()。

A. 不确定B. 2N-1C. 2N+1D. 2N二、不定项选择题(共10题,每题1.5分,共计15分。

多选或少选均不得分)。

11.假设我们用d=(a1, a2, …, a5)来表示无向图G的5个顶点的度数,下面给出的哪(些)组d值合理()。

A) {5,4,4,3,1} B) {4,2,2,1,1} C) {3,3,3,2,2}D) {5,4,3,2,1} E) {2,2,2,2,2}注意:一个顶点的度数不可能超过4;另外,所有顶点的度数之和应该是偶数。

NOIP2000普及组初赛答案

NOIP2000普及组初赛答案

1
第六届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题
普及组参考答案
一、选择一个正确答案代码(A/B/C/D ),填入每题的括号内 (每题1.5分,多选无分,共30分) 题号 1 2 3 4 5 6 7 8 9 10 选择 C B B B B D C D D
B
题号
11
12
13
14
15
16
17
18
19 20
选择 D
C B B A C
D D B A 二、问题解答(第1题的第1问2分,第2问5分,第2题7分,两题共14分)
1.答:有 5 种不同形态的二叉树可以得到这一遍历结果;可画出的这些二叉树为: ① a ② b ③ a ④ c ⑤ c \ / \ \ /
/
b a
c c a
b
\ / \ /
c b b a
2.对给出的任意一个n (n>0),用F (n )表示其铺法的总数的递推公式为:
F (1)=1 F (2)=2 F (n )=F (n-2)+F (n-1)(n ≥3) 三、阅读程序,并写出程序的正确运行结果(10+16分,共26分)
(1) 程序的运行结果是: BBAC (2) 程序的运行结果是: ① 0.125
② 0.{285714}
四、根据题意,将程序补充完整(每个点3分,共30分)
PASCAL 语言 BASIC 语言
================= ================= 题一
① 70
② 110
③ 140
④ 180
⑤ 220 题二
① 190
② 240
③ 280
④ 300
⑤ 350。

全国青少年信息学奥林匹克联赛初赛练习卷(六)答案

全国青少年信息学奥林匹克联赛初赛练习卷(六)答案

全国青少年信息学奥林匹克联赛初赛练习卷(六)答案(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(20题,每题1.5分,共30分)1.小张用十六进制,八进制和十进制写了如下一个等式:52 – 19 = 33式中三个数是各不相同进位制的数,试问52、19、33,分别为___________.(A)八进制,十进制,十六进制(B)十进制,十六进制,八进制(C)八进制,十六进制,十进制(D)十进制,八进制,十六进制2.下列if语句中,endif表示相应if的结束:y=0if x<0then y=5else if x<10 theny=10if x<100 then y=100 endifelse y=200endifendif试指出:当x=80时,运行的结果为__E__,当x=5时结果为__D_。

A、y=9B、y=5C、y=10D、y=100E、y=2003.下列哪个网络上常用的名字缩写是错误的()。

A.WWW(World Wide Web)B.URL(Uniform Resource Locator)C.HTTP(Hypertext Transfer Protocol)D.FTP(Fast Transfer Protocol){应该是“File Transfer Protocol”}E.TCP(Transfer Control Protocol)。

4.不能在Linux 上使用的网页浏览器是()。

A. Internet ExplorerB. NetscapeC. OperaD. FirefoxE. Mozilla5.一位艺术史学家有20000 幅1024 * 768 的真彩色图像,如果将这些图像以位图形式保存在CD 光盘上(一张CD 光盘的容量按600M计算),大约需要()张CD光盘。

A. 1B. 10C. 100D. 1000E. 10000(1024*768*32*20000)/ (8*1024*1024*600) =100张6.由3个a,5个b和2个c构成的所有字符串中,包含子串“abc”的共有()个。

noip普及组初赛试题及答案

noip普及组初赛试题及答案

noip普及组初赛试题及答案一、选择题(每题5分,共50分)1. 在计算机科学中,以下哪个选项是数据结构中常用的数据类型?A. 整数B. 浮点数C. 字符串D. 所有选项答案:D2. 下列哪种排序算法的时间复杂度为O(nlogn)?A. 冒泡排序B. 插入排序C. 快速排序D. 选择排序答案:C3. 在C++中,以下哪个关键字用于声明一个类?A. structB. classC. enumD. union答案:B4. 在计算机编程中,以下哪个选项是递归算法的典型应用?A. 计算阶乘B. 打印输出C. 循环遍历D. 数据输入答案:A5. 在数据库管理系统中,SQL语言用于执行哪种类型的操作?A. 存储数据B. 检索数据C. 修改数据D. 所有选项答案:D6. 在计算机科学中,算法的时间复杂度通常用来描述什么?A. 算法的运行时间B. 算法的执行步骤C. 算法的内存使用量D. 算法的效率答案:D7. 在编程语言中,以下哪个选项不是控制结构?A. 条件语句B. 循环语句C. 函数定义D. 异常处理答案:C8. 在操作系统中,进程和线程的主要区别是什么?A. 进程是资源分配的单位,线程是执行的单位B. 进程是执行的单位,线程是资源分配的单位C. 进程和线程没有区别D. 进程和线程是同一种概念答案:A9. 在计算机网络中,HTTP协议通常用于什么?A. 文件传输B. 电子邮件传输C. 网页浏览D. 远程登录答案:C10. 以下哪种数据结构最适合实现一个不重复元素集合?A. 数组B. 链表C. 栈D. 哈希表答案:D二、填空题(每题5分,共30分)1. 在C++中,用于定义常量的关键字是________。

答案:const2. 一个算法的空间复杂度是指算法在执行过程中所需的________。

答案:存储空间3. 在数据结构中,________是一种可以存储多个数据元素的线性结构。

答案:数组4. 在计算机程序设计中,________是一种将复杂问题分解为更小、更易于管理的部分的方法。

noip普及组初赛模拟试卷6(附答案)

noip普及组初赛模拟试卷6(附答案)

选择题1.大家知道,不同类型的存储器组成了多层次结构的存储器体系,按存取速度从快到慢的排列是(C)。

A.快存/辅存/主存 B.外存/主存/辅存 C.快存/主存/辅存 D.主存/辅存/外存2.以下是计算机存储容量大小的比较,结果为TRUE的式子是(B)。

A.100B>1KB B.1GB<1TB C.0.25KB>2000bit D.1000KB=1MB3.已知有一个运算符号“☆”,使下列式子成立:8☆7=15;5☆3=7。

求式子的值:7☆3=(D)。

A.10 B.9 C.8 D.74. IE浏览器软件,它的窗口与Windows窗口相似,以下说法正确的是(B)A、不能在IE窗口和其他应用程序窗口间切换。

B、IE窗口由标题栏、菜单栏、工具栏、地址栏、页面显示区和状态栏组成。

C、不可改变IE窗口大小。

D、同时只能打开一个IE窗口。

5.在待排序的数据表已经为有序时,下列排序算法中花费时间反而多的是( B ).A 堆排序B 希尔排序C 冒泡排序D 快速排序6.假设待进栈的元素依次为1,2,3,出栈后不可能的序列为:(D)A、123B、132C、213D、3127.为了便于管理和控制文件而将文件分为若干种类型,典型的文件类型有:(B)a.设备文件和数据文件b.数据文件和程序文件c.程序文件和设备文件d.文本文件和可执行文件8.假设A=true,B=false,C=true,D=true,逻辑运算表达式A∧B∨C∧D的值是____B____。

A.falseB.trueC.1D.09.在Pascal语言中,表达式 (21 xor 2)的值是_______B_。

A.24B.23C.22D.44010.某数列有10个各不相同的单元,由低至高按序排列;现要对该数列进行二分法检索(binary search),在最坏的情况下,需检视的单元数是____C____。

A.2B.3C.4D.511.通常用GB、KB、MB表示存储器的容量,它们之间的大小关系是____A____。

全国信息学奥赛普及组模拟测试题

全国信息学奥赛普及组模拟测试题

长沙市一中集团校初一信息学选拔测试试题说明:1.试卷共8题,100分,总共800分;2.每题10个测试点,每个测试点10分,共100分;3.评分标准:运行程序,对于每个输入测试数据,答案正确,得10分;4.每做完一题,应及时用“t+题号”(例如“t1.cpp”、“t2.cpp”分别表示第一、二题)作文件名存盘。

5.请用文件输入输出:输入文件名为:input.txt 输出文件名为:output.txt输入输出格式,在程序的输入前加上以下语句:freopen("input.txt","r",stdin);freopen("output.txt","w",stdout);第一题遛狗(t1)【问题描述】曾龙和天龙是好朋友,他们经常见面,而且天龙还养了一条可爱的小天狗。

有一天,他们分别从自己家出发去对方的家里,天龙把狗儿也放了出来,狗儿跑得很快,在他们之间来回跑啊跑,跑了好几趟,后来= = 他们相遇了。

求狗儿跑了多长距离。

【输入文件】共一行有四个正整数L,V1,V2,V3。

分别代表两人距离(m)、曾龙速度(m/s),天龙的速度(m/s),狗儿的速度(m/s)【输出文件】输出仅一个数N,表示狗儿跑的距离。

样例:input.txt 20 5 5 10 output.txt 20【数据范围】保证输入输出为整数,且狗儿跑得不比他们慢。

第二题数数(t2)【问题描述】小韬韬正在学习怎么用手指数数。

当他爸爸问“n(1≤ n ≤ 10)是多少”,韬韬的回答就是竖起n个手指头。

为了让问题简单一些,他爸爸告诉他正确的手指表示方式:(1)这个数可以用一只手或两只手表示;(2)如果这个数用两只手表示,大的数会先给出。

比如他爸爸问她“4是多少”,韬韬有3种表示方法:a.一只手竖起出4个手指头;(可以是左手也可是右手,只算一种)b.一只手竖起出3个手指头,另一只手竖起出1个手指头;c.一只手竖起出2个手指头,另一只手竖起出2个手指头;你的任务是,对于他爸爸的提问,确认韬韬有几种正确的回答方法。

信息学奥赛初赛试题

信息学奥赛初赛试题

信息学奥赛初赛试题信息学奥赛初赛试题是评价参赛选手信息学知识和解决问题能力的重要标准。

本次初赛试题共分为三个部分,包括选择题、填空题和编程题。

本文将从每个部分分别进行阐述,以帮助理解试题的要求和解题方法。

第一部分:选择题选择题是信息学奥赛初赛试题的基础部分,旨在考察参赛选手对基本概念和知识的掌握。

这部分试题共计20道题目,每道题目后面列出了四个选项,请选手选择其中一个正确答案。

在解答选择题时,选手应该认真阅读题干和选项,将其与所学的知识进行对应和比较,找出正确答案。

在答题过程中,选手应注意排除干扰选项,避免选择错误答案。

第二部分:填空题填空题是信息学奥赛初赛试题的扩展部分,要求选手灵活运用所学知识,通过填写正确的答案来解决问题。

这部分试题共计10道题目,每道题目中有若干个空白,请选手根据题目要求填写适当的内容。

在解答填空题时,选手需要仔细审题,理解问题的要求,并根据给出的提示进行推理和计算。

在填写答案时,选手应注意答案的格式和单位,并且尽量使用简洁明了的语言来表达。

第三部分:编程题编程题是信息学奥赛初赛试题的重点部分,要求选手运用所学的编程技巧来解决具体问题,考察选手的编程实力和问题解决能力。

这部分试题共计5道题目,要求选手使用任意一种编程语言完成。

在解答编程题时,选手首先需要明确问题需求,分析问题要求的实质,并设计相应的算法和数据结构。

在编写代码时,选手应注意代码的结构和逻辑,简洁而不冗余。

在完成编程后,选手应进行充分的测试和调试,确保程序能够正常运行并得到正确结果。

总结信息学奥赛初赛试题分为选择题、填空题和编程题三个部分,要求选手在不同的题型中运用所学的知识和技巧,解答问题并得出正确结果。

选手在做题时应认真阅读题目要求,理解问题本质,采用合适的方法和策略解决问题。

通过认真思考和充分练习,选手将能够提高自己的信息学水平和解题能力,为进一步的竞赛和学习打下坚实的基础。

NOIP普及组初赛历年试题及答案阅读题篇

NOIP普及组初赛历年试题及答案阅读题篇

NOIP普及组初赛历年试题及答案阅读题篇NOIP普及组初赛历年试题及答案阅读题篇阅读程序写结果(共4 题,每题8 分,共计32 分)阅读程序题是得分的关键,因为不是让你上机去运行程序,所以要一步步地读程序,记录相关变量值的变化情况。

因为程序的运行结果只有输出语句才有输出,所以只写出输出语句的结果。

有时要找出规律才能写出结果,特别是循环次数多的情况,另外要注意边界值,不能多算一步也不能少算一步。

解决这类问题的关键在于能够分析程序的结构以及程序段的功能。

常见的有列表法、画流程图法等。

完成这类题目的方法和步骤如下:1、从头到尾通读程序,大致把握程序的算法、找出这个题目的即这个程序想干什么。

抓住了它,不仅得出答案变得较容易,而且对自己的结果也会比较有信心。

2、通过给程序分段、理清程序的结构和层次,达到读懂程序的目的。

3、阅读程序中特别注意跟踪主要变量的值的变化,可以用列表的方法,了解变量变化和程序的运行结果,注意发现规律。

所谓列表法,就是将各变量名作为表头,在程序的执行过程中,将各变量值的变化记录在相应变量的下方。

4、按照程序中输出格式的要求,写出运行结果,并带着结果回到程序进行检查。

在阅读程序时,要特别注意过程、函数所完成的子任务以及和主程序之间的参数传递关系。

在阅读程序中,比较好的方法是首先阅读主程序,看其需要调用的过程或函数是什么,最后要求输出变量是什么;其次在阅读程序中,将较长的程序分成几个程序段(特别注意循环结构、判断结构),阅读理解各程序段的功能以及各程序之间的关联。

NOIP2011-1.#includeusing namespace std;int main(){int i,n,m,ans;cin>>n>>m;i=n;ans=0;while(i<=m){//从i=10~20,共循环计数11次ans+=i;//每次循环,ans累加一次i 值i++;}cout<<ans<<endl;< p="">//此时ans值应为(10+20)*11/2,即165 return 0; }输入: 10 20输出: 165NOIP2011-2.#include#includeusing namespace std;int main(){string map= "2223334445556667778889999"; //数组中元素位置是从0开始计数的string tel;int i;cin>>tel;for(i=0;i<tel.length();i++)< p="">if((tel[i]>='0') && (tel[i]<='9') )//如果输入的tel是0~9,直接输出tel值cout<<tel[i];< p="">else if( (tel[i]>='A') && (tel[i]<='Z'))cout<<map[tel[i]-'a'];< p="">//如果输入的tel是A~Z,则输出一个map数组中对应的元素//输出元素在map数组中位置为“输入字母与A的ASCII码的差值”//如果输入的是其他字符,比如“-”,则不符合循环条件,无输出cout<<endl;< p="">return 0;}输入: CCF-NOIP-2011输出: 22366472011NOIP2011-3.#include#includeusing namespace std;const int SIZE= 100;int main(){int n,i,sum,x,a[SIZE];cin>>n;memset(a,0,sizeof(a));for(i=1;i<=n;i++){cin>>x;a[x]++;}//循环结束时数组中的值为:a[1]=1,a[2]=2,a[3]=3,a[4]=2,a[5]=1,a[6]=2 i=0;sum=0;while(sum<(n/2+1)){//当sum值大于等于n/2+1,即sum>=6的时候,循环结束i++;sum+=a[i];}cout<<i<<endl;< p="">//输出循环结束时i 的值(不是sum的值)return 0;}输入:114 5 6 6 4 3 32 3 2 1输出: 3NOIP2011-4.#includeusing namespace std;int solve(int n,int m){int i,sum;if(m==1) return 1;//递归函数solve(i,m)中m=1时返回函数值为1sum=0;for(i=1;i<n;i++)< p="">//递归函数solve(i,m)中i=1时不循环,sum=0sum+= solve(i,m-1);return sum;//可递归求得sum=solve(1,3)+(2,3)+(3,3)+(4,3)+(5,3)+(6,3)int main(){int n,m;cin>>n>>m;cout<<solve(n,m)<<="" p="" 输出函数值,即sum值return="">}输入: 7 4输出: 20NOIP2012-1.#include using namespace std; int a, b, c, d, e, ans; int main() {cin>>a>>b>>c;d = a+b;e = b+c;ans = d+e;//ans=a+b+b+ccout<<ans<<endl;< p="">return 0;}输入: 1 2 5输出: 10NOIP2012-2.#includeusing namespace std;int n, i, ans;int main()cin>>n;ans = 0;for (i = 1; i <= n; i++)if (n % i == 0)ans++;//统计1~18中18的因数个数cout<<ans<<endl;< p=""> return 0;}输入: 18输出: 6NOIP2012-3.#includeusing namespace std;int n, i, j,a[100][100];int solve(int x,int y){int u, v;if(x == n)return a[x][y];//递归边界:当x=5时,solve(5,y)=a[5][y]u= solve(x + 1, y);v= solve(x + 1, y + 1);if(u > v)return a[x][y] + u;elsereturn a[x][y] + v;//用递归最终求得solve(1,1)=a[1][1]+solve(2,2)=2+12=14 } int main(){cin>>n;for(i = 1; i <= n; i++) for (j = 1; j <= i; j++) cin>>a[i][j];cout<<solve(1,1)<<="" p="" return="">}输入:52-1 42 -1 -2-1 6 4 03 2 -1 5 8输出: 14NOIP2012-4.#include#include using namespace std; int n, ans, i, j;string s;char get(int i){if(i < n)return s[i];elsereturn s[i-n];//i<8时,get(i)返回s[i];i>=8时,get(i)返回s[i-8],从第一个开始返回}int main(){cin>>s;n= s.size();ans= 0;for(i = 1; i <= n-1; i++){for (j = 0; j <= n-1; j++)if (get(i+j) < get(ans+j)){ans = i;break;}else if (get(i+j) > get(ans+j))break;}//此循环执行完毕,ans=7for(j = 0; j <= n-1; j++)cout<<get(ans+j);< p="">//1,ans+j<8,输出s[7+0];2,ans+j=8,输出s[8-8];3,ans+j=9,输出s[9-8]……cout<<endl;< p="">return 0;}输入: CBBADADA输出: ACBBADADNOIP2013-1.#includeusing namespace std;int main(){inta, b;cin>>a>>b;cout<<a<<"+"<<b<<"="<<a+b<<endl;< p="">return 0;}//输出:3+5=8输入: 3 5输出: 3+5=8NOIP2013-2.#includeusing namespace std;int main(){int a, b, u, i, num;cin>>a>>b>>u;num = 0;for (i = a; i <= b; i++)if ((i % u) == 0)num++;//1-100之间有多少数是15的倍数cout<<num<<endl;< p=""> return 0;}输入: 1 100 15输出: 6NOIP2013-3.#includeusing namespace std;int main(){const int SIZE = 100;int n, f, i, left, right, middle, a[SIZE]; cin>>n>>f;for (i = 1; i <= n; i++)cin>>a[i];left = 1;right = n;do {middle= (left + right) / 2;if(f <= a[middle])right = middle;elseleft = middle + 1;}while (left < right);// middle=6,17>a[6],则left=7// middle=9,17// middle=7,17=a[7],则right=7 // left=right,直接输出left cout<<left<<endl;< p="">return 0;}输入:12 172 4 6 9 11 15 1718 19 20 21 25 输出: 7NOIP2013-4.#includeusing namespace std;int main(){constint SIZE = 100;intheight[SIZE], num[SIZE], n, ans; cin>>n;for(int i = 0; i < n; i++) {cin>>height[i];num[i] = 1;for (int j = 0; j < i; j++) {if ((height[j] < height[i]) && (num[j] >= num[i]))num[i] = num[j]+1;}}//两两相比,得出num[0], num[1], num[2], num[3], num[4], num[5]ans= 0;for(int i = 0; i < n; i++) {if (num[i] > ans) ans = num[i];}//得出num中最大值,即在数组height中第几位数值最大cout<<ans<<endl;< p="">return 0;}输入:62 53 11 12 4输出: 4不懂算法?跟踪变量!列表模拟!遇到递归?画树形图!注意边界!找到规律了?还会流程图?恭喜你,32分到手了!NOIP2014-1.#includeusing namespace std;int main(){int a, b, c, d, ans;cin>> a >> b >> c;d = a - b; //将a-b=-1赋值给d a = d + c; //将d+c=3赋值给a ans = a * b; //ans=a*b=3*3=9 cout<<"Ans = "<< ans << endl;return 0;}输入:2 3 4输出: Ans=9NOIP2014-2.#includeusing namespace std;int fun(int n){if (n == 1)return 1; //边界fun(1)=1if (n == 2)return 2; //边界fun(2)=2 return fun(n - 2) - fun(n - 1); } //fun(n)=fun(n-2)-fun(n-1) int main(){int n;cin >> n;cout << fun(n) << endl;//fun(7)=fun(5)-fun(6)=-11 return 0;}输入: 7输出: -11NOIP2014-3.#include#includeusing namespace std;int main(){int i, len;getline(cin, st);len = st.size();for(i = 0; i < len; i++){if (st[i] >= 'a' && st[i] <= 'z')st[i] = st[i] - 'a' + 'A';} //如果字符串st中字母小写,则替换成大写cout<< st << endl; return 0;}输入: Hello, my name is Lostmonkey.输出: HELLO, MY NAME IS LOSTMONKEY.NOIP2014-4.#includeusing namespace std;const int SIZE =100;int main(){int p[SIZE];int n, tot, i, cn;cin>> n;for(i = 1; i <= n; i++)p[i] = 1; //p[1]-p[30]中所有元素赋值1 for(i = 2; i <= n; i++){ if (p[i] == 1)tot++; //计数cn = i * 2; //找出2-30中所有2i while (cn <= n) {p[cn] = 0;cn += i; //找出2-30中所有3i}}//对2-30中素数计数,并输出个数cout<< tot << endl; return 0;}输入: 30输出: 10NOIP2015-1.#includeusing namespace std;</ans<<endl;<></left<<endl;<></num<<endl;<></a<<"+"<<b<<"="<<a+b<<endl;<> </endl;<></get(ans+j);<></solve(1,1)<</ans<<endl;<></ans<<endl;<></solve(n,m)<</n;i++)<></i<<endl;<></endl;<></map[tel[i]-'a'];<></tel[i];<></tel.length();i++)<></ans<<endl;<>。

【21年试题】历年全国青少年信息学奥林匹克联赛初赛试题1995-2015

【21年试题】历年全国青少年信息学奥林匹克联赛初赛试题1995-2015

【21年试题】历年全国青少年信息学奥林匹克联赛初赛试题1995-2015
1995 全国青少年信息学奥林匹克联赛初赛试题
1996 全国青少年信息学奥林匹克联赛初赛试题
1997 全国青少年信息学奥林匹克联赛初赛试题
1998 全国青少年信息学奥林匹克联赛初赛试题
1999 全国青少年信息学奥林匹克联赛初赛试题
2000 全国青少年信息学奥林匹克联赛初赛试题
2001 全国青少年信息学奥林匹克联赛初赛试题
2002 全国青少年信息学奥林匹克联赛初赛试题
2003 全国青少年信息学奥林匹克联赛初赛试题
2004 全国青少年信息学奥林匹克联赛初赛试题
2005 全国青少年信息学奥林匹克联赛初赛试题
2006 全国青少年信息学奥林匹克联赛初赛试题
2007 全国青少年信息学奥林匹克联赛初赛试题
2008 全国青少年信息学奥林匹克联赛初赛试题
2009 全国青少年信息学奥林匹克联赛初赛试题
2010 全国青少年信息学奥林匹克联赛初赛试题
2011 全国青少年信息学奥林匹克联赛初赛试题
2012 全国青少年信息学奥林匹克联赛初赛试题
2013 全国青少年信息学奥林匹克联赛初赛试题
2014 全国青少年信息学奥林匹克联赛初赛试题
2015 全国青少年信息学奥林匹克联赛初赛试题。

全国青少年信息学奥林匹克联赛初赛练习卷(十三)new答案

全国青少年信息学奥林匹克联赛初赛练习卷(十三)new答案

全国青少年信息学奥林匹克联赛初赛练习卷(十三)答案new(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(20题,每题1.5分,共计30分。

每题有且仅有一个正确答案)1.给出三种排序算法:插入排序、冒泡排序和选择排序,这三种排序算法的时间代价分别是()。

A. O(n)、O(n2)、O(logn)B. O(logn)、O(n)、O(n2)C. O(n2)、O(n)、O(logn)D. O(n2)、O(n2)、O(n2)2.给出一组数据:10,18,3,4,9,13,15,2,21,9,8,将它们生成一棵二叉排序树,所需的关键码比较次数为()。

A. 25B. 24C. 23D. 223.从逻辑功能上讲,计算机主要由()、控制器、存储器、输入设备和输出设备组成。

A. ROMB. I/OC. CPUD. ALU4.在衡量存储器容量时,计量的单位由小到大的顺序是()。

A. KB GB TBB. TB KB GBC. TB GB KBD. KB TB GB5.下面()不是网络操作系统?A. UNIXB. NETW AREC. WINDOWSD. DOS6.下列()不属于计算机病毒的预防措施。

A. 拥有计算机病毒检测扫描器B. 拥有实时监控程序C. 可对未知计算机病毒进行检测D. 对已知的计算机病毒进行杀毒7.汉字的区位码、国标码和机内码(又称内码)是三个不同的概念。

假设某个汉字的区号是十进制数30,位号是十进制数63,则在PC机中,它的十六进制内码是()。

该汉字的区位码:306310=1E3F16国标码:区码+3210(或者2016)位码+3210(或者2016),得到3E5F16机内码:将所得的两个字节的最高位都置为1,最后得到A. BEDFB. 3E5FC. 9EBFD. B0E38.文件夹组织是一个有层次的树状结构,其中最顶层的是()。

A. 我的电脑B. 网上邻居C. 桌面D. 资源管理器9.()是用来在计算机之间进行文件传输的。

NOIP普及组历届试题分析

NOIP普及组历届试题分析

NOIP普及组历届试题分析简介全国青少年信息学奥林匹克竞赛(National Olympiad in Informatics in Provinces,简称NOIP)是由教育部主管的我国重要的计算机竞赛之一,也是继数学、物理、化学等奥赛之后的第五个奥赛竞赛科目。

NOIP的目的是为了提高初、高中学生计算机编程能力,培养计算机及其应用等方面人才,推动计算机教学与应用的发展。

NOIP由普及组和提高组组成,普及组适合初学者,困难系数逐年递增,试题越来越难。

本文将以普及组历届试题为主,对试题进行分析,帮助初学者更好地掌握NOIP的难点和解题方法。

历届试题分析2021年2021年普及组共3道试题,分别为:•普及组-1:数论题目,给定两个数n和m,求出从1到n中可以被m整除的数的个数。

•普及组-2:暴力枚举题目,给定一个长度为n的整型数组a,请计算其中有多少个子序列满足其中的元素逆序对数量恰好等于k序列中逆序对数量的个数。

•普及组-3:贪心算法题目,有n个维度相同的矩形,每个矩形的左上和右下两个点坐标都已知,请问从这些矩形中能够组成的最大矩形的面积是多少。

,2021年的普及组试题难度适中,各个题目的知识点都不难掌握,但需要提高思维能力和编程能力。

2020年2020年普及组共3道试题,分别为:•普及组-1:模拟题目,给定一些操作,包括插入、删除、查询等操作,让我们实现对一个序列的操作。

•普及组-2:搜索算法题目,有n个物品和一个容量为v的背包,每个物品有重量w和价值c两个属性,要求将物品装入背包中,使得背包中物品的总价值最大,输出最大价值。

•普及组-3:排序算法题目,给定n个三元组(a,b,w),要求将三元组按照a从小到大、b从小到大排序,如果a和b相等,则按照w从小到大排序。

,2020年的普及组试题相对较简单,难度偏低,但需要细致的思考和编程能力。

2019年2019年普及组共3道试题,分别为:•普及组-1:分支结构和循环结构的题目,输入一个字符串,输出字符串中包含的大写字母、小写字母、数字和空格的个数。

第六年全国青少年信息学(计算机)奥林匹克分区普及组初赛联赛试题

第六年全国青少年信息学(计算机)奥林匹克分区普及组初赛联赛试题

第六年全国青少年信息学(计算机)奥林匹克分区普及组初赛联赛试题〔普及组 PASCAL语言二小时完成〕●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效【一】选择一个正确答案代码〔A/B/C/D 〕,填入每题的括号内( 每题 1.5 共30分〕●●分,多项选择无分,1、以下无符号数中,最小的数是〔〕、A、〔 11011001〕2B、〔 75〕 10C、〔37〕 8D、〔2A〕 162、在外部设备中,绘图仪属于〔〕、A、输入设备B、输出设备C、辅〔外〕存储器D、主〔内〕存储器3、 GB2312-80 规定了一级汉字3755 个,二级汉字3008 个,其中二级汉字字库中的汉字是以〔〕为序排列的、A、以笔划多少B、以部首C、以 ASCII 码D、以机内码4、算法是指〔〕、A、为解决问题而编制的计算机程序B、为解决问题而采取的方法与步骤C、为解决问题而需要采纳的计算机语言D、为解决问题而采纳的计算方法5、 RAM中的信息是〔〕、A、生产厂家预先写入的B、计算机工作时随机写入的C、防止计算机病毒侵入所使用的D、专门用于计算机开机时自检用的6、计算机主机是由CPU与〔〕构成的、A、操纵器B、运算器C、输入、输出设备D、内存储器7、计算机病毒的特点是〔〕、A、传播性、潜伏性、易读性与隐蔽性B、破坏性、传播性、潜伏性与安全性C、传播性、潜伏性、破坏性与隐蔽性D、传播性、潜伏性、破坏性与易读性8、设循环队列中数组的下标范围是1– n,其头尾指针分别为 f 和 r ,那么其元素个数为〔〕、A、 r-fB 、 r-f+1C、〔 r-f 〕 MODn+1D、〔 r-f+n 〕MODn9、在待排序的数据表差不多为有序时,以下排序算法中花费时间反而多的是〔〕、A 堆排序B 希尔排序 C冒泡排序 D 快速排序10、 Internet 的规范译名应为〔〕、A、英特尔网B、因特网C、万维网D、以太网11、 WINDOWS9X是一种〔〕操作系统、A、单任务字符方式B、单任务图形方式C、多任务字符方式D、多任务图形方式12、某种计算机的内存容量是640K, 那个地方的640K 容量是指 () 个字节、A、 640B、 640*1000C、 640*1024D、 640*1024*102413、在 Windows9X 中,菜单项后带有符号“ ”,表示该菜单项 () 、A、能够进行开关选择B、执行时有对话框C、有假设干子命令D、不能执行14、某数列有1000 个各不相同的单元,由低至高按序排列;现要对该数列进行二分法检索(binarysearch) ,在最坏的情況下,需检视() 个单元、A、15、数组 A 中,每个元素A[I , J] 在存贮时要占 3 个字节,设I 从 1 变化到 8, J 从 1 变化到 10,分配内存时是从地址 SA开始连续按行存贮分配的。

(完整版)青少年信息学奥林匹克初赛模拟试题附参考答案

(完整版)青少年信息学奥林匹克初赛模拟试题附参考答案

D 、( 101)2 > ( 15)16E 、( 121)10 =( 79)163、关闭一个活动应用程序窗口,可按快捷键( C 、Alt +Esc D 、Ctrl+ EscE 、Shift+ Esc4、结构化程序设计的三种结构是(A 、顺序结构、选择结构、转移结构 C 多分结构、赋值结构、等价结构 E 、循环结构、顺序结构、选择结构)B 、分支结构、等价结构、循环结构 D 、分支结构、顺序结构、选择结构5、编译程序是指( )A 、 将高级语言源程序翻译成机器语言程序(目标程序)B 、 将机器语言源程序翻译成高级语言程序(目标程序)C 、 对源程序边扫描边翻译执行D 、 对目标程序装配连接E 、 运行源程序并修改错误6、在pascal 语言中下列运算符( )的优先级别最高7、在线性表中,那些结点只有一个直接前驱和一个直接后续()A 、头结点B 、尾结点C 、中间的结点D 、所有结点E 、不确定 8、 具有12个记录的序列,采用冒泡排序法最少的比较次数是() A 、 1B 、144C 、11D 、66E 、09、有N 个结点的图的邻接矩阵存储法中,链表的表头结点有()个。

A 、 NB 、 2NC 、N/2D 、N*NE 、N-210、表达式 SQRT ( ABS (-100)*SQR ( ROUND ( 3.7)))的值是( )。

11、二叉树的后序遍历为 abcdef ,这棵二叉树可能是:信息学初赛模拟试题一、选择一个正确答案代码( A/B/C/D ),填入每题的括号内 (本题共20小题,每题1.5 分共30分。

1 —10小题为单选题,11— 20小题为不定项选择题,每题有一个或多个答案。

) 1、如果按字长来划分,微型机可以分为 位机是指该计算机所用的 CPU ( A 、同时能处理32位二进制数 C 只能处理32位二进制定点数 8位机、16位机、32位机和64位机。

所谓32 B 、具有32位的寄存器 D 、有32个寄存器 E 存储方式是 32位2、下列表达式正确的是( A 、 ( 1) 10>( 1)2B 、( 12)10 >( 10)16C 、 ( 15)8 > ( 10)16A 、 Ctrl + F4B 、Alt + F4 A 、 AND B 、 NOTC <>D 、*E 、OR A 、 30 B 40 C 30.0D 、40.0E 、40.0012、 具有4个顶点的无向完全图有()条边。

noip竞赛试题2000题目

noip竞赛试题2000题目

第六届全国青少年信息学(计算机)奥林匹克分区联赛试题(参考答案)(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题1.5分,多选无分,共30分)1.下列无符号数中,最小的数是()A.(11011001)2B.(75)10C.(37)8D.(2A)162.在外部设备中,绘图仪属于()A.输入设备B.输出设备C.辅(外)存储器D.主(内)存储器3.GB2312-80规定了一级汉字3755个,二级汉字3008个,其中二级汉字字库中的汉字是以()为序排列的。

A.以笔划多少B.以部首C.以ASCⅡ码D.以机内码4.算法是指()A.为解决问题而编制的计算机程序B.为解决问题而采取的方法与步骤C.为解决问题而需要采用的计算机语言D.为解决问题而采用的计算方法5.RAM中的信息是()A.生产厂家预先写入的B.计算机工作时随机写入的C.防止计算机病毒侵入所使用的D.专门用于计算机开机时自检用的6.计算机主机是由CPU与()构成的A.控制器B.运算器C.输入、输出设备D.内存储器7.计算机病毒的特点()A.传播性、潜伏性、易读性与隐蔽性B.破坏性、传播性、潜伏性与安全性C.传播性、潜伏性、破坏性与隐蔽性D.传播性、潜伏性、破坏性与易读性8.设循环队列中数组的下标范围是1~n,其头尾指针分别为f和r,则其元素个数为()A.r-fB.r-f+1C.(r-f)MOD n+1D.(r-f+n)MOD n9.在待排序的数据表已经为有序时,下列排序算法中花费时间反而多的是()A.堆排序B.因特网C.冒泡排序D.快速排序10.Internet的规范译名应为()A.英特尔网B.因特网C.万维网D.以太网11.WINDOWS9x是一种()操作系统A.单任务字符方式B.单任务图形方式C.多任务字符方式D.多任务图形方式12.某种计算机的内存容量是640K,这里的640K容量是指()个字节A.640B.640*1000C.640*1024D.640*1024*102413.在Windows9x中,菜单项后带有符号“…”,表示该菜单项()A.可以进行开关选择B.执行时有对话框C.有若干子命令D.不能执行14.某数列有1000个各不相同的单元,由低至高按序排列;现要对该数列进行二分法检索(binary search),在最坏的情况下,个单元A.1000B.10C.100D.50015.已知数组A中,每个元素A[I,J]在存贮时要占3个字节,设I从1变化到8,J从1变化到10,分配内存时是从地址SA开贮分配的。

信息学奥赛普及组初赛模拟试题

信息学奥赛普及组初赛模拟试题

信息学奥赛普及组初赛模拟试题(一) 发布:郭琪时间:2011/7/6 13:56:18 来源:宁夏教研网点击: 77 讨论: 0试题由四部分组成:1、选择题2、问题求解题3、程序阅读理解题4、程序完善题一、选择题:共20题,每题1.5分,共计30分。

每题有5个备选答案,前10个题为单选题(即每题有且只有一个正确答案,选对得分),后10题为不定项选择题(即每题有1至5个正确答案,只有全部选对才得分)。

1、计算机网络最大的优点是。

A、精度高B、资源共享C、运行速度快D、存储容量大E、逻辑判断能力强2、计算机病毒是指。

A、编制有错误的计算机程序B、设计不完善的计算机程序C、计算机的程序已被破坏D、以危害系统为目的的特殊的计算机程序D、没有经过编译的计算机程序3、在各种查找算法中,平均查找长度(与关键字比较次数的期望值)与查找表中元素个数 n 无关的查找方法是____。

A. 顺序查找B. 散列查找C. 折半查找D. 动态查找E、二分查找4、下列各数中最大的是____。

A、 11010110.0101(二进制)B、D6.53(十六进制)C、 214.32(十进制)D、326.25(八进制)E、23.26(三十二进制)5.已知英文字母a的ASCll代码值是十六进制数61H,那么字母d的ASCll 代码值是A)34H B)54H C)24H D)64H E)74H6、若一台计算机的字长为 32 位,则表明该机器___。

A. 能处理的数值最大为 4 位十进制数B. 能处理的数值最多为 4 个字节C. 在 CPU 中能够作为一个整体加以处理的二进制数据为 4 个字节D. 在 CPU 中运算的结果最大为 232E.表示计算机的时钟脉冲7、编译程序和解释程序是两类高级语言翻译程序,它们的根本区别在于__。

A. 是否进行优化处理B. 执行效率不同C. 对源程序中的错误处理不同D. 是否形成目标程序E.编写方式不同8、在字符串“abcde”中有___个子串 CA. 14B. 15C. 16D. 17E.189、假设一棵二叉树的后序遍历序列为DGJHEBIFCA,中序遍历序列为DBGEHJACIF,则其前序遍历序列为。

信息学奥赛普及组1-18届问题求解题解析

信息学奥赛普及组1-18届问题求解题解析

历届“问题求解”解析(2013竞赛辅导)问题求解是信息学竞赛初赛中常见题型,它共两题,每题5分,共10分,十六届增加了比重,有三题,占15分。

诸如寻找假币、博弈原理、抽屉原理、容斥问题、排列组合、逻辑推理、递推关系等问题出现在问题求解中。

(相关问题的具体讲解根据需要考虑发讲义) 第一届(逻辑推理问题)1. 有标号为A 、B 、C 、D 和1、2、3、4的8个球,每两个球装一盒,分装4盒。

标号为字母的球与标号为数字的球有着某种一一对应的关系(称为匹配),并已知如下条件: ① 匹配的两个球不能在一个盒子内。

② 2号匹配的球与1号球在一个盒子里。

③ A 号和2号球在一个盒子里。

④ B 匹配的球和C 号球在一个盒子里。

⑤ 3号匹配的球与A 号匹配的球在一个盒子里。

⑥ 4号是A 或B 号球的匹配球。

⑦ D 号与1号或2号球匹配。

请写出这四对球匹配的情况。

第四届(递推、树、图)1. 已知一个数列U 1,U 2,U 3,…,U N ,… 往往可以找到一个最小的K 值和K 个数a 1,a 2,…,a n 使得数列从某项开始都满足: U N+K =a 1U N+K-1+a 2U N+K-2+……+a k U N (A)例如对斐波拉契数列1,1,2,3,5,…可以发现:当K=2,a 1 =1,a 2 =1时,从第3项起(即N>=1)都满足U n+2 =U n+1+U n 。

试对数列13,23,33,…,n 3,…求K 和a 1,a 2, …,a K 使得(A )式成立。

当K= 4,a 1,a 2,…,a k 为a 1=4, a 2=6, a 3=4,a 4=-1对数列132333,…,n 3,…(A )成立。

2.给出一棵二叉树的中序遍历:DBGEACHFI 与后序遍历:DGEBHIFCA 画出此二叉树。

3.用邻接矩阵表示下面的无向图:表示该无向图的邻接矩阵为 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0第五届(递推)将Ln 定义为求在一个平面中用n 条直线所能确定的最大区域数目。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六届全国青少年信息学(计算机)奥林匹克分区联赛初赛试题(提高组PASCAL语言 二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一. 选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题1.5分,多选无分,共30分)1.下列无符号数中,最小的数是( )A.(11011001)2B.(75)10C.(37)8D.(2A)162.在外部设备中,绘图仪属于( )A. 输入设备B.输出设备C. 辅(外)存储器D.主(内)存储器3.计算机主机是由CPU与( )构成的A. 控制器B. 输入、输出设备C. 运算器D.内存储器4.计算机病毒的特点是( )A. 传播性、潜伏性、易读性与隐蔽性B. 破坏性、传播性、潜伏性与安全性C. 传播性、潜伏性、破坏性与隐蔽性D. 传播性、潜伏性、破坏性与易读性5.WINDOWS 9X是一种( )操作系统A. 单任务字符方式B. 单任务图形方式C. 多任务字符方式 D. 多任务图形方式6.Internet的规范译名应为( )A. 英特尔网B. 因特网C. 万维网D. 以太网7.计算机网络是一个( )系统A.管理信息系统B.管理数据系统C.编译系统D. 在协议控制下的多机互连系统8.计算机系统总线上传送的信号有( )A.地址信号与控制信号B. 数据信号、控制信号与地址信号C.控制信号与数据信号D. 数据信号与地址信号9.计算机的运算速度取决于给定的时间内,它的处理器所能处理的数据量。

处理器一次能处理的数据量叫字长。

已知64位的奔腾处理器一次能处理64个信息位,相当于( )字节。

A.8个B.1个C.16个D. 2个10.某种计算机的内存容量是640K,这里的640K容量是指( )个字节A.640B. 640*1000C. 640*1024D. 640*1024*102411.下面哪些计算机网络不是按覆盖地域划分的( )A.局域网B. 都市网C.广域网D. 星型网12.在有N个叶子节点的哈夫曼树中,其节点总数为( )A.不确定B. 2N-1C. 2N+1D. 2N13.已知数组中A中,每个元素A(I,J)在存贮时要占3个字节,设I从1变化到8,J从1变化到10,分配内存时是从地址SA开始连续按行存贮分配的。

试问:A(5,8)的起始地址为( )A.SA+141B. SA+180C. SA+222D. SA+22514.不同类型的存储器组成了多层次结构的存储器体系,按存取速度从快到慢的排列是( )A.快存/辅存/主存B. 外存/主存/辅存C. 快存/主存/辅存D. 主存/辅存/外存15.某数列有1000个各不相同的单元,由低至高按序排列;现要对该数列进行二分法检索(binary-search),在最坏的情况下,需检视( )个单元。

A.1000B. 10C. 100D. 50016.请仔读下列程序段:PASCAL语言Var a:array[1..3,1..4]of integer; b:array[1..4,1..3]of integer; x,y:integer; begin for x:=1to3do for y:=1to4do a[x,y]:=x-y; for x:=4 downto 1 do for y:=1 to 3 do b[x,y]:=a[y,x]; writeln(b[3,2]); end.BASIC语言DIM A(3,4),B(4,3)FOR X=1 TO 3FOR Y=1 TO 4A(X,Y)=X-YNEXT Y,XFOR X=4 TO 1 STEP --1FOR Y=1 TO 3B(X,Y)=A(Y,X)NEXT Y,XPRINT B(3,2)END上列程序段的正确揄出是( )A.-1B. -2C. -3D. -417.线性表若采用链表存贮结构,要求内存中可用存贮单元地址( )A.必须连续B. 部分地址必须连续C. 一定不连续D. 连续不连续均可18.下列叙述中,正确的是( )A.线性表的线性存贮结构优于链表存贮结构B.队列的操作方式是先进后出C.栈的操作方式是先进先出D. 二维数组是指它的每个数据元素为一个线性表的线性表19.电线上停着两种鸟(A,B),可以看出两只相邻的鸟就将电线分为了一个线段。

这些线段可分为两类;一类是两端的小鸟相同;另一类则是两端的小鸟不相同。

已知:电线两个顶点上正好停着相同的小鸟,试问两端为不同小鸟的线段数目一定是( )。

A.奇数B. 偶数C. 可奇可偶D. 数目固定20.一个文本屏幕有25列及80行,屏幕的左上角以(1,1)表示,而右下角则以(80,25)表示,屏幕上每一个字符占用两字节(byte),整个屏幕则以线性方式存储在电脑的存储器内,内屏幕左上角开始,位移为0,然后逐列逐列存储。

求位於屏幕(X,Y)的第一个字节的位移是( )A.(Y*80+X)*2-1B.((Y-1)*80+X-1)*2C.(Y*80+X-1)*2D.((Y-1)*80+X)*2-1二.问题求解:(6+6=12分)1.已知,按中序遍历二叉树的结果为:abc问:有多少种不同形态的二叉树可以得到这一遍历结果,并画出这些二叉树。

2.设有一个共有n级的楼梯,某人每步可走1级,也可走2级,也可走3级,用递推公式给出某人从底层开始走完全部楼梯的走法。

例如:当n=3时,共有4种走法,即1+1+1,1+2,2+1,3。

三、阅读程序,并写出正确的运行结果(每题10分,共20分)1.PROGRAM NOI_003;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;BEGIN DISP:=SQRT((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2)); END; BEGINFOR I:=0 T0 N DO FOR J:=0 TO M DO G[I,J]:=0READLN(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 DO FOR J:=0 TO M DOIF (D>DISP(I,J,X2,Y2))AND(G[I,J]=0)THENBEGIN D:=DISP(I,J,X2,Y2); X0:=I; Y0:=J; END;IF(X0<>X1) OR (Y0<>Y1) THENBEGIN X1:=X0; Y1:=Y0; P:=TRUE; G[X1,Y1]:=1; END;D:=DISP(X1,Y1,X2,Y2); X0:=X2; Y0:=Y2;FOR I:=0 TO 3 DO FOR J:=0 TO M DOIF(D<DISP(X1,Y1,I,J)AND(G[I,J]=0) THENBEGIN D:=DISP(X1,Y1,I,J); X0:=I; Y0:=J END;IF(X0<>X2)OR(Y0<>Y2) THENBEGIN X2:=X0;Y2=Y0;P:=TRUE; G[X2,Y2]:=1; END;END; WRITELN(X1,Y1,X2,Y2)END.输入:7 6 0 0 输出:2.PROGRAM NOI_002;VAR I,J,L,N,K,S,T:INTEGER; B:ARRAY[1..10] OF 0..9; BEGINREADLN(L,N); S:=L; K:=1; T:=L;IF N>L THEN BEGINWHILE S<N DOBEGIN K:=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 DOBEGIN J:=J-1; B[J]:=N MOD L; N:=N DIV L END;FOR I:=10-K+1 TO 10 DO WRITE(CHR(ORD(’A ’)+B[I])); READLN;ENDELSE WRITELN(CHR(ORD(’A’)+N-1))END输入: 4 167 输出:四、完善程序(共38分)1.问题描述:将2n个0和2n个1,排成一个圈。

从任一个位置开始,每次按逆时针的方向以长度为n+1的单位进行数二进制数。

要求给出一种排法,用上面的方法产生出来的2n+1个二进制数都不相同。

例如,当n=2时,即22个0和22个1排成如下一圈:比如,从A位置开始,逆时针方向取三个数000,然后再从B位置上开始取三个数001,接着从C开始取三个数010,…可以得到000,001,010,101,011,111,110,100共8个二进制数且都不相同。

程序说明以N=4为例,即有16个0,16个1,数组A用以记录32个0,1的排法,数组B统计二进制数是否已出现过。

程序清单PROGRAM NOI00;VARA :ARRAY[1..36] OF 0..1;B :ARRAY[0..31] OF INTEGER;I,J,K,S,P:INTEGER;BEGINFOR I:=1 TO 36 DO A[I]:=0;FOR I:=28 TO 32 DO A[I]:=1;P:=1;A[6]:=1;WHILE (P=1) DOBEGINJ:=27;WHILE A[J]=1 DO J:=J-1;( ① )FOR I:=J+1TO 27 DO( ② )FOR I:=0 TO 31 DO B[1]:=O;FOR I:=1 TO 32 DOBEGIN( ③ )FOR K:=I TO I+4 DO S:=S*2+A[K];( ④ )END;S:=0;FOR I:=0 TO 31 DO S:=S+B[I];IF( ⑤ )THEN P:=0END;FOR I:=1 TO 32 DO FOR J:=I TO I+4 DO WRITE(A[J]);WRITELNEND.2问题描述求出一棵树的深度和宽度。

例如有如下的一棵树:其树的深度为从根结点开始到叶结点结束的最大深度,树的宽度为同一层上结点数的最大值。

在上图中树的深度为4,宽度为3。

PROGRAM NOI00_6;VAR I,J,SP1,SP2,L,MAX:INTEGER; TREE:ARRAY[1..20,1..6]OFINTEGER;Q:ARRAY[1..100,0..6] OF INTEGER; D:ARRAY[0..20]OF INTEGER; BEGINFOR I:=1 TO 14 DO FOR J:=1 TO 6 DO TREE[I,J]:=O;FOR J:=1 TO 14 DO TREE[J,1]:=J;TREE[1,2]:=2; TREE [1,3]:=3; TREE[1,4]:=4; TREE[2,2]:=5; TREE[2,3]:=6; TREE [3,2]:=7; TREE[3,3]:=8; TREE[4,2]:=9; TREE[4,3]:=10; TREE[4,4]:=11; TREE[7,2]:=12;TREE[7,3]:=13; TREE[13,2]:=14;SP1:=1; SP2:=1;FOR I:=1 TO 6 DO Q[1,I]:=TREE[1,I];Q[1,0]:=1;WHILE( ① ) DOBEGINL:=( ② ); J:=2;WHILE( ③ )DOBEGINSP2:=SP2+1;Q[SP2,0]:=L;Q[SP2,1]:=Q[SP1,J];FOR I:=2 TO 6 DOQ[SP2,I]:=TREE[Q[SP1,J],I];J:=J+1END;SP1:=SP1+1END;WRITELN( ④ )FOR I:=0 TO 20 DO D[I]:=0;FOR I:=1 TO SP2 DOD[Q[I,0]]:=( ⑤ )MAX:=D[1];FOR I:=2 TO 20 DOIF D[I]>MAX THEN MAX:=D[I];WRITELN(MAX);READLN;END.。

相关文档
最新文档