고등학교 정보학 리그 클래식 (파스칼)

제 8 회 전국정보학 올림픽 경기성 (NOIP2002) 초전 시험 문제.

(팀의 파스칼 언어 2 시간 향상)

승인: 전국 청소년 정보학 올림픽 과학위원회

주관: 중국 과학기술협회, 교육부.

주최: 중국 컴퓨터 연맹

주최: 장쑤 과학 기술 협회 청소년 과학 기술 센터

● ● 모든 질문에 대한 답은 답안지에 기재해야 하는데, 유효하지 않다 ●

1. 각 질문의 괄호 안에 맞는 정답 코드 (A/B/C/D) 를 선택합니다 (65438+ 질문당 0.5 점, 복수 선택 점수 없음, ***30 점).

1. 마이크로컴퓨터의 출현은 () 의 출현으로 인한 것이다.

A) 중소형 집적 회로 b) 트랜지스터 회로 c) (초) 대규모 집적 회로 d) 전자관 회로

2. 중앙 처리 장치 (CPU) 에서 액세스할 수 있는 최대 메모리 용량은 () 에 따라 다릅니다.

A) 주소 버스 b) 데이터 버스 c) 제어 버스 d) 실제 스토리지 용량

3. 십진책 1 1/ 128 은 () 로 표현할 수 있습니다.

A)1011/100000b)10/kloc/

4. 공식 (2047)10-(3ff)16+(2000) 8 의 결과는 () 입니다.

(2048)10b) (2049)10c) (3746) 8d) (1af7)/kk

5. 주어진 x = (0.1011010) 2, [x/2

A) 0.1011101b)/kloc-;

6.IPv4 주소는 1 () 비트 이진수로 표시됩니다.

16 B)32 C)24 D)8

컴퓨터 바이러스 감염에 필요한 조건은 () 입니다.

A) 메모리에서 바이러스 프로그램 실행 b) 디스크 읽기 및 쓰기.

C) 스토리지에서 바이러스가 들어 있는 실행 프로그램을 실행합니다. d) 파일을 복사합니다.

8. 디스크에 하위 디렉토리를 만들면 많은 이점이 있습니다. 다음 설명에서 () 는 하위 디렉토리를 만들 때의 장점이 아닙니다.

A) 편리한 파일 관리 b) 루트 디렉토리의 제한된 수의 디렉토리 항목 문제를 해결합니다.

C) 파일 검색 속도 향상 d) 디스크 공간을 절약합니다.

9. e-메일을 사용하기 전에 Outlook 을 설정해야 합니다. ISP 에서 메시지를 받는 서버를 () 서버라고 합니다.

A)POP3 B)SMTP C)DNS D)FTP

10. 멀티미디어 컴퓨터는 () 컴퓨터를 의미합니다.

A) 가정용 b) CD 를 가지고 있습니다.

C) 고급 d) 문자, 그래픽, 사운드, 이미지 등의 정보를 처리할 수 있는 네트워크 연결.

1 1. 마이크로시스템에서는 () 가 가장 빠르게 액세스할 수 있습니다.

A) 캐시 b) 외부 메모리 c) 레지스터 d) 내부 메모리

12. 리소스 관리자 디렉토리 앞의 아이콘에 "+"기호를 추가하여 () 를 나타냅니다.

A) 이 디렉토리 아래의 하위 디렉토리가 확장되었습니다. B) 이 디렉토리 아래에 하위 디렉토리가 확장되지 않았습니다.

C) 이 디렉토리 아래에 하위 디렉토리가 없습니다. d) 디렉토리가 비어 있습니다.

13. WORD 문서 편집에서 텍스트 상자에 대한 다음 설명은 () 입니다.

A) 텍스트 상자의 그래픽은 문서의 입력 텍스트와 겹칠 수 없으며 문서의 다른 위치에만 겹칠 수 있습니다.

B) 텍스트 상자의 그래픽은 문서에 입력한 텍스트 아래에 놓을 수 없습니다.

C) 텍스트 상자를 사용하면 그래픽과 문서에 입력된 문자를 중첩하고 텍스트 줄 바꿈을 수행할 수 있습니다.

D) 그래픽을 텍스트 상자에 넣은 후 문서에 입력한 텍스트는 그래픽을 둘러쌀 수 없습니다.

14. 벡터의 첫 번째 요소의 저장 주소는 100 이고 각 요소의 길이는 2 이므로 5 개 요소의 주소는 () 입니다.

A)110b)108c)100d)109

15. 알려진 A = 35H, A /\ 05H \/ A /\ 30H 의 결과는 () 입니다.

A)30H B)05H C)35H D)53H

16. 해시 테이블 (0 ~ 12) 에 13 개의 요소가 있습니다. 해시 함수는 h (키) = 키%13 입니다. 여기서% 는 나머지 연산입니다. 선형 탐색으로 충돌을 해결하면 시퀀스 (2, 8, 3 1, 20, 19, 18, 53, 27) 를 넣어야 한다

A)5 B)9 C)4 D)0

17. 이진 정의에 따르면 세 노드의 이진 트리는 () 종류가 있습니다.

A)3 B)4 C)5 D)6

18. 유향 그래프에서 모든 정점의 입도 합계는 모든 정점의 출도 합계 () 의 배수입니다.

A) 1/2 B) 1 C)2 D)4

19. 그리드 단어의 액세스 순서를 1...8: 8, 2, 6, 5, 7, 3, 1, 4,;

1 2 3 4 5 6 7 8

4 6 1-1 7 3 2

A)6 B)0 C)5 D)3)

20. 스택 S 와 대기열 Q 의 초기 상태는 비어 있습니다. 요소 e 1, e 2, e 3, e 4, e 5, e 6 은 스택 S 를 차례로 통과하고 한 요소는 대기열에서 뺀 후 대기열 Q 로 들어갑니다. 대기열에서 빼기 순서가 e 2, e 4, e 3, e 6, e 5, e 1 인 경우 스택 S 의 용량은 최소한 이상이어야 합니다.

A)2 B)3 C)4 D)5

2. 문제 해결: (6+8 = 14)

1 .. n 이 번호는 1, 2, ... 선반 위에 있습니다. 이제 N 권의 책을 모두 내려 놓고 돌려놓으세요. 돌려놓을 때, 각 책을 원래 위치에 놓아서는 안 된다고 요구한다. 예를 들어 n = 3 인 경우 :

원래 위치: 1 2 3

3 1 2 또는 2 3 1 만 돌려놓을 수 있습니다.

질문: n = 5 시 * * * 몇 가지가 있습니까? (각 방법을 나열할 필요는 없습니다.)

2. k 트리를 설정합니다. 트리에 도가 0 과 k 인 두 개의 노드만 있습니다. n 0 과 n k 는 각각 도가 0 과 k 인 노드 수를 나타냅니다. n 0 과 n k 의 관계를 찾아 보십시오 (n 0 = 수학 표현식, n k, k 와 숫자만 포함

3. 프로그램 읽기, 정확한 프로그램 실행 결과 쓰기: (8+9+9 = 26 점)

1. 프로그램 gxp1;

Var I, n, Jr, jw, JB: 정수;

Ch1:char;

Ch: array 의 char [1... 20]

시작

Readln (n);

For i:= 1 끝 n do read (ch [I]);

Jr: =1; Jw:= n;; JB:= n;;

While(Jr & lt;; =jw) do

시작

If (ch[jw]='R')

그럼 시작합시다

Ch1:= ch [Jr]; Ch [Jr]: = ch [jw]; Ch [jw]: = ch1; Jr: = Jr+1;

그렇지 않으면 ch[jw]='W' 인 경우

그럼 jw: = jw-1;

그렇지 않으면 시작합니다

Ch1:= ch [jw]; Ch [jw]: = ch [JB]; Ch [JB]: = ch1; Jw: = jw-1; Jb: = JB-1;

끝;

I:= 1 n 까지 쓰기 (ch [1]);

Writeln

끝내다.

입력: 10

Rbrbwrbbr

출력:

2. 프로그램 Gxp2

Var I, j, s, sp 1: 정수;

P: 부울;

A: 배열 [1.. 10] 의 정수;

시작

Sp1:=1; A [1]: = 2; J: = 2;

Sp1< 10 do

시작

J: = j+1; P:= 참;

I:=2 부터 j- 1 do 까지의 경우

If (j mod i=0) 그럼 p: = false;

P 가 시작되면

Sp1:= sp1+1; A [sp1]: = j;

끝;

끝;

J: = 2; P:= 참;

그리고 p 는

시작

S: =1;

For I: =1to jdo s: = s * a [I];

S: = s+1;

I:=2 에서 s- 1 do 까지의 경우

S mod i=0 이면 p: = false;

J: = j+1;

끝;

내용을 쓰다 Writeln

끝내다.

출력:

3. 프로그램 Gxp2

Var d 1, D2, x, Min:real;;

시작

Min: =10000; X: = 3;

X< 15 do 는

시작

D1:= sqrt (9+(x-3) * (x-3)); D2: = sqrt (36+(15-x) * (15-x));

If (d1+D2) < Min then min: = d1+D2;

X: = x+0.001;

끝;

Writeln (min:10: 2);

끝내다.

출력:

넷. 완벽한 절차: (15+ 15 = 30 점)

1. 문제 설명: 공장은 일일 생산에 일정량의 부품이 필요하며, 하루 한 부품의 생산 단가를 알 수 있습니다. N 일 생산에서 당일 생산된 부품은 당일 수요를 충족시킬 수 있다. 당일 다 쓰지 않으면 다음날에 사용할 수 있지만 각 부분의 보관료를 받으셔야 합니다. 날마다 요금이 다릅니다.

문제 해결: 총 비용을 최소화하기 위해 N 일 생산 계획 (즉, N 일 동안 매일 생산할 부품의 수) 을 얻습니다.

입력: n (일수 n

일일 수요 (n 개의 정수)

매일 생산되는 부품의 단가 (n 개의 정수)

매일 저장되는 부품의 단가 (n 개의 정수)

생산량: 매일 생산되는 부품의 수량 (n 개의 정수)

예를 들어 N=3 인 경우 요구 사항 및 비용은 다음과 같습니다.

첫날, 다음날, 셋째 날

요구 사항 25 15 30

생산단가 20 30 32

스토리지 단가 5 10 0 0

생산 계획에는 다음과 같은 세 가지 유형의 계획이 있습니다.

1 일, 2 일 및 3 일의 총 비용

2515 30 25 * 20+15 * 30+30 * 32 =1910

40 0 30 40 * 20+15 * 5+30 * 32 =1835

70 0 0 70 * 20+45 * 5+30 *10 =1925

절차 설명:

B[n]: 일일 수요 저장

C[n]: 매일 생산되는 부품의 단가입니다.

D[n]: 일일 보관 부품의 단가입니다.

생산 계획

프로그램:

프로그램 exp5

변수를 정의합니다

I, j, n, Yu, j0, j 1, s: 정수;

B, c, d, e: 배열 [0..30] 의 정수;

시작

Readln (n);

I:= 1 끝 n do readln(b[i], c[i], d [I]);

I:= 1 끝 n do e [I]: = 0;

① _ _ _ _ _ _ _ _ _ _ _ _: =10000; C [n+2] = 0; B [n+1]: = 0j0: =1;

While(j0 & lt;; 하다

시작

Yu: = c [j0]; J1:= j0; S: = b [j0];

② _ _ _ _ _ _ _ _ _ _ _ _ _ 할 수 있습니다

시작

③ _ _ _ _ _ _ _ _ _ _ _ j1:= j1+1; S: = s+b [j1];

끝;

④ _ _ _ _ _ _ _ _ _ _ _ _ j0: = j1+1;

끝;

For I: =1to n do ⑤ _ _ _ _ _ _ _ _ _ _

Readln

끝내다.

2. 문제 설명: n 가지 기본 물질 (n≤ 10) 이 있으며, 각각 P 1, P2, ..., Pn 으로 명명되어 물질을 만드는 데 사용됩니다. 이 물질들은 K 개의 다른 지역 (k≤20) 에 사용되며, 각 지역은 화물에 대한 자체 요구를 한다. 이러한 요구 사항은 n 자리 숫자로 표시됩니다: A6544.

Ai = 1 은 필요한 물질에 첫 번째 기본 물질이 있어야 함을 의미합니다.

=-1 필요한 물질에 I 알칼리성 물질이 없어야 함을 의미합니다.

= 0 은 중요하지 않습니다

문제 해결: K 개의 다른 요구 사항이 주어지면 어떤 물질이 사용되고 어떤 물질이 쓸모없는지를 나타내는 방안이 주어진다.

프로그램 설명: 배열 b [1], b [2]...b [n] 은 어떤 물질을 나타냅니다.

A [1...k, 1...n] k 개 영역에 대한 프로젝트 요구사항을 기록합니다. 여기서,

A[i, j]= 1 는 I 번째 영역에 j 번째 항목이 필요함을 나타냅니다.

A[i, j]=0 은 I 번째 영역이 j 번째 항목과 관련이 없음을 의미합니다.

A[i, j]=-1 는 j 항목에 I 번째 영역이 필요하지 않음을 의미합니다.

프로그램:

프로그램 gxp2

변수를 정의합니다

I, j, k, n: 정수;

P: 부울;

B: 배열 [0.0 의 20].. 1;

A: 배열 [1.. 20,1..10] 의 정수;

시작

Readln(n, k);

I:= 1 끝 k do 의 경우

시작

J:= 1 n 에 대한 read(a[i, j]);

Readln

끝;

I:=0 부터 n do b [I]: = 0;

P:= 참;

① _ _ _ _ _ _ _ _ _ _ _ _ _ 할 수 있습니다

시작

J: = n;

B [j] =1do j: = j-1;

② _ _ _ _ _ _ _ _ _ _

I:=j+ 1 끝 n do b [I]: = 0;

③ _ _ _ _ _ _ _ _ _ _

I:= 1 끝 k do 의 경우

J:= 1 끝 n do 의 경우

(a[i, j]= 1) 및 (b[j]=0) 또는 ④ _ _ _ _ _ _ _ _

그럼 p:= 참;

끝;

⑤ _ _ _ _ _ _ _ _ _ _ _ _ _

그런 다음 ln 을 씁니다 ('찾을 수 없습니다! 클릭합니다 ) 을 참조하십시오

Else for i:= 1 to n do

If (b [I] = 1) 그럼 writeln ('물질', 나' 필요')

Else writeln ('실제', I,' 불필요한');

끝내다.