程序阅读 - 龙岗教育信息网

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

程序阅读程序阅读题的特点•不会告诉你程序的功能•按要求直接写出程序的运行结果。运行结果通过write或writeln语句输出。•多数情况下需要选手揣摩题目中包括的算法,而有些算法在教科书中找不到.程序阅读题的两种分析法•模拟法:手工模拟程序的运行,当程序不太复杂时,它是一种有效的方法,理论上可以得出任何程序的运行结果。具体分析时,必须跟踪程序运行时各变量的变化。•“有意义”分析法:找到某一程序段所实现的功能,简化分析。这是一种高效的方法,但不容易找到规律。举几个例子说明programPrograml;vara,x,y,okl,ok2:integer;begina:=100:x:=l0;y:=20;okl:=5:ok2:=0;if((xy)or((y20)and(okl=0))and(ok20))thena:=1elseif((okl0)and(ok2=0))thena:=-1elsea:=0;writeln(a);end.输出:Answer-1vara,b:integer;beginread(a);b:=(a*(a*a))+1;ifbmod3=0thenb:=bdiv3;ifbmod5=0thenb:=bdiv5;ifbmod7=0thenb:=bdiv7;ifbmod9=0thenb:=bdiv9;ifbmod11=0thenb:=bdiv11;ifbmod13=0thenb:=bdiv13;ifbmod15=0thenb:=bdiv15;writeln((100*a-b)div2);end.输入:10输出:Answer499programProgram2;vara,t:string;i,j:integer;begina:=‘morning’;j:=1;fori:=2to7doif(a[j]a[i])thenj:=i;j:=j-1;fori:=1tojdowrite(a[i]);end.输出:AnswermoProgramex301;varu:array[0..3]ofinteger;i,a,b,x,y:integer;beginy:=10;fori:=0to3doread(u[i]);a:=(u[0]+u[1]+u[2]+u[3])div7;b:=u[0]div((u[1]-u[2])divu[3]);x:=(u[0]+a+2)-u[(u[3]+3)mod4];if(x10)theny:=y+(b*100-u[3])div(u[u[0]mod3]*5)elsey:=y+20+(b*100-u[3])div(u[u[0]mod3]*5);writeln(x,',',y);end.{*注:本例中,给定的输入数据可以避免分母为0或下标越界。}输入:9394输出:_______________Answer10,10Programex303;constNN=7;typeArr1=array[0..30]ofchar;vars:arr1;k,p:integer;functionfun(s:arr1;a:char;n:integer):integer;varj:integer;beginj:=n;while(as[j])and(j0)dodec(j);fun:=j;end;beginfork:=1toNNdos[k]:=chr(ord('A')+2*k+1);k:=fun(s,'M',NN);writeln(k);end.输出:_____________Answer5Programex302;constm:array[0..4]ofinteger=(2,3,5,7,13);vari,j:integer;t:longint;beginfori:=0to4dobegint:=1;forj:=1tom[i]-1dot:=t*2;t:=(t*2-1)*t;write(t,'');end;writeln;end.输出:____________________Answer628496812833550336prgoramchu7_4;varn,k,i:integer;a:array[1..40]ofinteger;procedurefind(x:integer);vars,i1,j1:integer;p:boolean;begini1:=0;p:=true;whilepdobegini1:=i1+1;s:=0;forj1:=1tondoifa[j1]a[i1]thens:=s+1;if(s=x-1)thenbeginwriteln(a[i1]);p:=falseend;endend;beginreadln(n,k);fori:=1tondoread(a[i]);find(k);find(n-k);end.输入:1041234565678779012013输出:Answer6734programex304;varx,x2:longint;proceduredigit(n,m:longint);varn2:integer;beginif(m0)thenbeginn2:=nmod10;write(n2:2);if(m1)thendigit(ndiv10,mdiv10);n2:=nmod10;write(n2:2);end;end;beginwriteln('Inputanumber:');readln(x);x2:=1;While(x2x)dox2:=x2*10;x2:=x2div10;digit(x,x2);writeln;end.输入:9734526Answer62543799734526(数字之间无空格扣2分)

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功