noip初赛阅读程序的解题技巧

noip初赛阅读程序的解题技巧

ID:21662420

大小:532.50 KB

页数:21页

时间:2018-10-20

noip初赛阅读程序的解题技巧_第1页
noip初赛阅读程序的解题技巧_第2页
noip初赛阅读程序的解题技巧_第3页
noip初赛阅读程序的解题技巧_第4页
noip初赛阅读程序的解题技巧_第5页
资源描述:

《noip初赛阅读程序的解题技巧》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、阅读程序题是历年noip初赛的重头戏,比重之大(32%),丢分之险(错一题是8分),能否快而准确的完成好阅读程序题将成为通过初赛进入复赛的关键。在阅读程序时,由于疏忽或考虑不周可能对程序的理解出现各式各样的偏差,导致错误的计算结果。正确的阅读方法和分析技巧不仅可以较好保证运算结果的准确性,而且能大大缩短理解程序愿意的时间。一般的解题步骤如下:1、从整体上通读程序,大致把握程序的目的和算法;2、猜测变量的作用,跟踪主要变量值的变化,找出规律;3、将程序分段,理清每一小段的作用和目的(灵感+关键表达式+语句的领会);4、看清输入,按

2、照输出的格式,写出结果;5、带着得到的结果回到程序进行检查;一、基础题此类题在近几年频频出现,属于送分题。主要考察选手的程序设计基础知识和计算能力,只要细心一些,计算不出错,就能轻松的解决问题。program1;vara,b,c,d,sum:longint;beginread(a,b,c,d);a:=amod23;b:=bmod28;c:=cmod33;sum:=a*5544+b*14421+c*1228-d;sum:=sum+21252;sum:=summod21252;if(sum=0)thensum:=21252;writ

3、eln(sum);end.输入:28310223320输出:运算过程如下:变量行号abcdsum428310223320无571823320无67182332032769077182332034894287182332089109718233208910program2;constu:array[1..4]ofinteger=(0,5,3,1);v:array[1..4]0finteger=(0,7,6,5);vara,b,c,d,e,f,x,y,z:integer;beginread(a,b,c,d,e,f);z:=f+e+d

4、+(c+3)div4;y:=5*d+u[cmod4];if(b>y)thenbeginz:=z+(b-y+8)div9;x:=((b-y+8)div9*9-(b-y))*4+11*e+V[cmod4];endelsex:=(y-b)*4+11*e+v[cmod4];if(a>x)thenz:=z+(a-x+35)div36;writeln(z);end.输入;479205647输出:运算过程如下所示:变量行号abcdefxyz7479205647无无无8479205647无无1269479205647无1001261647920

5、5647988100126二、找规律题对于一些语句少、结果简单、可读性强但运算巨大的程序,不妨通过分析程序的流程,初步的模拟程序,直接寻找其间蕴含的规律。PROGRAM3;VARX,Y1,Y2,Y3:INTEGER;BEGINREADLN(X);Y1:=0;Y2:=1;Y3:=1;WHILEY2<=XDOBEGINY1:=Y1+1;Y3:=Y3+2;Y2:=Y2+Y3END;WRITELN(Y1);END.输入:23420  输出:本题计算的是y2超过x时y1的值。因为输入的x比较大,计算量大,不可能通过完全模拟得出结果,但我们

6、可以模拟前几步试图找出其中的规律。y1y2y30111432953167………从上表不难看出,y2=(y1+1)^2,y2超过x可写成(y1+1)^2超过x,即求解:(y1+1)^2>23420中y1的最小值,解之y1为153.program4;varn,k,s:longint;beginn:=1000000000;k:=0;s:=1;whiles<=ndobegink:=k+1;n:=n-s;s:=s+6*k;end;writeln(k);end.输出:推导如下表kns01000000000111000000000-1(100

7、0000000-1^3)7(2^3-1^3)21000000000-8(1000000000-2^3)19(3^3-2^3)31000000000-27(100000000-3^3)37(4^3-3^3)………从上表我们不难推出:n=1000000000-k^3s=(k+1)^3-k^3程序要输出循环结束条件s>n时k值,即求(k+1)^3-k^3>1000000000-k^3中k的最小值,解之k为1000;三、算法题考查选手对一些常用的算法的熟练掌握情况,历年关于素数的判定、排序、高精度、进制转换、几何算法的题比较多。Prog

8、ram5;Vard1,d2,X,Min:real;beginMin:=10000;X:=3;whileX<15dobegind1:=sqrt(9+(X-3)*(X-3));d2:=sqrt(36+(15-X)*(15-X));if(d1+d2)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。