Nơi trao đổi thông tin Văn Lang
Chào mừng bạn đến với nơi trao đổi thông tin của chúng tôi !
Hãy đăng nhập hoặc đăng kí tài khoản để trải nghiệm nhiều điều thú vị tại đây !
Thân ái !
Nơi trao đổi thông tin Văn Lang
Chào mừng bạn đến với nơi trao đổi thông tin của chúng tôi !
Hãy đăng nhập hoặc đăng kí tài khoản để trải nghiệm nhiều điều thú vị tại đây !
Thân ái !
Nơi trao đổi thông tin Văn Lang
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Nơi trao đổi thông tin Văn Lang

Nơi trao đổi thông tin, tăng cường hợp tác, giải đáp những vướng mắc khi học lập trình Pascal
 
Trang ChínhTìm kiếmLatest imagesĐăng kýĐăng Nhập

 

 Đề thi HSG Ninh Bình

Go down 
Tác giảThông điệp
Admin
Admin
Admin


Posts : 121
Danh tiếng : 6
Join date : 10/11/2014
Age : 22

Đề thi HSG Ninh Bình Empty
Bài gửiTiêu đề: Đề thi HSG Ninh Bình   Đề thi HSG Ninh Bình Icon_minitime15/1/2015, 23:01

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)
10 6 2 10 6 2
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Ố.
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 ( 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 ):
- 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
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.
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, FN 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, FN 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}
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);
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}
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;
fn:=k;
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
begin
if (j<>k)and so[i,k,j] then
begin write(i,j,k,' ',i,k,j); exit; end;
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;
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.
Về Đầu Trang Go down
https://forumpascalvanlang.forumvi.com
 
Đề thi HSG Ninh Bình
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» đề bình định
» Đề thi tỉnh bình định
» đề tỉnh bình định 2016
» đề thi 2009 ninh hoà
» Nhật Huy Ninh Hòa

Permissions in this forum:Bạn không có quyền trả lời bài viết
Nơi trao đổi thông tin Văn Lang  :: Các bộ đề thi-
Chuyển đến