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

Download đề và đáp án thi học sinh giỏi môn tin học lớp 11 năm học 2005 2006 tỉnh quảng bình (vòng 1)

6 272 2

Đ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 6
Dung lượng 122,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

Dòng đợc đánh số từ 1 đến M từ trên xuống dới.. Cột đợc đánh số từ 1 đến N từ trái qua phải.. Mỗi phần tử của ma trận có giá trị nguyên.. Hãy tính tổng giá trị các phần tử có chỉ số dòng

Trang 1

Sở giáo dục và đào tạo Kỳ thi chọn hSG lớp 11 quảng bình Năm học 2005-2006

Thời gian: 180 phút, không kề thời gian giao đề

Đề ra

Sử dụng ngôn ngữ lập trình Turbo Pascal để lập trình giải các bài toán sau:

Câu 1: (2.5 điểm) Tổng giá trị các phần tử trong một ma trận - SUM.PAS

Cho một ma trận A gồm M dòng N cột Dòng đợc đánh số từ 1 đến M từ trên xuống dới Cột đợc đánh số từ 1 đến N từ trái qua phải Mỗi phần tử của ma trận có giá trị nguyên Hãy tính tổng giá trị các phần tử có chỉ số dòng chẵn và chỉ số cột lẽ.

Dữ liệu vào: Cho trong file SUM.INP có cấu trúc nh sau:

-Dòng 1: Ghi hai giá trị M N, là số dòng và số cột của ma trận, các số ghi cách nhau một dấu cách (2<=M, N<=100)

-M dòng tiếp theo: mỗi dòng ghi N số nguyên x, là các giá trị của các phần tử

trên một dòng của ma trận, các số ghi cách nhau một dấu cách.

(-1000 <=x<=1000)

Dữ liệu ra: Ghi ra file SUM.OUT theo cấu trúc nh sau:

-Dòng 1: Ghi một số S, là tổng tìm đợc.

Ví dụ:

2 4 1 5 7

2 2 8 3 5

1 7 4 8 0

9 6 4 7 3

Câu 2: (3.5 điểm) Số nguyên tố – NT.PAS NT.PAS

Tìm tất cả các số tự nhiên X có ba chữ số sao cho khi đảo ngợc trật tự các chữ số của X ta sẽ thu đợc một số nguyên Y mà X và Y là hai số nguyên tố cùng nhau.

Dữ liệu ra: Ghi ra file NT.OUT theo cấu trúc nh sau:

-Dòng 1: Ghi số nguyên dơng N, là số lợng số X tìm đợc.

-Dòng 2: Ghi N số tìm đợc Các số ghi cách nhau một dấu cách.

Câu 3: (4.0 điểm) Sắp xếp xâu – NT.PAS STR.PAS

Cho một xâu mẫu S gồm N ký tự đợc lấy từ tập các ký tự ‘A’ ‘Z’ Với một cặp số nguyên (i,j) (1<=i,j<=N), ta tạo ra một xâu thứ cấp S’ bằng cách đổi chỗ phần tử thứ i với phần tử thứ j của xâu mẫu S Với M cặp số (i,j) ta sẽ thu

đ-ợc M xâu thứ cấp.

Yêu cầu: Sắp xếp các xâu thứ cấp tăng dần theo thứ tự từ điển.

Dữ liệu vào: Cho trong file STR.INP có cấu trúc nh sau:

-Dòng 1: Ghi giá trị N, là số ký tự của xâu S (1<=N<=500)

-Dòng 2: Ghi xâu mẫu S.

Trang 2

-Dòng 3: Ghi giá trị M, là số lợng các cặp số (i, j) (1<=M<=500)

-M dòng tiếp theo: mỗi dòng ghi một cặp số i j lần lợt là chỉ số của phần tử thứ

i và chỉ số của phần tử thứ j cần đổi chỗ của xâu S Hai số ghi cách nhau một dấu cách.

Dữ liệu ra: Ghi ra file STR.OUT theo cấu trúc nh sau:

-M dòng: Mỗi dòng ghi một xâu thứ cấp, các dòng đợc sắp tăng dần theo thứ tự

từ điển.

Ví dụ:

2 4

1 5

3 3

Hớng dẫn chấm thi học sinh giỏi toàn tỉnh

lớp 11 năm học 2005-2006

I/ Ph ơng pháp chung

- Giám khảo tạo các bộ dữ liệu vào, tính toán kết quả Thực hiện chơng trình của học sinh và so sánh kết quả.

- Giám khảo có thể sử dụng chơng trình mẫu để tính kết quả của dữ liệu vào: SUM.PAS NT.PAS STR.PAS

- Chơng trình học sinh chạy đúng mỗi bộ test, giám khảo cho 0.5 điểm Nh vậy, nếu câu hỏi có 3 điểm thì giám khảo phải tạo đợc 6 bộ test.

- Nếu chơng trình chạy sai test nào thì giám khảo cho 0 điểm đối với test đó

- Giám khảo có thể sử dụng các test gợi ý dới đây nếu cần thiết.

II/ Ch ơng trình mẫu

SUM.PAS

{$r+}

const fi='Sum.in2';

fo='sum.ou2';

nn=100;mm=100;

type mhci=array[1 mm,1 nn] of integer;

var a:mhci;

m,n:byte;

s:longint;

Trang 3

procedure doc;

var f:text; i,j:byte;

begin

assign(f,fi);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;

close(f);

end;

procedure xl;

var i,j:byte;

begin

s:=0;

for i:=1 to m do

begin

for j:=1 to n do

if (i mod 2=0) and (j mod 2=1) then s:=s+a[i,j]; end;

end;

procedure xuat;

var i,j:byte; f:text;

begin

assign(f,fo); rewrite(f);

writeln(f,s);

close(f);

end;

begin

doc;

xl;

xuat;

readln;

end.

NT.PAS

const fo='NT.OUT';

nn=901;

type mmcw=array[0 901] of word;

var n:word; s:mmcw;

function uscln(a,b:word):word;

var r:word;

begin

while b>0 do

begin r:=a mod b; a:=b; b:=r; end; uscln:=a;

end;

function dao(x:word):word;

var y:word;

begin

y:=0;

while x>0 do

begin y:=10*y+(x mod 10); x:=x div 10; end; dao:=y;

end;

function tim:word;

Trang 4

var x,d:word;

begin

d:=0;

for x:=100 to 999 do

if uscln(x,dao(x))=1 then

begin d:=d+1; s[d]:=x; end; tim:=d;

end;

procedure xuat;

var f:text; i:word;

begin

n:=tim;

assign(f,fo);rewrite(f);

writeln(f,n);

for i:=1 to n do write(f,s[i],' ');

close(f);

end;

begin xuat; end.

STR.PAS

{$r+}

program sap_xau;

const fi='str.in5'; fo='str.ou5';

type mmcc=array[1 500] of char;

mmci=array[1 500] of integer;

var d,s,b,c,tg1:mmcc;

l,r:mmci;

n,m:integer;

f:text;

procedure nhap;

var i,j:integer;

begin

assign(f,fi); reset(f);

readln(f,n);

for i:=1 to n do read(f,s[i]);

readln(f);

readln(f,m);

for i:=1 to m do readln(f,l[i],r[i]);

close(f);

end;

procedure doicho(var x,y:char);

var tg:char;

begin

tg:=x; x:=y; y:=tg;

end;

procedure xl;

var i,j,k,tg:integer;

begin

for i:=1 to m-1 do

begin

b:=s;

doicho(b[l[i]],b[r[i]]);

for j:=i+1 to m do

begin

c:=s;

doicho(c[l[j]],c[r[j]]);

for k:=1 to n do

Trang 5

begin

if b[k]>c[k] then

begin

tg:=l[i];l[i]:=l[j];l[j]:=tg; tg:=r[i];r[i]:=r[j];r[j]:=tg; tg1:=b;b:=c;c:=tg1;

break;

end;

if b[k]<c[k] then break;

end;

end;

end;

assign(f,fo); rewrite(f);

for i:=1 to m do

begin

d:=s;

doicho(d[l[i]],d[r[i]]);

for j:=1 to n do write(f,d[j]);

writeln(f);

end;

close(f);

end;

begin

nhap; xl;

end.

III/ Mét sè test gîi ý.

5 5

2 4 1 5 7

2 2 8 3 5

1 7 4 8 0

9 6 4 7 3

8 5 3 2 7

31

6 5

2 4 1 5 7

2 2 8 3 5

1 7 4 8 0

9 6 4 7 3

8 5 3 2 7

3 -1 -2 -3 -4

28

9

ABCDEFGKK

5

5 7

7 6

4 5

8 6

7 5

ABCDEGFKK ABCDEKGFK ABCDGFEKK ABCDGFEKK ABCEDFGKK

14

ABCDEFGKKKHJHB

5

4 7

3 9

8 10

7 2

3 7

ABCDEFGKKKHJHB ABCGEFDKKKHJHB ABGDEFCKKKHJHB ABKDEFGKCKHJHB AGCDEFBKKKHJHB

Trang 6

ABCDEFGKJNKKKHJHB

6

1 1

14 1

9 2

1 7

11 4

7 11

ABCDEFGKJNKKKHJHB ABCDEFKKJNGKKHJHB ABCKEFGKJNDKKHJHB AJCDEFGKBNKKKHJHB GBCDEFAKJNKKKHJHB HBCDEFGKJNKKKAJHB

20

ABCDEFGKJNKKKHJKLJHB

6

9 3

11 18

11 5

6 9

8 4

1 16

ABCDEFGKJNJKKHJKLKHB ABCDEJGKFNKKKHJKLJHB ABCDKFGKJNEKKHJKLJHB ABCKEFGDJNKKKHJKLJHB ABJDEFGKCNKKKHJKLJHB KBCDEFGKJNKKKHJALJHB

Tµi liÖu tham kh¶o:

Ng«n ng÷ lËp tr×nh Pascal-Qu¸ch TuÊn Ngäc

Bµi tËp lËp tr×nh Pascal-KiÒu V¨n Hng

Ngày đăng: 13/10/2015, 16:15

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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

w