面向对象程序设计和自顶向下设计 的问题 NOIP初赛

面向对象程序设计和自顶向下设计 的问题 NOIP初赛,第1张

呵呵,下午就考初赛了,希望你看到回复。

程序设计的方法包括:结构化设计和面向对象设计方法。

不能说与面向对象相反的是什么,只能说结构化是不同于面向对象的设计方法,C和pascal都是结构化的设计方法。C++是面向对象设计方法。

在结构化程序设计中采用的是自定向下、逐步求精的方法。可以说,是大问题化成小问题,逐个求解。

对象的概念要首先理解类的概念,对象是类的一个实例。例如,汽车是一个类,一辆红旗轿车是一个对象。

祝初赛顺利!

相信我吧,答案是B的,这是我们复习资料里的一段话:(看最后一句)

静态随机存储器( SARM)集成度低,价格高。但存取速度快,它常用作高速缓冲存储器( Cache)。

Cache是指工作速度比一般内存快得多的存储器,它的速度基本上与 CPU速度相匹配,它的位置在 CPU与内存之间 (如图 2所示)。在通常情况下, Cache中保存着内存中部分数据映像。 CPU在读写数据时,首先访问 Cache。如果 Cache含有所需的数据,就不需要访问内存;如果 Cache中不含有所需的数据,才去访问内存。设置 Cache的目的,就是为了提高机器运行速度。

NOIP2010初赛模拟试题(六)

( 普及 Pascal语言 二小时完成 )

● ● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●

一. 单项选择题 (共20题,每题15分,共计30分。每题有且仅有一个正确答案。)

1、在所有由两个1和六个0组成的8位二进制整数(补码)中,最小的数是:( A )

A.-127 B.-64 C.-128 D.-65

2、在一棵二叉树结点的先根序列、中根序列和后根序列中,所有叶子结点的先后顺序( )

A.都不相同 B.完全相同

C.先序和中序相同,而与后序不同 D.中序和后序相同,而与先序不同

3、下面有效的IP地址是:(B )

A.20228013045 B.1301923345

C.19225613045 D.28019233456

4、一台具有1024768分辨率、可显示65 536种颜色的显示器,其显示适配器(显示卡)上显示存储器容量的配置为:( )

A.512K B.1MB C.大于16MB,小于2MB D.2MB

5、进行二分法查找,则线性表( )

A.必须顺序方式存储

B.必须以链接方式存储,且数据元素已按值排好序

C.必须以链接方式存储

D.必须以顺序方式存储,且数据元素已按值排好序

6、机器语言是用( )编写的。

A.二进制码 B.ASCII码 C.十六进制码 D.国标码

7、一棵含有101个结点的完全二叉树存储在数组A[1101]中,对1≤k≤101,若 A[k]是叶子结点,则k的最小值是:( )

A.51 B.50 C.49 D.48

8、不同的计算机,其指令系统也不相同,这主要取决于 ( )

A 所用的 *** 作系统 B 系统的总体结构

C 所用的 CPU D 所用的程序设计语言

9、计算机主机是由CPU 与( )构成的。

A.控制器 B。输入、输出设备 C.运算器 D.内存储器

10、计算机系统总线上传送的信号有( )。

A.地址信号与控制信号 B.数据信号、控制信号与地址信号

C.控制信号与数据信号 D.数据信号与地址信号

11、计算机的运算速度取决于给定的时间内,它的处理器所能处理的数据量。处理器一次能处理的数据量叫字长。已知64位的奔腾处理器一次能处理64个信息位,相当于( )字节。

A.8个 B.1 个 C.16个 D.2个

12、某数列有1000个各不相同的单元,由低至高按序排列;现要对该数列进行二分法检索(binary search),在最坏的情况下,需检视( )个单元。

A.1000 B.10 C.100 D.500

13、字符串’aABaa’的最长回文字串是( )

A.aAaa B.aabaa C.aa D.B

14、在一棵具有n个结点的二叉树的第i层上,最多具有 ( )个结点

(A)2i (B)2^(i+1) (C)2^(i-1) (D)2^n

15、在一棵完全二叉树中,若编号为i的结点存在左儿子,则左儿子的编号是( )

(A)2i (B)2i-1 (C)2i+1 (D)2i+2

16、链表不具有的特点是( )

A) 可随机访问任一元素 B)插入删除不需要移动元素

C)不必事先估计存储空间 D)所需空间与线性表长度成正比

17、在以下各项中,( )不是 *** 作系统软件。

A Solaris B Linux C Sybase D Windows Vista E Symbian

18、微型计算机中,ALU的基本功能是( )。

A 控制机器各个部件协调工作 B 实现算术运算和逻辑运算

C 存储各种控制信息 D 获取外部信息 E 存放程序和数据

19、设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈S,出栈的序列为b,d,c,f,e,a,则栈S的容量至少应该是( )。

A 6 B 5 C 4 D 3 E 2

20、对有序数组{5, 13, 19, 21, 37, 56, 64, 75, 88, 92, 100}进行二分查找,等概率的情况下查找成功的平均查找长度(平均比较次数)是( )。

A 35/11 B 34/11 C 33/11 D 32/11 E 34/10

三.问题求解(共2题,每空5分,共计10分)

1.用1个或多个互不相同的正整数之和表示1~511之间的所有整数

①至少要多少个不同的正整数_________________;

②这些正整数是_______________

2.拓扑排序是指将有向无环图G中的所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v> ∈E(G),则u在线性序列中出现在v之前,这样的线性序列成为拓扑序列。如下的有向无环图,对其顶点做拓扑排序,则所有可能的拓扑序列的个数为 。

四.阅读程序写结果(共4题,每题8分,共计32分)

1 program t1;

var i,s,max:integer;

a:array[110] of integer;

begin

for i:=1 to 10 do read(a[i]);

max:=a[1];s:=a[1];

for i:= 2 to 10 do

begin

if s<0 then s:=0;

s:=s+a[i];

if s>max 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=

1 program t2;

const n=5;

var i,j,k:integer;

a:array[12n,12n] of integer;

begin

k:=1;

for i:=1 to 2n-1 do

if i<=n then

if odd(i) then

for j:=i downto 1 do

begin

a[i-j+1,j]:=k;k:=k+1;

end

else for j:= 1 to i do

begin

a[i-j+1,j]:=k;k:=k+1;

end

else if odd(i) then

for j:=n downto i-n+1 do

begin

a[i-j+1,j]:=k;k:=k+1;

end

else for j:=i-n+1 to n do

begin

a[i-j+1,j]:=k;k:=k+1;

end;

for i:=1 to n do

begin

for j:=1 to n do

write(a[i,j]:3);

writeln

end;

end

3 program t3;

const n=10;

var s,i:integer;

function co(i1:integer):integer;

var j1,s1:integer;

begin

s1:=n;

for j1:=n-1 downto n-i1+1 do

s1:=s1j1 div (n-j1+1);

co:=s1;

end;

begin

s:=n+1;

for i:=2 to n do s:=s+co(i);

writeln('s=',s);

end

4 program t4;

const n=3;

var i,j,s,x:integer;

p:array[0n+1] of integer;

g:array[0100] of integer;

begin

for i:=0 to 100 do g[i]:=0;

p[0]:=0;p[n+1]:=100;

for i:=1 to n do read(p[i]);

readln;

for i:=0 to n do

for j:=i+1 to n+1 do

g[abs(p[j]-p[i])]:=g[abs(p[j]-p[i])]+1;

s:=0;

for i:=0 to 100 do

if g[i]>0 then begin write(i:4);s:=s+1;end;

writeln;

writeln('s=',s);

readln(x);

writeln(g[x])

end

输入:10 20 65

10

输出:

五.完善程序 (前5空,每空2分,后6空,每空3分,共28分)

1.问题描述

棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。

棋盘用坐标表示,A点(0, 0)、B点(n, m)(n, m为不超过15的整数),同样马的位置坐标是需要给出的。现在要求你计算出卒从A点能够到达B点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。

输入

一行四个数据,分别表示B点坐标和马的坐标。

输出

一个数据,表示所有的路径条数。

输入样例

6 6 3 3

输出样例

6

const

dx:array[18] of integer=(-2,-1,1,2,2,1,-1,-2);

dy:array[18] of integer=(1,2,2,1,-1,-2,-2,-1);

var

n,m,x,y,i,j: byte;

g:array[020,020] of 01;

c:longint;

procedure sol(x,y:integer);

var i:integer;

begin

if (x=n) and (y=m) then (1)

else

begin

if (y<m) and (g[x,y+1]=0) then (2) ;

if (x<n) and (g[x+1,y]=0) then (3) ;

end;

end;

begin

readln(n,m,x,y);

g[x,y] := 1;

for i:=1 to 8 do

if (x+dx[i]>=0) and (x+dx[i]<=n) and (y+dy[i]>=0) and (y+dy[i]<=m) then

(4) ;

(5) ;

writeln(c);

end

2 问题描述

某乡有n个村庄(1<n<40),有一个售货员,他要到各个村庄去售货,各村庄之间的路程s(0<s<1000)是已知的,且A村到B村与B村到A村的路大多不同。为了提高效率,他从商店出发到每个村庄一次,然后返回商店所在的村,假设商店所在的村庄为1,他不知道选择什么样的路线才能使所走的路程最短。请你帮他选择一条最短的路。

输入

村庄数n和各村之间的路程(均是整数)。

输出

最短的路程。

样例

salesmanin salesmanout

3 {村庄数} 3

0 2 l {村庄1到各村的路程}

1 0 2 {村庄2到各村的路程}

2 1 0 {村庄3到各村的路程}

var a:array[140,140] of byte;

n,i,j:byte;

min ,m :longint;

bj:array[140] of boolean;

procedure init;

begin

readln(n);

for i:=1 to n do

for j:=1 to n do (1) ;

fillchar(bj,sizeof(bj),true);

min:=99999999;

m:=0;

end;

procedure road(step,line:byte);

var i,j,k:byte;

begin

if step=n then

if m+a[line,1]<min then (2)

else

for i:=2 to n do

if (i<>line) and bj[i] then

begin

(3) ; bj[line]:=false;

if m <min then (4)

m:=m-a[line,i]; (5) ;

end;

end;

begin

init;

(6) ;

writeln(min);

end

我用Pascal研究了一下。。是死循环。。

我又找了这个题目的C语言版。。

#include <stdioh>

long g(long k) {

if (k <= 1) return k;

return (2002 g(k - 1) + 2003 g(k - 2)) % 2005;

}

int main() {

long n;

scanf("%ld", &n);

printf("%ld\n", g(n));

return 0;

}

死循环。。

你们是怎么得出结果的。。教教我。。

NOIP2007年普及组(C语言)参考答案与评分标准

一、单项选择题:(每题15分)

1 D 2 D 3 C 4 B 5 B 6B 7 B 8 C

9 C 10 A

11 C 12 A 13 A 14 A 15 B 16 D 17 C 18 D

19 A 20 A

二、问题求解:(每题 5分)

1.90

2.210

三、阅读程序写结果

1 15, 46(对1个数给4分,无逗号扣1分)

2 3, 6

3 2 3 5 7 11 13 17 19 23 29

31 37 41 43 47

4 wer2345defgh45456782qqq

四、完善程序(前4空(①--④),每空25分,后6空(⑤--⑩),每空3分)

(说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查)

1.① c

② i

③ i++,j--

④ reverse(line)

2 ⑤ return

⑥ dr<tr+s && dc<tc+s

⑦ chessboard(tr,tc,tr+s-1,tc+s-1,s)

⑧ chessboard(tr,tc+s,tr+s-1,tc+s,s)

⑨ chessboard(tr+s,tc,tr+s,tc+s-1,s)

⑩ chessboard(tr+s,tc+s,tr+s,tc+s,s)

以上就是关于面向对象程序设计和自顶向下设计 的问题 NOIP初赛全部的内容,包括:面向对象程序设计和自顶向下设计 的问题 NOIP初赛、NOIP2010初赛普及组试卷的选择题第10题有问题、noip2010初赛模拟题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9500951.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存