已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
NOIP初赛练习之三(阅读程序写出程序运行结果)前言: 如何做阅读程序题阅读程序题是得分的关键,因为不是让你上机去运行程序,所以要一步步地读程序,记录相关变量的值,最好以画表的形式来记录相关变量值的变化情况。因为程序的运行结果只有输出语句才有输出,所以只写出输出语句的结果。有时要找出规律才能写出结果,特别是循环次数多的情况,另外要注意边界值,不能多算一步也不能少算一步。这几年的初赛题一般是四道阅读程序题,每道题8分总分为32,因此阅读程序题最能拉开分差。1.1996年 初中组基础题 第4题写出程序运行后变量X的值x1:=3;x2:=8;for i:=1 to 5 do begin x:=(x1+x2)*2; x1:=x2;x2:=x; end;writeln(x=,x);2.1996年 初中组第5题 高中组第3题写出程序段运行后数组元素a1,a2.,a11的值a1:=1;a2:=1;k:=1;repeat ak+2:=1; for i:=k downto 2 do ai:=ai+ai-1; k:=k+1;until k=10;3.1998年 写程序运行结果 初中组第1题 高中组第1题program exp1(input,output);var i,s,nax:integer; a:array1.10 of integer;begin for i:=1 to 10 do read(ai); max:=a1;s:=a1; for i:=2 to 10 do begin if smax then max:=s; end; writeln(max=,max);end.初中 输入:-2 13 -1 4 7 8 -1 -18 24 6 输出:max= 高中 输入:8 9 -1 24 6 5 11 15 -28 9 输出:max= 4.1998年 初中组写程序运行结果 第2题program exp2(input,output;const n=5;var i,j,k:integer; a:array1.2*n,1.2*n of integer;begin k:=1; for i:=1 to 2*n-1 do if i0 then begin write(i:4);s:=s+1; end;writeln;writeln(s=,s);writeln(input data:);readln(x);writeln(gx);end. 输入: 10 20 65 input data: 10输出: 7.1998年 高中组第3题program exp3(input,output);var i,j:integer; b:array0.5 of integer;begin s:=1; for i:=1 to 5 fo bi:=i; j:=1; while j0 do begin j:=5; while (j0) and (bj=10+j-5) do j:=j-1; if j0 then begin s:=s+1;bj:=bj+1; for i:=j+1 to 5 do bi:=bj+i-j end; end; writeln(s=,s);end.8 1998年高中组第4题program exp4(input, output); const n=4; type se=array1.n*2 of char; var i,j,i1,j1,k,s,t,s1,l,swap:integer; temp:char; a:se; begin for i:=1 to n*2 do read(ai);readln; s:=0;t:=0; for i:=1 to n*2 do if ai=1 then s:=s+1 else if ai=0 then t=t+1; if sn or tn then writeln(error) else begin s1:=0; for i:=1 to 2*n-1 do if aiai+1 then s1:=s1+1; writeln(jamp=,s1); swap:=0; for i:=1 to 2*n-1 do for j:=i+1 to 2*n do if aiaj then begin temp:=ai;ai:=aj;aj:=temp; s:=0; for l:=1 to 2*n-1 do if alal+1 then s:=s+1; if sswap then begin swap:=s;i1=i;j1:=j end; temp:=ai;ai:=aj:aj:=temp; end; if swap0 then writeln(maxswap=,swap-s1,i=,i1,j1=,j1); end end.输入:101011009. 1999年初中组第1题program exp1;var x,y,y1,jk,j1,gme:integer; a:array 1.20 of 0.9;begin x:=3465;y:=264;jk:=20; for j1:=1 to 20 do aj1:=0; while y0 do begin y1:=y mod 10; y:=y div 10; while y10 do begin g:=x; for e:=jk downto 1 do begin g:=g+ae; ae:=g mod 10; g:=g div 10; end; y1:=y1-1; end; jk:=jk-1; end; j1=1; while aj1=0 do j1:=j1+1; for jk:=j1 to 20 do write(ajk:4); writelnend.10.1999年初中组第2题program excp1;var i,j:integer; a:array1.14 of integer;procedure sw(i1,j1:integer); var k1:integer; begin for k1:=1 to (j1-i1+1) div 2 do begin ai1+k1-1:=ai1+k1-1+aj1-k1+1; aj1-k1+1:=ai1+k1-1-aj1-k1+1; ai1+k1-1:=ai1+k1-1-aj1-k1+1; end; end;begin j:=211; for i:=1 to 14 do begin ai:=i;j:=j-i; end; sw(1,4);sw(5,10);sw(11,14);sw(1,14); for i:=1 to 14 do begin if j mod i=1 then write(ai:3); j:=j-ai; end; writelnend.11. 1999年高中组第2题设数组a1,a2,aN,已存放了数据,调用不同的排序程序,则数据比较的次数会不同。试计算分别调用下列不同的排序过程的比较运算的次数。其中swap(i,j)表示ai与aj交换。(1) procedure sort1(n:integer); var i,j:integer; begin for i:=1 to n-1 do for j:=1 to n do if aiaj then swap(i,j); end;调用该过程的语句为sort1(n),比较运算的次数为:_(2) procedure sort2(i,n:integer); var j:integer; begin if i=n then write(an) else for j:=i+1 to n do if ajai then swap(i,j); write(ai); sort(i+1,n); end;调用该过程的语句为sort2(0,n),比较运算的次数为:_(3) procedure sort3(i,j:integer); var m:integer; begin if ij then begin m:=(i+j) div 2; sort3(i,m); sort3(m+1,j); merge;假设合并的元素分别为P、Q个,需要比较P+Q次 end; end;调用该过程的语句为sort3(0,n),比较运算的次数为:_12. 2000年初中组第1题program noi_002; var i,j,m,n,k,s,t:integer; b:array1.10 of 0.9; begin readln(m,n); s:=m;k:=1;t:=m; while s0 do begin j:=j-1;bj:=n mod m; n:=n div m; end; for i:=10-k+1 to 10 do write(chr(ord(a)+bi);end;输入: 4 167 输出:13、2000年初中组第2题program noi_004;var i,j,j1,j2,p,q:integer; p1:boolean; b,c:array1.100 of integer;begin readln(p,q); j:=1;p1:=true;bj:=q;j1:=0; while (q0) and p1 do begin j1:=j1+1; cj1:=q*10 div p; q:=q*10-cj1*p; if q0 then begin j2:=1; while (bj2q) and (j2disp(i,j,x2,y2) and (gi,j=0) then begin d:=disp(i,j,x2,y2); x0:=i;y0:=j; end; if (x0x1) or (y0y1) then begin x1:=x0;y1:=y0;P:=true;gx1,y1:=1; end; d:=disp(x1,y1,x2,y2);x0:=x2;y0:=y2; for i:=0 to 3 do for j:=0 to m do if (ddisp(x1,y1,i,j) and (gi,j=0) then begin d:=disp(x1,y1,i,j) x0:=i;y0:=j; end; if (x0x2) or (y0y2) then begin x2:=x0;y2:=y0;p:=true;gx2,y2:=1; end; end; writeln(x1,y1,x2,y2);end.输入:7 6 0 0 输出:15、2003 高中组第一题program Program1;var a,b,c,d,sum : longint;begin read(a,b,c,d); a := a mod 23; b := b mod 28; c := c mod 33;sum := a * 5544 + b * 14421 + c * 1228 - d; sum := sum + 21252; sum := sum mod 21252; if (sum = 0 ) then sum := 21252; writeln(sum); end.输入:283 102 23 320 输出_16、2003 高中组第二题program Program2;const u : array1.4 of integer = (0,5,3,1); v : array1.4 of integer = (0,7,6,5);var a,b,c,d,e,f,x,y,z: integer;begin read(a,b,c,d,e,f); z := f+ e + d + (c+3) div 4; y := 5 * d + uc mod 4; if (b y) then begin z := z + (b - y + 8) div 9; x := (b - y + 8) div 9 * 9 -(b - y) * 4 + 11 * e + vc mod 4; end else x := (y - b) * 4 + 11 * e + vc mod 4; if (a x) then z := z + (a - x + 35) div 36; writeln(z) end.输入: 4 7 9 20 56 47 输出_17.2003高中组第三题program program3;var m,n:integer;mark:boolean;function test(m,n:integer):integer;var i,p:integer;flag:boolean;begin m:=m-1;i:=0;flag:=false; for p:=2*n downto n+1 do begin i:=(i+m) mod p; if i0 then am:=pi-pi-1 else am:=pi; m:=m+1; while (m1) and (am-1=0) do begin m:=m-1;bm:=1;end; if m0 then wi:=bm-1 else wi:=b0; am-1:=am-1-1; for j:=0 to m-1 do bj:=bj+1; while (m1) and (am-1=0) do begin m:=m-1;bm:=1;end; end; for i:=0 to n-1 do begin write(wi);write( ); end; writeln( );end.输入:9 4 6 6 6 6 8 9 9 9 9 输出:_ 19、2003初中组第一题var a,x,y,ok1,ok2:integer;begin a:=100; x:=10;y:=20;ok1:=5;ok2:=0; if (xy) or (y20) and (ok1=0) and (ok20) then a:=1 else if (ok10) and (ok2=0) then a:=-1 else a:=0; writeln(a);end.20、2003初中组第三题var a,b,c,d,sum:longint;begin read(a,b,c,d); a:=a mod 23; b:=b mod 28; c:=c mod 33; sum:=a*5544+b*14421+c*1288-d; sum:=sum+21252; sum:=sum mod 21252; if sum=0 then sum:=21252; writeln(sum);end.输入: 3 9 8 6 输出:_21、2003 初中组第四题var a:array 0.5 of integer; sum,n,max,i,j,k:integer; cover:array0.22000 of boolean;begin read(a5,a4,a3,a2,a1,a0); if (a5=0) and (a3=0) and (a1=0) then begin a5:=a4;a4:=a2;a3:=a0;a2:=0;a0:=0; end; for i:=0 to 5 do if ai10 then ai:=10+ai mod 2; sum:=0; for i:=0 to 5 do sum:=sum+ai*(6-i); if sum mod 20 then begin writeln(Cant be divided.);exit;end; sum:=sum div 2; max:=0; cover0:=true; for i:=1 to sum*2 do coveri:=false; for i:=0 to 5 do begin j:=0; while (jai) do
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老家修房子合同
- 2025年仓储管理专业人员资格认证考试冲刺押题试卷
- 省呗贷款合同
- 包租公司签合同
- 厂房承包合同
- 弱电工程 合同
- 出售飞机合同
- 2026年天府新区信息职业学院单招职业技能考试题库及答案1套
- 2026年山东外事职业大学单招职业适应性测试题库及答案1套
- 2026年合肥科技职业学院单招职业倾向性考试题库必考题
- 釜类设备安装检验记录
- 桩基工程计量与计价-预制桩(建筑工程计量与计价)
- 思想政治教育学科发展历程与现状
- 《视听语言》习题模版
- 初中英语试卷考试双向细目表
- 绿色工厂自评价报告及第三方评价报告
- 《材料分析测试技术》全套教学课件
- 2021一级消防工程师继续教育考试石油化工类答案
- 安全学原理第2版-ppt课件(完整版)
- 心理普查回访记录表(辅导员用)
- 激光角膜屈光手术临床诊疗专家共识(完整版)
评论
0/150
提交评论