NOIP初赛知识点复习总结Word文件下载.docx
《NOIP初赛知识点复习总结Word文件下载.docx》由会员分享,可在线阅读,更多相关《NOIP初赛知识点复习总结Word文件下载.docx(38页珍藏版)》请在冰豆网上搜索。
![NOIP初赛知识点复习总结Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/15/8fb124fe-de9f-4c09-884e-17255d8e4afa/8fb124fe-de9f-4c09-884e-17255d8e4afa1.gif)
写运行结果需要多做题目,培养良好的程序阅读和分析能力,而完善程序最好总结一下以前题目常常要你填出来的语句类型。
1.选择题一般它们是比较容易得分的,一共30分,不可错过!
近几年来,初赛的考查范围有了很大的变化,越来越紧跟潮流,需要大家有比较广泛的知识,包括计算机硬件,软件,网络,数据结构(例如栈,队列,排序算法),程序设计语言以及一些基本的数学知识和技巧
(例如排列组合等)。
2.填空、问题解决
这部分题目对数学要求要高一点,往往考查的是代数变形、集合论、数列(一般是考递推),也考查一些算法和数据结构知识。
建议大家多花一点时间做,尽量做
对。
3.阅读程序写出运行结果
占的分数多,但得分率却不高,较易失分,一旦结果不正确,将丢失全分。
这种题型主要考察选手:
①程序设计语言的掌握能力
②数学运算能力
③耐心、细心的心理品质一般做这类题目的关键在于能够分析程序的结构及程序段的功能,找出程序目的,即这个程序想干什么。
完成这类题目的一般方法和步骤是:
①从头到尾通读程序,大致掌握程序的算法;
②通过给程序分段,清理程序的结构和层次,达到读懂程序的目的;
③阅读程序中特别注意跟踪主要变量值的变化,也可以用列
表的方法,了解变量变化和程序运行的结果,要注意发现规律。
迄今为止考过的题目还没有“乱写”的,总有一点“写作目的”的。
抓住了它,得出答案就变得很容易了,而且对结果也会有信心。
写程序运行结果大纲规定是必考的。
试卷中给出的程序并不复杂,语句的含义容易明白,因此悟性好的选手总是很快就能体会到程序的设计思路并得出正确的答案,而机械模仿计算机硬算出结果的同学往往做的慢的多,而且容易失误。
4.完善程序 这部分题目得分率似乎不高。
没关系,尽量做吧。
把一些简单的填好就行了。
建议大家把以前的初赛题目都做做。
常常让大家填的是:
①初始化
②一些明显的动作:
a.结果没有储存在需要的地方。
b.累加器没有做加法
c.输出
③关键动作。
在算法描述中出现的比较关键的步骤。
例如交换排序程序的“交换”操作等很明显需要完成的操作。
分析方法和写运行结果类似,注意分析变量和程序结构,理解变量和模块的作用是解题的关键。
进制转换
1.二进制与十进制间的相互转换:
(1)二进制转十进制方法:
“按权展开求和”例:
(1011.01)2
=(1×
23+0×
22+1×
21+1×
20+0×
2-1+1×
2-2)10
=(8+0+2+1+0+0.25)10
=(11.25)10
规律:
个位上的数字的次数是0,十位上的数字的次数是
1,......,依次递增,而十
分位的数字的次数是-1,百分位上数字的次数是-
2,......,依次递减。
注意:
不是任何一个十进制小数都能转换成有限位的二进制数。
1,......,依奖递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。
以下二进制数与十进制数23.456最接近的
是()
A10111.0101B11011.1111
C11011.0111D10111.0111
E.10111.1111
D
把下面的数转换为10进制数再进行比较
位运算
位运算主要有:
按位与(&
),按位或(|),按位异或(^),取反~
运算法则:
1、先将两边的数转化为二进制,右边第一位对齐,对于每一位进行按位运算。
2、只有1&
1为真,其余情况为假
3、只有0|0为假,其余为真
4、只有1^0和0^1为真,其余为假
5、优先级~>
&
>
^>
|
6、~(00001001)2=(11110110)2
切记:
2^5不是25而是2异或5
补充:
负数在计算机内的表示是取对应正
数的补码。
补码=反码+1
如1表示为(0001)2,那么-1就表示为:
(1111)2。
10表示为(1010)2,那么-10就表示为
(0110)2。
比如,计算21^2
先转换为二进制
21=(10101)2
2=(10)2
(10111)2=23
10101
^10=
10111
练习题:
23|2^5的值是多少?
23
23|2^5=23|7=23
这个内容比较重要,至少会占1
分,请大家务必学透!
逻辑
设A=true,B=false,C=false,D=true,以下逻辑运算表达式值为真的有(CDE)。
A.(A∧B)∨(C∧D)
B.((A∧B)∨C)∧D
C.A∧((B∨C)∨D)
D.(A∧(B∨C))∨D
E.(A∨B)∧(C∨D)
真真假假很容易判断的,大家这么聪明应该可以自己搞定,我就不多讲了……总之复赛前要看一下哦!
需要结合C语言的逻辑判断!
6.在C语言中,判断整数a等于0或b等于0或
c等于0的正确的条件表达式是(
B
)
A.!
((a!
=0)||(b!
=0)||(c!
=0))
B.!
=0)&
(b!
(c!
C.!
((a==0)&
(b==0))||(c==0)
D.(a==0)&
(b==0)&
(c==0)
E.!
((a==0)||(b==0)||(c==0))
12.命题“P→Q”可读做P蕴含Q,其中
P、Q是两个独立的命题.只有当命题P成立而命题Q不成立时,命题"
P→Q"
的值为false,其它情况均为true.与命题"
等价的逻辑关系式是(AD)。
A.﹁P∨QB.P∧Q
C.﹁(P∨Q)D.﹁(﹁Q∧P)
需要注意优先级
P→Qp=truep=false
﹁P∨Qp=truep=false
q=truetruetrue
q=falsefalsetrue
P∧Qp=truep=false
﹁(﹁Q∧P)p=truep=false
q=truetruefalse
q=falsefalsefalse
位运算与逻辑
强烈建议背下C语言常用运算符的优先级
表。
参见《C语言程序设计》附录,序号越低
优先级越高。
集合论
集合我们刚刚学过,但是我们学的东西还
是少了点。
另外,注意信息学竞赛中的一些符号和数学书上略有不同。
需要学会的运算:
交集,并集,补集,差集
建议学会“鸽巢原理”
差集符号:
-(就是减号)
A—B就相当于去掉A中(A∩B)的元素。
设全集I={a,b,c,d,e,f,g,h},集合B
∪A={a,b,c,d,e,f},C∩A={c,d,e},
~B∩A={a,d},那么集合C∩B∩A为
(A)。
A.{c,e} B.{d,e} C.{e}
D.{c,d,e} E.{d,f}
设全集I={a,b,c,d,e,f,g},集合A={a,
b,c},B={b,d,e},C={e,f,g},那么集合(A—B)∪(~C∩B)为(A)。
A.{a,b,c,d}B.{a,b,d,e}C.{b,d,e}
D.{b,c,d,e}E.{d,f,g}
储存单位的计算
bit位Byte比特,字节KB千字节
MB,兆字节
其它单位:
GBTB
速率单位(声音,视频,网络):
bps<
=>
bitpersecond<
bit/s
Kbps<
Kbitpersecond<
Kbit/s
Mbps<
Mbitpersecond<
Mbit/s
1Byte=8bit
1KB=1024Byte
1MB=1024KB=10242Byte=8*10243bit
1GB=1024MB=10242KB=10243Byte
=...
...自己去推了
1Mbps=1024Kbps=10242bps
Attention,大B小b有区别的,一个是bit,一个是Byte,所以KB和Kb是不一样的,比如说“ADSL宽带512Kb”当然,现在很多人都混着用了……但是考试还是要严格点。
声音文件的大小等于:
速率*长度(注意单位噢)
下载时间与网络速度的关系:
下载时间=文件大小/下载速率
注意下载速率的基本单位是bit/s,而文件大小的单位是Byte,所以要乘以8。
公式不用死记,用物理的量纲理论就可以了。
由单位确定公式。
(bit/s)*(s)=bit
下载速率*时间=文件大小
例题:
一个音乐爱好者收藏有100首MP3
格式的音乐,这些音乐的编码率都是
192Kbps,平均每首音乐的时长为3min,他要通过网络将这些音乐传送给另一个人,假设网络速度恒定为512KB/s,则他传送这些音乐大概需要()。
A.72sB.843sC.112.5minD.
3h48min16sE.超过24小时
100*192Kb/s*3min