1. Trang chủ
  2. » Giáo án - Bài giảng

Đề Thi HGS tin Tỉnh NB 9-08

5 559 5
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đề Thi Chọn Học Sinh Giỏi Lớp 9 THCS Năm Học 2007 - 2008
Trường học Sở Giáo Dục Và Đào Tạo Tỉnh Ninh Bình
Chuyên ngành Tin học
Thể loại Đề thi
Năm xuất bản 2007 - 2008
Thành phố Ninh Bình
Định dạng
Số trang 5
Dung lượng 81,5 KB

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

Nội dung

Cho hỡnh chữ nhật ABCD cú chiều dài AB là a cm, chiều rộng AD là b cm với a, b là cỏc số nguyờn dương khụng vượt quỏ 10000.. Một điểm M trờn đoạn BC, một điểm N trờn đoạn CD sao cho độ d

Trang 1

Sở giáo dục và đào tạo Đề thi chọn học sinh giỏi lớp 9 THCS

Tỉnh ninh bình năm học 2007 - 2008

Môn: Tin học

Thời gian làm bài: 150 phút (không kể thời gian giao đề) (Đề thi gồm 02 trang)

Em hóy lập trỡnh bằng ngụn ngữ Pascal giải cỏc bài toỏn sau:

Bài I (10 điểm): DIỆN TÍCH CÁC HèNH.

Cho hỡnh chữ nhật ABCD cú chiều dài AB là a (cm), chiều rộng AD là b (cm) với

a, b là cỏc số nguyờn dương khụng vượt quỏ 10000 Một điểm M trờn đoạn BC, một điểm N trờn đoạn CD sao cho độ dài (tớnh bằng cm) cỏc đoạn BM, CN bằng nhau và là

số nguyờn khụng õm

Yờu cầu:

1 Biết độ dài BM, tớnh diện tớch hỡnh chữ nhật ABCD và diện tớch tam giỏc MCN 2.Tỡm giỏ trị lớn nhất và giỏ trị nhỏ nhất của diện tớch tam giỏc AMN khi M, N thay đổi

Dữ liệu vào: Dữ liệu của bài toỏn cho trong tệp tin DIENTICH.INP gồm ba số a, b, x

(x b a, x là độ dài BM trong yờu cầu 1) được ghi trờn cựng một dũng theo đỳng thứ

tự trờn, hai số liờn tiếp cỏch nhau một khoảng trắng

Dữ liệu ra: Kết quả ghi ra màn hỡnh (hoặc ghi ra file DIENTICH.OUT) trờn 5 dũng:

- Dũng đầu là ba số a, b và x

- Dũng thứ hai là diện tớch hỡnh chữ nhật ABCD

- Dũng thứ ba là diện tớch tam giỏc MCN

- Dũng thứ tư là giỏ trị lớn nhất của diện tớch tam giỏc AMN

- Dũng thứ năm là giỏ trị nhỏ nhất của diện tớch tam giỏc AMN

(Cỏc giỏ trị diện tớch được ghi trong dạng thập phõn với 1 chữ số sau dấu phẩy)

Vớ d : ụ:

DIENTICH.INP Kết quả trờn màn hỡnh (hoặc file DIENTICH.OUT)

60.0 4.0 30.0 17.5

Hạn chế kỹ thuật:

- Ghi tờn file bài làm là DIENTICH.PAS.

- Dữ liệu vào là chớnh xỏc khụng cần kiểm tra.

- Nếu khụng nhập được dữ liệu vào từ file, thớ sinh cú thể nhập dữ liệu vào từ bàn phớm

- Cú khoảng 60% số bộ test cú a < 100.

Bài II(10 điểm): DÃY SỐ.

đề thi chính thức

M

N

Trang 2

Cho số nguyờn dương S và dóy số gồm N số nguyờn dương F1, F2, , FN Dóy số đó cho được gọi là dóy tăng dần nếu: Fi  Fi+1 i 1 , 2 , ,n 1 ( hay F1 F2  F3  

FN )

Chỳng ta gọi hai số hạng Fi1 và Fi2 trong dóy đó cho (với i1 i2; i1,i2 1 , 2 , ,n ):

- Là một “cặp đụi xung khắc” nếu Fi1 + Fi2 = S

- Là một “cặp đụi lý tưởng” nếu chỳng cựng cú ba chữ số, cỏc chữ số của số hạng này

giống hệt của số hạng kia nhưng khỏc về thứ tự xuất hiện - vớ dụ 123 và 132 hay 121 và

211 là cỏc cặp đụi lý tưởng cũn 121 và 122 hay 457 và 457 thỡ khụng phải

Yờu cầu: Cho biết S và dóy số F1, F2, , FN Hóy xỏc định xem dóy đó cho cú phải dóy tăng dần hay khụng, tớnh số cặp đụi xung khắc và tỡm một cặp đụi lý tưởng (nếu cú) trong dóy đó cho

Dữ liệu vào: Dữ liệu vào của bài toỏn được cho trong tệp tin DAYSO.INP với cấu

trỳc như sau:

- Dũng đầu tiờn gồm hai số N và S (N 50000, S <1000)

- Dũng thứ i trong N dũng tiếp theo chứa một số là số Fi của dóy (Fi < 500)

Dữ liệu ra: Kết quả ghi ra trờn màn hỡnh (hoặc ghi ra file DAYSO.OUT)bốn dũng:

- Dũng đầu ghi ba số N, S và FN

- Dũng thứ hai ghi CO nếu dóy đó cho là dóy tăng dần, ghi KHONG nếu ngược lại

- Dũng thứ ba ghi một số là số cặp đụi xung khắc trong dóy đó cho

- Dũng thứ tư ghi hai số là một cặp đụi lý tưởng tỡm được trong dóy đó cho, nếu khụng cú cặp đụi lý tưởng nào thỡ ghi hai số 0

Vớ dụ:

DAYSO.INP Kết quả trờn màn hỡnh (hoặc file DAYSO.OUT)

5 5

1

2

3

4

5

5 5 5 CO 2

0 0

10 111

110

110

1

1

5

5

10

10

10

101

10 111 101 KHONG 7

110 101

Hạn chế kỹ thuật:

- Ghi tờn file bài làm là DAYSO.PAS

- Dữ liệu vào là chớnh xỏc khụng cần kiểm tra.

- Cú khoảng 30% số bộ test cú thể nhập dữ liệu vào từ bàn phớm.

- Cú khoảng 60% số bộ test cú N < 1000.

-

Hết -Họ và tên thí sinh : Số báo danh

Chữ kí giám thị 1 ……… Chữ kí giám thị 2 ………

Sở giáo dục và đào tạo Hớng dẫn chấm thi Chọn hsg lớp 9 THCS Tỉnh ninh bình năm học 2007 - 2008

Trang 3

Môn: Tin học I- Dữ liệu chấm bài.

Giám khảo copy 14 file dữ liệu vào gồm:

- 7 file test bài 1 lần lợt là DIENTICH.IN1, DIENTICH.IN2, … , DIENTICH.IN7,

- 7 file test bài 2 lần lợt là DAYSO.IN1, DAYSO.IN2, … , DAYSO.IN7

vào th mục chứa Turbo Pascal trên máy chấm bài.

II – Chấm bài. Chấm bài.

Với mỗi bài thi của 1 thí sinh:

Chấm bài 1:

1 Giám khảo Copy bài làm có tên DIENTICH.PAS vào th mục chứa Turbo Pascal trên máy chấm bài.

2 Với mỗi file dữ liệu vào - nếu học sinh không nhập dữ liệu từ file thì giám khảo nhập

từ bàn phím - chạy chơng trình của học sinh rồi quan sát kết quả trên màn hình (hoặc trên

file dữ liệu ra) so sánh với đáp án và cho điểm chi tiết nh sau:

+ Ba test đầu, mỗi test 2 điểm:

- Ghi ra đúng a, b, x cho 0,25 điểm

- Ghi ra đúng diện tích hình chữ nhật ABCD cho 0,25 điểm

- Ghi ra đúng diện tích tam giác MCN cho 0,50 điểm

- Ghi ra đúng diện tích nhỏ nhất cho 0,50 điểm

- Ghi ra đúng diện tích lớn nhất cho 0,50 điểm

+ Bốn test sau, mỗi test 1 điểm:

(Không cho điểm ghi đúng a, b, x nữa)

- Ghi ra đúng diện tích hình chữ nhật ABCD cho 0,25 điểm

- Ghi ra đúng diện tích tam giác MCN cho 0,25 điểm

- Ghi ra đúng diện tích nhỏ nhất cho 0,25 điểm

- Ghi ra đúng diện tích lớn nhất cho 0,25 điểm

Chấm bài 2:

1 Giám khảo Copy bài làm có tên DAYSO.PAS vào th mục chứa Turbo Pascal trên máy chấm bài.

2 Với mỗi file dữ liệu vào - nếu học sinh không nhập dữ liệu từ file thì giám khảo nhập

từ bàn phím 2 test đầu tiên - chạy chơng trình của học sinh rồi quan sát kết quả trên màn

hình so sánh với đáp án và cho điểm chi tiết nh sau:

+ Ba test đầu, mỗi test 2 điểm:

- Ghi ra đúng N, S, F N cho 0,25 điểm

- Ghi ra đúng dãy tăng dần hay không cho 0,75 điểm

- Ghi ra đúng số cặp xung khắc cho 0,75 điểm

- Ghi ra đúng cặp đôi lý t ởng cho 0,25 điểm

+ Bốn test sau, mỗi test 1 điểm:

(Không cho điểm ghi ra đúng N, S, F N nữa).

- Ghi ra đúng dãy tăng dần hay không cho 0, 25 điểm

- Ghi ra đúng số cặp xung khắc cho 0,50 điểm

- Ghi ra đúng cặp đôi lý t ởng cho 0,25 điểm

{B i 1 - DIENTICH.PAS} ài 1 - DIENTICH.PAS}

var a,b,x:integer;

min, max,s,s1,s2:real;

f: text;

begin

Assign(f,'dt.inp');

reset(f);

readln(f,a,b,x);

close(f);

Trang 4

writeln(a,’ ‘,b,’ ‘,x);

s1:=a*b; s2:=x*(b-x)/2;

min:=s1/2; max:=s1/2;

for x:=1 to b do

begin

s:=s1 - (a*x + x*(b-x) + b*(a-x))/2;

if min>s then min:=s;

if max<s then max:=s;

end;

writeln(s1:12:1);writeln(s2:12:1);

writeln(max:12:1);writeln(min:12:1);

readln;

end.

{B i 2 - DAYSO.PAS} ài 1 - DIENTICH.PAS}

uses crt;

const fi = 'dayso.inp';

max = 500;

var a:array[1 500] of word;

so:array[1 4,0 9,0 9] of boolean;

f:text; tangdan:boolean;

n,s,fn,socu:word; Tongxk:longint;

procedure nhap;

var i,k:word;

begin

fillchar(a,sizeof(a),0);

assign(f,fi);

reset(f);

socu:=0; tangdan:=true;

readln(f,n,s);

for i:= 1 to n do

begin

readln(f,k);

inc(a[k]);

if k<socu then tangdan:=false;

socu:=k;

if k>100 then

so[k div 100,(k div 10)mod 10,k mod 10]:=true; end;

close(f);

end;

procedure demxungkhac;

var i:word;

begin

tongxk:=0;

for i:= 1 to ((s-1)div 2) do

tongxk:=tongxk+a[i]*a[s-i];

if not odd(s) then

begin

i:=s div 2;

tongxk:=tongxk+(a[i]*(a[i]-1) div 2);

end;

end;

procedure timlytuong;

var i,j,k:byte;

begin

for i:=1 to 4 do

for j:=0 to 9 do

for k:=0 to 0 do

if so[i,j,k] then

if (j<>k)and so[i,k,j] then

begin write(i,j,k,' ',i,k,j); exit; end;

Trang 5

if (k<>0)and(i<>k)and so[k,j,i] then begin write(i,j,k,' ',k,j,i); exit; end;

if (j<>0)and(i<>j)and so[j,i,k] then begin write(i,j,k,' ',j,i,k); exit; end;

if (k<>0)and((i<>j)or(i<>k)or(k<>j))and so[k,i,j] then begin write(i,j,k,' ',k,i,j); exit; end;

if (j<>0)and((i<>j)or(i<>k)or(k<>j))and so[j,k,i] then

begin write(i,j,k,' ',k,j,i); exit; end;

writeln(0,' ',0);

end;

procedure inkq;

begin

clrscr;

writeln(n,' ',s,' ',fn);

if tangdan then writeln('CO')

else writeln('KHONG');

demxungkhac;

writeln(tongxk);

timlytuong;

end;

begin

nhap;

inkq;

readln;

end.

Ngày đăng: 29/06/2013, 01:27

TỪ KHÓA LIÊN QUAN

w