参加noip需要哪些知识

作者&投稿:堵鹏 (若有异议请与网页底部的电邮联系)
~ 分类: 教育/学业/考试 >> 高考
解析:

初赛考的知识点,大纲如是说:计算机基本常识/基本操作和程序设计基本知识。选择题考查的是知识,而填空/问题解决题更加重视能力的考查。一般说来,选择题是不需要单独准备的 -- 也无从准备。只要多用心积累就可以了。到是问题解决题目比较固定,大家应当做做以前的题目。写运行结果需要多做题目,培养良好的程序阅读和分析能力,而完善程序最好总结一下以前题目常常要你填出来的语句类型。

1)选择题 一般它们是比较容易得分的,一共30分,不可错过!

以前我建议大家找一本等级考试二级的书看,知识讲的系统一些。说选择题一般不超过二级的知识点,现在显然已经不适用了。近几年来,初赛的考查范围有了很大的变化,越来越仅跟潮流了。这是好事情,不过需要大家有比较广泛的知识,包括计算机硬件,软件,网络,数据结构(例如栈,队列,排序算法),程序设计语言以及一些基本的数学知识和技巧(例如排列组合)。

2)填空/问题解决

这部分题目对数学要求要高一点,往往考查的是代数变形,数列(一般是考递推),也考查 一些算法和数据结构知识。建议大家多花一点时间做,尽量做对。

例题: 1.数组A[30..100,20..100]以行优先的方式存储,每个元素占8个字节,且已知A[40 ,30] 的地址为2000,则A[60,90]的地址为:_________________ 如果以列优先存储,则为:_________________

考查了数据结构中数组存储方式。

^^^^^^^^ ^^^^

2.设栈S的初始状态为空,现有6个元素组成的序列{1,3,5,7,9,11},对该序列在S 栈上依 次进行如下操作(从序列中的1开始,出栈后不在进栈):进栈,出栈,进栈,进栈, 进栈,进栈 ,出栈,进栈,问出栈的元素序列是:_________,栈顶指针的值为______ 栈顶元素为:___________________

考查了数据结构中的栈。

^^^^^^^^ ^^

3.把中缀表达式写成后缀及前缀表达式 (1) (P+Q)*(A-B)/((C+D)/(E-F))-G

后:_________________

前:_________________

(2) A-C*D+B/E*(D/A)

后:_________________

前:_________________

4.根据后缀表达式,写出前缀及中缀表达式

ABC/DE+GH-/*+

前:_________________

中:_________________

这两题实际上考查了数据结构中的表达式树

^^^^^^^^ ^^^^^^^^

5.用一个字节来表示整数,最高位用作符号位(1为正,0为负),其他位表示数值,

(1)这样的表示法称为原码表示法,表示数的范围为:_________________

(2)原码表示法,将出现_________________有两种表示

(3)实际上计算机中是用补码表示数,其表示范围为:_________________

考查了数的原码,补码表示。

6.已知N*N个数据成方阵排列:

A11 A12 A13 ... A1n

A21 A22 A23 ... A2n

...

An1 An2 An3 ... Ann

已知Aij=Aji,

(1)将A11,A21,A22,A31,A32,A33... 存储到一维数组A(1),A(2),A(3)...A(K)

给出i,j 写出求K的表达式:_________________

(2)将A11,A12,...A1n,A22,A23,...A2n,A33... Ann存储到一维数组A(1),A(2),

A(3)...A(K), 给出i,j 写出求K的表达式:_________________

7.已知一个数列U1,U2,U3...Un...,往往可以找到一个最小的K值和K个数a1,a2,..,ak, 使得数列从某项开始都满足:U(n+k)=a1*U(n+k-1)+a2*U(n+k-2)+...+akUn (式A) 例如数列 1,1,2,3,5...可以发现:当K=2,a1=1,a2=1时,从第3项起(N>=1)满足: U(n+2)=U(n+1) + Un

试对数列1^3 ,2^3 ,3^3 ,...,N^3,...,求K和a1,a2,...ak,使得式A成立.

实质是考数学。

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

9.给出二叉树的前序遍历与后序遍历,能确定一棵二叉树吗,举例说明.

10.下面是一个利用完全二叉树特性,用顺序表来存储的一个二叉树,结点数据为字符型(结 点层次从小到大,同一层从左到右顺序存储,#表示空结点,@表示存储数据结束)

结点 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

数据 A B C # # D E # # # # # G F @

画出对应的二叉树:

考查了数据结构中的二叉树

^^^^^^^^ ^^^^^^

10.用邻接矩阵表示有向图(图略)

考查了数据结构中的图的表示

^^^^^^^^ ^^

11 根据Noachns定理,任何一个正整数n的立方一定可以表示成n个连续的奇数的和。

例如:

13=1

23=3+5

33=7+9+11

43=13+15+17+19

在这里,若将每一个式中的最小奇数称为X,那么当给出n之后,请写出X与n之间的关系表达式:___

其实是考代数

12 某班有50名学生,每位学生发一张调查卡,上写a,b,c三本书的书名,将读过的书打“*”,结果统计数字如下:

只读a者8人;只读b者4人;只读c者3人;全部读过的有2人;读过a,b两本书的有4人;读过a,c两本书的有2人;读过b,c两本书的有3人。

(1)读过a的人数是( )。

(2)一本书也没读过的人数是( )。

3)写运行结果

几乎是送分题,而且占的分数奇多,但得分率却不见得高。大家一定不要错过这个得分点啊! 一般做这类题目的核心是找程序目的,即这个程序想干什么。迄今为止考过的题目还没有“乱写”的,总有一点“写作目的”的。抓住了它,不仅得出答案变得很容易了,而且对自己的结果也会比较有信心。写程序运行结果大纲规定是必考的。试卷中给出的程序并不复杂,语句的含义容易明白,因此悟性好的选手总是很快就能体会到程序的设计思路并得出正确的答案,而机械模仿计算机硬算出结果的同学往往做的慢的多,而且容易失误。

1.(99年分区联赛)

Program excpl;

var

x,y,y1,jk,j1,g,e:Integer;

a:array[1..20] of 0..9;

begin x:=3465; y:=264; jk:=20;

for j1:=1 to 20 do a[j1]:=0;

while y<>0 do

begin

y1:=y mod 10;

y:=y div 10;

while y1<>0 do

begin

g:=x;

for e:=Jk downto 1 do

begin

g:=g+a[e];

a[e]:=g mod 10;

g:=g div 10

end;

y1:=y1-1

end;

jk:=jk-1

end;

j1:=1;

while a[j1]=0 do j1:=j1+1;

for Jk:=j1 to 20 do write(a[jk]:4);

writeln

end.

程序不长,但是有一定的难度。高手最多半分钟就看懂了程序的意思,但初学者往往算了很久得出了结果却是错的。下面我们还是先以一个初学者的身份分析一下这个程序。记住,不要一开始就模拟电脑来一个个语句“执行”

分析程序一般从以下几点入手:

1.变量

首先是变量的名字。可惜分区联赛题目中的变量不是I就是J,很讨厌。I和J一般作为循环计数器,没有什么意思,因此不要管它了。然后要看变量在程序的哪里出现过,着重看它与其他变量的相互引用关系,猜测它的作用。

例如上题。 x:只在g:=x中出现,暂时不要管它,因为它很可能只是一个初始数据。 y:有三处:

1) while y<>0 do

2) y1:=y mod 10;

3) y:=y div 10;

很明显,y每次少了最后一位数字,把这位数字给了y1。有经验的选手应该体会到了什么,不过我们继续。

现在我们知道了:y对程序的作用是:每次提供最后一位给y1,即y1每次的值依次是:4,6,2 y1:

1)while y1<>0 do

2)y1=y1-1

很明显就是一个循环嘛!循环y1次!写得那么肉麻...

jk:

1)for e:=jk downto 1 do

2)jk:=jk-1

jk作为循环初始值,居然一次比一次少...其原因有待进一步分析。

j1:

1)for j1:=1 to 20 do a[j1]:=0;

2)j1:=1;

3)while a[j1]=0 do j1:=j1+1;

4)for Jk:=j1 to 20 do write(a[jk]:4);

显然,j1和其它变量没有什么联系。1)是初始化,2)3)4)是输出数组a

g:

出现的位置是几层循环之内了,应该很重要!一会儿再分析!

e:作为循环变量,没有什么意思。

通过变量分析,我们知道了:

x,y是数据,y每次提供最后一位给y1,循环y1次。j1和g的作用有待分析。

2.程序结构

我们把程序分成几块。

1)

x:=3465; y:=264; jk:=20;

for j1:=1 to 20 do a[j1]:=0;

初始化。不要管它。

2)while y<>0 do

begin

y1:=y mod 10;

y:=y div 10;

while y1<>0 do

begin

<< g:=x;

for e:=Jk downto 1 do

begin

g:=g+a[e];

a[e]:=g mod 10;

g:=g div 10

end;

>>

y1:=y1-1

end;

jk:=jk-1

end;

3)

j1:=1;

while a[j1]=0 do j1:=j1+1;

for Jk:=j1 to 20 do write(a[jk]:4);

writeln

输出结果,也不要管它。

块2最重要。

它的思想是:

每次取Y的最第位y1,执行<<>>y1次,每次把jk减一。

现在最重要的是<<>>中的在干什么。

^^^^^^

注意到最后输出的a[],要留意a[]的变化!

a[e]总是取个位(g mod 10),g每次少一位,和a[e-1](别忘了e在循环!)相加...

难道是...高精度加法???

RIGHT。

它执行了y1次,y1每次都是y的个位... 程序就是在做x*y

所以答案就是 3465*264=914760

再看它的输出格式,输出的应该是:___9___1___4___7___6___0

其实有经验的话,看到g这个变量名和g:=g+a[e]; a[e]:=g mod 10;这几个标志句子。就可以一下子知道程序的用意了。

只有6行,你可以模拟电脑“执行”几个语句在找规律。

方法是:把循环“展开”,再写一个变量值表

即: 语句 执行后变量情况:

g:=x; g:=g+a[e]; g=x+a[e];

a[e]:=g mod 10; a[e]:=x+a[e]的个位

g:=g div 10; g=(x+a[e])的前几位

g:=g+a[e-1]; g=(x+a[e])的前几位+a[e-1];

a[e-1]:=g mod 10; a[e-1]=a[e-1]+(x+a[e])的进位

....

4)完善程序

这部分题目得分率似乎不高。没关系,尽量做吧。把一些简单的填好就行了。

建议大家把以前的初赛题目都做做。

常常让大家填的是:

1)初始化(i:=0; j:=0; for i:=1 to n do a[i]:=0之类的)

2)一些明显的动作:

a.结果没有储存在需要的地方。

b.累加器没有做加法

c.输出

3)关键动作。在算法描述中出现的比较关键的步骤。例如交换排序程序的“交换”操作等很明显需要完成的操作。

分析方法和写运行结果类似,注意分析变量和程序结构,理解变量和模块的作用是解题的关键。


参加noip要买什么书?我是想以后想参加noip麻烦你给我点建议,或者我该去...
不知你学什么语言,如果是PASCAL语言,你可以去看舒春平的《FREE PASCAL基础算法》,非常好!你可以看看

初中生参加NOIP要怎么复习?
NOIP(全国青少年信息学奥林匹克竞赛)是全国性的计算机科学比赛,对于初中生来说,复习可以参考以下步骤:1.学习基础知识:首先,你需要掌握一些基础的计算机科学知识,包括编程语言(如C++或Java)、数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、递归、动态规划等)。2.刷题:刷...

周岁20到21的同学能参加NOIP吗?
是高中生都可以的,最好是你们学校有信息组,就可以统一报名了

信奥赛是什么?含金量有多少?
要想通过信息学奥赛敲开名校大门,就需要参加NOIP全国信息学奥林匹克联赛,但事先需要科技特长生先参加CSP考试,在CSP-S(提高组)中取得优秀成绩才能参加NOIP。参加NOIP提高获得一等奖中成绩的突出者,会被选中参加全国信息学奥林匹克竞赛(NOI),也叫信息学“国赛”。“国赛”二等奖以上就能通过“强基...

noip怎么划分等级的..
noip分为普及组和提高组两个层次,前者相对简单得多。比赛过程分为初赛和复赛,一般来说,初赛只考笔试,偏重计算机基础只是,复赛考上机,主要考察编程解决问题的能力。 若自身实力比较强,经过选拔,可参加noi。 具体可参见www.noi.cn

NOI 和 NOIP 区别?如何报名?
先出结论:高二的话就忘掉NOI吧,跟你无关。 NOIP你还有机会 是这样的,通俗的讲,NOIP是低级比赛,NOI是高级比赛 每年10月-11月都会举行NOIP,难度较低,如果获得省一等的话就可以去参加省选。如果省选名次较高(我们省有6个名额),就可以进入省队(相当于获得NOI的入场券)。次年7月会有NOI竞赛...

NOI如何报名。
参加前一年的noip,得到一等奖然后参加省选,在头一年的11月份参加NOIP(省级联赛),考到高一、高二的省一等奖前4名进入省代表队,然后第二年八月就可以参加NOI了。如果你的省需要省选那就还要再得省一之后再考一次才能进省队。NOIP在同一时间、不同地点以各省市为单位由特派员组织。全国统一大纲、统一...

参加NOIP(全国青少年信息学奥林匹克联赛)应该看什么书,学习什么计算机...
《中小学生编程信息学奥赛NOIP入门课程》百度网盘资源免费下载 链接:https:\/\/pan.baidu.com\/s\/1yeeV3Hh8n_mC0w0C3CgAxg 提取码:s9ih中小学生编程信息学奥赛NOIP入门课程|中小学生编程信息学奥赛入门课程(0基础).doc|中小学编程信息学0基础班习题课一.mp4|中小学编程信息学0基础班习题课二.mp4|9....

noip竞赛是什么意思
NOIP竞赛的意思是全国青少年信息学奥林匹克联赛。全国青少年信息学奥林匹克联赛自1995年至2020年已举办25次,每年由中国计算机学会统一组织。NOIP在同一时间、不同地点以各省市为单位由特派员组织。全国统一大纲、统一试卷,初、高中或其他中等专业学校的学生可报名参加联赛。联赛分初赛和复赛两个阶段,初赛...

信息学奥林匹克竞赛怎么报名
参加前一年的noip,得到一等奖然后参加省选,在头一年的11月份参加NOIP(省级联赛),考到高一、高二的省一等奖前4名进入省代表队,然后第二年八月就可以参加NOI了。如果你的省需要省选那就还要再得省一之后再考一次才能进省队。NOIP在同一时间、不同地点以各省市为单位由特派员组织。全国统一大纲、统一...

富裕县17820297396: 高中生参加noip需要掌握什么知识 -
德洋富马: 我说的是复赛,初赛就是计算机的一些基本知识,和阅读程序,完成程序之类的,有关系的找找人什么的都能参加复赛. 复赛就是考编程的算法,要求上机实现,主要用pascal&c&c++,我是用pascal的选手. 按照题目来给你划分吧. 第一题,...

富裕县17820297396: 参加noip竞赛主要要学些什么?
德洋富马: 全国青少年信息学(计算机)奥林匹克分区联赛竞赛大纲一、初赛内容与要求:(#表示普及组不涉及,以下同)nbsp;计nbsp;基算nbsp;本机nbsp;常的nbsp;识nbsp;*nbsp;诞生与发展nbsp;nbsp;nbsp;nbsp;nbsp;*特点nbsp;nbsp;nbsp...

富裕县17820297396: noip大赛要懂得哪些知识
德洋富马: 初赛:一些计算机的基础知识,看代码写答案,补充程序 复赛:4道题上机编程 C语言或者pascal任选一种 涉及的知识 字符串、模拟、贪心、简单搜索(深搜、广搜)、图论、一些离散数学的知识、动态规划 如果noip拿了1= 建议lz去学一些更多的知识 冲一冲省选参加noi

富裕县17820297396: noip需要准备哪些方面的基础知识.复赛需要做哪些类型的题目(提高组)? -
德洋富马:[答案] Noip算法(小超) 以下用n表示图的点数,m表示边数,k表示一个常数,log均以2为底数,存储边都采用边表. 【模拟】 高精度加、减、乘,除应该不需要 表达式求值(中缀转后缀,栈的操作) 【图论】 图的表示:邻接矩阵,邻接表,边表 单源最...

富裕县17820297396: 参加noip需要哪些知识 -
德洋富马: 初赛考的知识点,大纲如是说:计算机基本常识/基本操作和程序设计基本知识.选择题考查的是知识,而填空/问题解决题更加重视能力的考查.一般说来,选择题是不需要单独准备的 -- 也无从准备.只要多用心积累就可以了.到是问题解决题...

富裕县17820297396: 参加NOIP初赛(普及组)要有那些知识准备? -
德洋富马: 初赛考的知识点就是计算机基本常识、基本操作和程序设计基础知识.其中选择题考查的是知识,而问题解决类型的题目更加重视能力的考查.一般说来,选择题只要多用心积累就可以了.问题解决题目的模式比较固定,大家应当做做以前的题...

富裕县17820297396: 参加NOIP普及组需要哪些知识储备 -
德洋富马: 就算法而言最重要的就是模拟,模拟搞好了一等奖没问题.要想拿高一点的分可以在学习一下简单的动态规划和搜索; 至于数据结构,不用懂太多,但可以学习一下C++(如果你用C++的话)STL里map、vector、stack、queue、set的基本用法和操作; 对于语言而言,顺序、条件、循环结构就不说了,还要会递归、自定义函数,掌握基本的STL函数比如sort之类的; 数学基础初中水平就够了.

富裕县17820297396: noip竞赛都需要学什么 -
德洋富马: 我也是高一开始学的,目前NOI银牌保送.同省有人高二开始学习,NOI铜牌在保送生考试中获得保送资格.所以,并不晚.推荐去上 www.oibh.org 这个论坛,至于书籍的话现在市面上很少,你可以都买下来,但是只能作为参考.另外买一本《算法导论》,这本书对于无论OI还是计算机科学的学习都很有帮助.

富裕县17820297396: 我是中学生,想参加NOIP,要学习那些知识 -
德洋富马: 不是只有高中才能参加noi,如果你初中生胜过高中生也能参加noi.今年noi就有初中生参加,并且成绩优异.noi的话么,有高校保送资格丫~ 语言是这样的,你选择一个.c,c++或者pascal.初学者学pascal比较好懂吧~ 《奥赛经典》,从语言...

富裕县17820297396: C语言 参加 NOIP 要学哪些算法 -
德洋富马: 1、排序算法(快排、选择、#冒泡、堆排序、*二叉排序树、桶排序) 2、DFS/BFS 也就是搜索算法,剪枝务必要学! 学宽搜的时候再复习一下哈希表 3、树 ①遍历 ②二叉树 ③二叉排序树(查找、生成、删除) ④堆(二叉堆、堆排序) ⑤*...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网