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

Đề thi chọn học sinh giỏi cấp tỉnh lớp 12

7 1,2K 15
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

Định dạng
Số trang 7
Dung lượng 1,53 MB

Nội dung

Đề thi chọn học sinh giỏi cấp tỉnh lớp 12

Trang 1

Trang 1

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

TUYÊN QUANG

ĐỀ THI CHỌN HỌC SINH GIỎI CẤP TỈNH LỚP 12

NĂM HỌC 2009-2010 Môn: Tin học

Thời gian: 180 phút (Không kể thời gian giao đề)

Đề thi có 02 trang

Tổng quan đề thi:

cùng nhau

Đếm xâu đối xứng

Yên ngựa

Chú ý:

1 Bài thi được làm trên ngôn ngữ lập trình Pascal

2 Chương trình của Bài 1, Bài 2, Bài 3, Bài 4 phải ghi lên đĩa với tên tương ứng là Bai1.pas, Bai2 pas, Bai3 pas, Bai4 pas trong thư mục D đặt tên SBD của mình ví dụ: D:\SBD01\Bai1 pas

Bài 1

Trong kỳ thi vào trường Chuyên, lớp chuyên Hóa học: điểm môn Hóa tính hệ số 3, Toán và Ngữ văn tính hệ số 1; xếp loại kết quả thi theo điểm trung bình (ĐTB) với quy tắc:

- ĐTB dưới 5,0: Yếu

- ĐTB từ 5,0 đến dưới 7,0: Trung bình

- ĐTB từ 7,0 đến dưới 8,0: Khá

- ĐTB từ 8,0 đến 10,0: Giỏi

Lập chương trình tính điểm trung bình và xếp loại kết quả thi của các thí sinh dự thi vào lớp chuyên Hóa học (số lượng học sinh bất kỳ nhập từ bàn phím) và đưa họ tên, điểm trung bình, kết quả xếp loại ra màn hình

Bài 2

Hai số tự nhiên được gọi là hai số nguyên tố cùng nhau nếu ước số chung lớn nhất của hai số đó bằng 1

Yêu cầu: Hãy xác định hai số tự nhiên x, y (1 < x, y < 65535) có phải là hai số nguyên

tố cùng nhau hay không?

Dữ liệu vào: Được lấy từ file văn bản NTCN.INP, có cấu trúc như sau:

Ghi 2 số tự nhiên x, y trên cùng một dòng và cách nhau bởi một kí tự dấu cách

Dữ liệu ra: Ghi ra file văn bản NTCN.OUT, theo cấu trúc như sau:

Nếu x và y là hai số nguyên tố cùng nhau thì ghi số 1, ngược lại thì ghi số 0

Ví dụ:

ĐỀ CHÍNH THỨC

Trang 2

Trang 2

Bài 3

Một xâu kí tự được gọi là xâu đối xứng (Palindrome) nếu ta đọc từ trái sang phải hay đọc từ phải sang trái đều giống nhau Một kí tự cũng được coi là một xâu đối xứng Xâu con của S là xâu gồm một số kí tự liên tiếp trong S

Yêu cầu: Cho trước một xâu kí tự S (kí tự đầu và kí tự cuối khác kí tự dấu cách) Hãy

xác định số xâu đối xứng là xâu con của nó

Dữ liệu vào: Được lấy từ file văn bản PALIN.INP gồm nhiều dòng (không quá 100

dòng), mỗi dòng là một xâu có chiều dài không quá 80 kí tự

Dữ liệu ra: Được ghi vào file văn bản PALIN.OUT có số dòng bằng số dòng của

PALIN.INP, mỗi dòng chứa một số nguyên biểu thị số xâu con đối xứng của dòng tương ứng trong PALIN.INP

Ví dụ:

PALIN.INP PALIN.OUT

J IOI MIT TIM

1

4

10

Bài 4

Cho một ma trận hai chiều A cấp m x n Phần tử A[i,j] được gọi là yên ngựa nếu nó là

số lớn nhất trong cột j và là số nhỏ nhất trong hàng i

Yêu cầu: Tìm số phần tử yên ngựa của ma trận A

Dữ liệu vào: Được lấy từ file YENNGUA.INP có cấu trúc như sau:

- Dòng thứ nhất gồm hai số nguyên dương m, n (m,n ≤100)

- m dòng tiếp theo mỗi dòng gồm n số nguyên, các số nguyên cách nhau bởi một dấu cách là ma trận A (A[i,j] có giá trị tuyệt đối ≤ 10000)

Dữ liệu ra: Được ghi vào file YENNGUA.OUT gồm một số nguyên duy nhất là số

lượng yên ngựa trong ma trận A

VÝ dô:

3 4

4 3 6 5

9 -2 -9 4

6 0 7 2

1

(Ví dụ trên có duy nhất một yên ngựa là phần tử A[1,2] )

Cán bộ coi thi không giải thích gì thêm

-HẾT -

Trang 3

Trang 3

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

TUYÊN QUANG

ĐÁP ÁN ĐỀ THI CHỌN HỌC SINH GIỎI

CẤP TỈNH NĂM 2009 Môn: Tin học Lớp: 12

(Đáp án gồm 01 trang)

Cách chấm điểm:

Dùng các bộ test, chạy trực tiếp chương trình để chấm trực tiếp trên máy: Với các bộ

test sau:

3 4

4 3 6 5

9 -2 -9 4

6 0 7 2

2 2

1 2

2 1

4 5

8 9 5 7 5

6 8 5 6 5

4 2 4 9 3

0 1 3 5 2

Trang 4

Trang 4

LƠI GIAI THAM KHAO

Bài 1

Có nhiều phương án giải quyết bài toán này (GV tự nghiên cứu)

Bài 2 Số nguyên tố

Program NTCN;

Const fi='NTCN.inp';

fo='NTCN.out';

Var m,n:Longint;

Procedure doc;

Var f:text;

Begin

Assign(f,fi);

Reset(f);

Readln(f,m,n);

Close(f);

End;

Function Ucln(m,n:Longint):Longint;

Var r:longint;

Begin

r := m mod n;

While r <> 0 do

Begin

m:=n;

n:=r;

r:= m mod n;

end;

Ucln:=n;

End;

Procedure Ghi;

Var f:text;

Begin

Assign(f,fo);

ReWrite(f);

If ucln(m,n) = 1 then

Writeln(f,1)

Else

Writeln(f,0);

Close(f);

End;

BEGIN

Doc;

Trang 5

Trang 5

Ghi;

END

Bài 3 Xâu

Program Bai1;

Const fi='PALIN.INP';

fo='PALIN.OUT';

maxN=100;

Var A:array[0 maxN+1] of string;

N:longint;

f,g:text;

Procedure Input;

Var s:string;

Begin

assign(f,fi);

reset(f);

assign(g,fo);

rewrite(g);

n:=0;

while not eof(f) do

begin

readln(f,s);

inc(n);

A[n]:=s;

end;

close(f);

End;

Function Check_Palin(s:string;i,k:longint):boolean; Var temp:string;

j:longint;

Begin

check_palin:=false;

temp:=copy(s,i,k);

for j:=1 to length(temp) div 2 do

if temp[j]<>temp[length(temp)-j+1] then exit; check_palin:=true;

End;

Function Count_Palin(s:string):longint;

Var count,i,k:longint;

Begin

count:=0;

for i:=1 to length(s) do

for k:=1 to length(s)-i+1 do

if check_palin(s,i,k) then inc(count);

count_palin:=count;

Trang 6

Trang 6

End;

Procedure Process;

Var i:longint;

Begin

for i:=1 to n do

writeln(g,count_palin(A[i]));

close(g);

End;

BEGIN

Input;

Process;

END

Bài 4 Yên ngựa

var A:array[1 100,1 100] of integer;

maxj,mini:array[1 100] of integer;

M,N,dem :integer;

F:Text;

{**********************}

procedure Doc_file;

var i,j:integer;

f:Text;

Begin

Assign(f,'D:\B2IN.TXT');

Reset(f);

readln(f,M,N);

for i:=1 to M do

Begin

for j:=1 to N do read(f,A[i,j]);

Readln(f);

End;

End;

{***********************}

Procedure Xd_max_cot;

var i,j:integer;

Begin

for i:=1 to N do

maxj[i]:=A[1,i];

for i:=2 to M do

for j:=1 to N do

if A[i,j]>=maxj[j] then maxj[j]:=A[i,j]; End;

{************************}

Procedure Xd_min_dong;

Trang 7

Trang 7

var i,j:integer;

Begin

for i:=1 to M do

mini[i]:=A[i,1];

for i:=1 to M do

for j:=2 to N do

if A[i,j]<=mini[i] then mini[i]:=A[i,j];

End;

{*************************}

Procedure count;

var i,j:integer;

Begin

dem:=0;

for i:=1 to M do

for j:=1 to N do

if (A[i,j]=maxj[j]) and (A[i,j]=mini[i]) then inc(dem); End;

{**************************}

procedure Xu_ly;

Begin

Xd_max_cot;

Xd_min_dong;

count;

End;

{*************************}

BEGIN

Doc_file;

Assign(f,'D:\B2OUT.TXT'); rewrite(f);

Xu_ly;

Write(f,dem);

Close(f);

END

Ngày đăng: 24/01/2013, 16:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w