Tải bản đầy đủ (.docx) (3 trang)

HSG Tin hoc THCS tinh Khanh Hoa 2010

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (105.23 KB, 3 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>SỞ GIÁO DỤC VÀ ĐÀO TẠO </b> <b>KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH</b>
<b>KHÁNH HỊA</b>


 


<b>Mơn thi : TIN HỌC – THCS (Bảng A)</b>
Ngày thi : 06/4/2010


<i>(Thời gian : 150 phút – không kể thời gian phát đề)</i>



<b>BÀI 1: (5 điểm)</b>


Viết chương trình nhập số nguyên dương N, và dãy số thực A gồm có N số. Kiểm tra
xem dãy vừa nhập đã được sắp xếp thành dãy tăng, hoặc giảm hoặc khơng tăng, khơng
giảm? Thơng báo kết quả trên màn hình.


<b>Ví dụ 1:</b>


Dữ liệu vào: N =8, A = 1.2 3.5 4.0 5.3 6.0 7.7 8.1 9.0
Dữ liệu ra: <b>Day so da duoc sap xep thanh day tang.</b>
<b>Ví dụ 2:</b>


Dữ liệu vào: N= 7, A = 9.0 8.5 7.3 6.0 5.5 4.7 3.0
Dữ liệu ra: <b>Day so da duoc sap xep thanh day giam.</b>
<b>BÀI 2: (5 điểm)</b>


Viết chương trình nhập các số nguyên dương N, K và dãy số thực A gồm có N số.
Xét xem trong dãy số A có K số dương đứng cạnh nhau hay khơng?


<b>Ví dụ 1:</b>



Dữ liệu vào:
<b>N = 8</b>


<b>A = 2 -2 5 7 3 0 2 -1</b>
<b>K = 4</b>


Dữ liệu ra: Trong day khong co 4 so duong dung canh nhau
<b>Ví dụ 2:</b>


Dữ liệu vào:
<b>N = 9</b>


<b>A = 1 -2 3 7 9 1 2 -1 -7</b>
<b>K = 5</b>


Dữ liệu ra: Trong day co 5 so duong dung canh nhau
<b>BÀI 3 : (5 điểm)</b>


Mảng là kiểu dữ liệu có cấu trúc của ngơn ngữ lập trình Pascal, gồm một số hữu hạn
các phần tử có cùng kiểu, có cùng một tên chung. Số phần tử của mảng được xác định khi
mảng được định nghĩa, kiểu của các phần tử gọi là kiểu cơ bản của mảng. Ta có mảng một
chiều, mảng hai chiều, ...


Để khai báo một mảng hai chiều <i>(cịn gọi ma trận)</i> có n hàng, m cột, ta viết như sau :
CONST <b>n = .... ; m = ... ;</b>


TYPE<b>Tên_mảng = ARRAY[1..n,1..m] OF Kiểu_phần_tử;</b>
VAR <b>Tên_biến_mảng : Tên_mảng;</b>



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>Xem ví dụ sau :</b>


CONST n = 3 ; m = 4 ;


TYPE Ma_tran = ARRAY[1..n,1..m] Of Integer;
VAR X : Ma_tran;


Lúc đó biến X theo khai báo ở trên là một mảng <i>(ma trận)</i> gồm 3 hàng, 4 cột. Như vậy
mảng này có tất cả 3*4 = 12 phần tử, mỗi phần tử là một số nguyên. Phần tử hàng i, cột j
của mảng X được viết X[i,j]. Để nhập/xuất dữ liệu cho các phần tử của mảng X ta viết như
sau :


<b>Nhập dữ liệu :</b> For i := 1 to n do


For j := 1 to m do
Begin


Write(‘Nhap gia tri X[‘,i,’,’,j,’] = ’);
Read(X[i,j]);


End;
<b>Xuất dữ liệu :</b> For i := 1 to n do


Begin


For j := 1 to m do Write(X[i,j]);
Witeln;


End;



<b>Ma trận vuông là ma trận có số hàng bằng số cột. Ma trận vng cấp N là ma trận</b>
có số hàng bằng số cột đều bằng N.


Hãy viết chương trình điền các phần tử của ma trận vuông cấp N (0 N  200) gồm
các số –1, 0, 1 sao cho tổng các số của mọi hình vng cấp 2 đều bằng 0 và tổng các số của
ma trận cấp N là lớn nhất.


<b>BÀI 4 : (5 điểm)</b>


Palindrome là xâu ký tự mà nếu đọc nó từ trái sang phải cũng như từ phải sang trái ta
được cùng một xâu. Một xâu ký tự bất kỳ ln có thể biểu diễn như là một dãy các
palindrome nếu như ta coi xâu chỉ gồm một ký tự ln là palindrome.


<b>Ví dụ: Xâu ‘bobseesanna’ có thể biểu diễn dưới dạng dãy các palindrome theo nhiều</b>
cách, chẳng hạn


‘bobseesanna’ = ‘bob’ + ‘sees’ + ‘anna’


‘bobseesanna’ = ‘bob’ + ‘s’ + ‘ee’ + ’s’ + ‘anna’


‘bobseesanna’ = ‘b’ +’o’ + ‘b’ + ‘sees’ + ‘a’ + ‘n’ + ‘n’ + ‘a’


<b>Yêu cầu: Cho xâu ký tự </b><i>s</i>, cần tìm cách biểu diễn xâu <i>s</i> dưới dạng một dãy gồm một
số ít nhất các palindrome.


<b>Ví dụ: Cho </b><i>s</i> = ‘bobseesanna’, do ta có ‘bobseesanna’ = ‘bob’ + ‘sees’ + ‘anna’ và
không thể biểu diễn ‘bobseesanna’ bởi ít hơn là 3 palindrome nên biểu diễn này chính là
biểu diễn cần tìm.


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>Kết quả: Đưa ra màn hình đồng thời ghi vào file văn bản PALINDR.OUT:</b>


- Dịng đầu tiên ghi <i>k</i> là số lượng ít nhất các palindrome trong biểu diễn tìm được;
- Dịng thứ <i>i</i> trong số <i>k</i> dòng tiếp theo ghi palindrome <i>pi</i> (<i>i</i> = 1, 2, ..., <i>k</i>) sao cho :


<i>s</i> = <i>p</i>1<i>p</i>2...<i>pk.</i>
<b>Ví dụ</b>


<b>PALINDR.INP</b> <b>PALINDR.OUT</b> <b>PALINDR.INP</b> <b>PALINDR.OUT</b>


bobseesanna 3
bob
sees
anna


aabbaaaabb 2


aa


bbaaaabb




<b>HẾT</b>




<b>Ghi chú :</b>


- Các tập tin bài làm phải đặt theo qui định BL1.PAS, BL2.PAS, BL3.PAS,
<b>BL4.PAS;</b>


- Đề thi có 03 trang;


</div>

<!--links-->

×