1、NOIP 初赛模拟试题 by OI Store (提高组 Pascal 语言 二小时完成) 一、单项选择题(共 10 题,每题 1.5 分,共计 15 分。每题有且仅有一个正确答案。) 1. 建立了计算机最主要的结构原理的人是( )。A. 图灵 B. 比尔盖茨 C. 冯诺伊曼 D. 克拉拉丹 E. 哥德尔 2. 设 a、b、c 是三个布尔型(boolean)的变量,则表达式(ab)(bc)(ca)(aa)(b b)的值( )。A. 始终为 trueB. 始终为 falseC. 当且仅当 c 为 true 时为 falseD. 当且仅当 a 与 b 均为 true 时为 trueE. 依赖于 a
2、、b、c 三者的值 3. 设 a、b 为两个浮点(float)型变量,下面的表达式中最有可能为真的是( )。A. a=bB. a*a+2*a*b+b*b=(a+b)*(a+b)C. (a+b)*(a-b)+b*b-a*a3*S(3)+2*S(2)-1C. S(0)! then get;write(.,c,.);end;beginget;end. 输入:Hello, World!输出:25.程序:program ex3;vara:real;b,i:integer;function f(var d:real):real;beginf:=1.0/(1-d);end;beginread(a,b);fo
3、r i:=b downto 1 doa:=f(a);write(a:2:1);end.输入: 0.5 1000输出:26.程序:program ex4;vars:array099of integer;ii,i,j,n,swap:integer;r:boolean;procedure swp(i:integer; j:integer);var tmp:integer;begintmp:=si;si:=sj;sj:=tmp;end; procedure rev(i:integer; j:integer);beginwhile ib) then g:=gcd(a,b)else ;a:=a div g
4、;b:=b div g;a:=a mod b;work(a,b);end.28.题目描述:在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过 n-1 次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为 1,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小
5、的体力耗费值。例如有 3 种果子,数目依次为 1,2,9。可以先将 1、2 堆合并,新堆数目为 3,耗费体力为 3。接着,将新堆与原先的第三堆合并,又得到新的堆,数目为 12,耗费体力为 12。所以多多总共耗费体力=3+12=15。可以证明 15为最小的体力耗费值。输入:输入包括两行,第一行是一个整数 n(1s1hi then min1:=s1s1low;if s2low=hi then elsex:=s1(low+hi)div 2;swap(low,);l:=low;r:=hi;while l=x) do dec(r);s1l:=s1r;while (lr)and(s1l=x) do inc(l);s1r:=s1l;end;sort(low,l-1);sort(r+1,hi);end;beginread(s1hi);for i:=0 to s1hi-1 doread(s1i);sort(0,);s:=0;for i:=s1hi-1 downto 1 dobegins2s2hi:=peeksmall+;s:=s+s2s2hi;inc(s2hi);end;write(s);end.