1. Trang chủ
  2. » Giáo Dục - Đào Tạo

De dap an thi HSG Tin hoc 11 nam 2012 Yen Bai

4 21 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 15,22 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH YÊN BÁI HD chấm đề thi chính thức Hướng dẫn chấm có 04 trang... Chỉ đúng Test1 được 05 điểm.[r]

Trang 1

SỞ GIÁO DỤC VÀ ĐÀO TẠO

TỈNH YÊN BÁI

HD chấm đề thi chính thức

(Hướng dẫn chấm có 04 trang)

HƯỚNG DẪN CHẤM

KỲ THI CHỌN HỌC SINH GIỎI LỚP 11 THPT

NĂM HỌC 2012 – 2013

Môn thi: TIN HỌC 11

Ngày thi: 08/10/2012

Uses crt;

Const

Nmax=1000;

Var

A: array[1 Nmax] of longint;

N,dmax,dmax2,slmax2,i,j,tg: longint;

Begin

Clrscr;

Write('Nhap N='); Readln(N);

For i:=1 to N do

begin write('a[',i,']=');

readln(a[i]);

end;

//Sap xep

For i:=1 to n-1 do

For j:=i+1 to n do

if a[i]>a[j] then

Begin

tg:=a[i];

a[i]:=a[j];

a[j]:=tg;

End;

write('Max=',a[n]);

// Dem so luong max

i:=n-1;

while (i>0) and (a[i]=a[n]) do dec(i);

dmax:=n-i;

// Tim max2

if dmax<> N then dmax2:=a[n-dmax]

else dmax2:=-1;

// Dem so luong Max2

if dmax2>0 then

begin

i:= n-dmax;

while (i>0) and (a[i]=dmax2) do dec(i);

slmax2:=n-dmax-i;

end;

// Ghi ket qua

For i:=1 to N do write(a[i],#32);

writeln;

writeln('Gia tri lon nhat:',a[n]);

writeln('So luong phan tu lon nhat: ',dmax);

writeln('Gia tri lon thu 2: ',dmax2);

writeln('So luong phan tu lon thu 2 : ',slmax2);

Readln;

End

-1,0 đ

1,0 đ

1,0 đ

1,0 đ

0,5 đ

0,5 đ

1,0 đ

Trang 2

- Chấm bài và tính điểm như sau:

Test 1: N= 5 và dãy số 4 2 4 5 1

Kết quả sau khi thực hiện yêu cầu:

 Dãy số sau khi sắp xếp là: 1 2 4 4 5

 Số lượng phần tử đạt Max: 1

 Phần tử lớn thứ hai trong dãy số: 4

Số lượng phần tử lớn thứ hai là: 2

-Test 2: N= 5 và dãy 6 6 6 6 6

Kết quả sau khi thực hiện yêu cầu:

 Dãy số sau khi sắp xếp là: 6 6 6 6 6

 Số lượng phần tử đạt Max: 5

 Phần tử lớn thứ hai trong dãy số: -1

Số lượng phần tử lớn thứ hai là: 0

Chỉ đúng Test1 được 05 điểm

Đúng cả test1 và test2 được

06 điểm

Uses Crt;

Var

S: string;

i: byte;

Begin

Write('Nhap xau s='); Readln(s);

Writeln('Do dai cua xau: ', length(s));

//xoa dau cach

while s[1]=' ' do delete(s,1,1);

while s[length(s)]=' ' do delete(s,length(s),1);

i:=1;

While i<= length(s) do

begin

while (s[i]=' ') and (s[i+1]= ' ') do delete(s,i,1);

inc(i);

end;

//Xu li chu hoa dau Tu

s[1]:=upcase(s[1]);

For i:=2 to length(s) do

if s[i]=' ' then s[i+1]:=upcase(s[i+1]);

Writeln('Xau S da xu li: ',s);

Readln;

End

- Chấm bài và tính điểm như sau:

Test 1: S = 'Toi Di Thi Hoc Sinh Gioi Mon Tin Hoc'

(Ở ví dụ này: Giữa các từ có 03 dấu cách)

Kết quả: Độ dài của xâu S: 39

Xâu S sau khi xử lí là: 'Toi Di Thi Hoc Sinh Gioi Mon Tin Hoc' Test 2: S = 'hoc'

(Ở ví dụ này: Đầu xâu S có 0 dấu cách)

Kết quả: Độ dài của xâu S: 3

Xâu S sau khi xử lí là: 'Hoc'

6,0 đ

1,0 đ 1,0 đ 1,0 đ

1,0 đ

1,0 đ 1,0 đ

Đúng test1 được 05 điểm

Đúng cả test 1 và test2 được

06 điểm

Uses Crt;

Const

5,0 đ

Trang 3

Nmax=1000+2;

Var

a: array[0 Nmax,0 Nmax] of longint;

m,n,dem,i,j: longint;

Begin

Write('Nhap M=');readln(M);

Write('Nhap N=');readln(N);

For i:=1 to m do

For j:=1 to n do

Begin

Write('a[',i,',',j,']=');

readln(a[i,j]);

End;

dem:=0;

For i:=1 to m do

For j:=1 to n do

if (a[i-1,j] >= a[i,j]) and (a[i+1,j] >= a[i,j]) and (a[i,j-1] >= a[i,j]) and (a[i,j+1] >=

a[i,j]) then

Begin

inc(dem);

writeln(i,#32,j);

End;

if dem=0 then Write(dem);

Readln;

End. - Chấm bài và tính điểm như sau:

1,0 đ

1,0 đ

2,0 đ

1,0 đ

Đúng test1

và test2 được 04 điểm

Đúng cả 03 test được

05 điểm

Uses crt;

Const

fi='cau4.inp';

fo='cau4.out';

Nmax=405;// 405 - int64; 121- longint

Var

f: text;

N: longint;

P: array[0 Nmax,0 Nmax] of longint;

Procedure doctep;

Begin

Assign(f,fi);

Reset(f);

readln(f,N);

Close(f);

p[0,0]:=1;

End;

3,0 đ

1.0 đ

4 5

3 2 3 2 3

3 2 1 2 3

1 3 1 3 1

2 2 2 2 2

3 2

3 3

3 3

4 4 4

4 4 4

4 4 4

2 2

3 3

4 4 4

4 4 3

4 4 4

0

Trang 4

Procedure xuli(u: longint);

Var v: longint;

Begin

if u=N+1 then exit

else

begin

For v:=1 to N do

begin

if u<v then p[u,v]:=p[u,v-1]

else p[u,v]:=p[u,v-1]+p[u-v,v];

end;

xuli(u+1);

end;

End;

Procedure ghikq;

Begin

Assign(f,fo);

Rewrite(f);

write(f,p[n,n]);

Close(f);

End;

Begin

Doctep;

Xuli(0);

Ghikq;

End

- Chấm bài và tính điểm như sau:

Test 1: N=5 => Kq=7 được 1,5đ /3đ

Test 2: N=122 =>Kq=2291320912 được 2,0đ /3đ

Test 3: N= 500 => Kq= 2300165032574323995027 được 3,0đ /3đ

1,5 đ

0,5đ

Ngày đăng: 09/06/2021, 14:52

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w