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

Bài giảng HsG tin 11 Thpt mjh khaj

5 265 3
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 đề Đáp án đề thi HSG lớp 11 năm học 2010-2011 Môn Tin Học 11
Trường học Trường THPT Minh Khai
Chuyên ngành Tin Học 11
Thể loại Đáp án đề thi
Năm xuất bản 2010-2011
Thành phố Hà Nội
Định dạng
Số trang 5
Dung lượng 44,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

Trang 1

Trờng thpt minh khai đề thi chọn hsg lớp 11 năm học 2010-2011

Môn thi: Tin Học 11 Thời gian: 150 Phút Ngày thi: 25/12/2010

-Sử dụng ngôn ngữ lập trình pascal, lập trình giải các bài toán sau đây:

Bài 1: Sắp xếp

Cho số tự nhiên n (n<=100) và dãy số nguyên a1,a2, ,an (bao gồm cả số nguyên âm cả

số nguyên dơng) Hãy đỗi chổ các phần tử của dãy sao cho các phần tử dơng nằm ở đầu dãy, các phần tử âm nằm ở cuối dãy In dãy sau khi đã sắp xếp

Bài 2: Tìm xâu con dài nhất

Nhập vào một xâu bất kỳ từ bàn phím Hãy cho biết độ dài lớn nhất của xâu con chứa liên tiếp kí tự ‘a’ In ra màn hình xâu con dài nhất vừa tìm đợc?

Ví dụ: Xâu nhập vào: aabcaaade  Độ dài max= 3

Xâu con cần tìm là: aaa

Bài 3: Các thao tác trên mảng 2 chiều

Tạo mảng 2 chiều A cấp nxn gồm cỏc số nguyờn và một số nguyờn x Viết chương trỡnh thực hiện cỏc cụng việc sau:

a/ Đếm số lần xuất hiện của x trong A và vị trớ của chỳng

b/ Tớnh tổng cỏc phần tử lớn nhất của mỗi dũng

c./ Sắp xếp lại mảng theo thứ tự tăng dần nh sau:

Trang 2

Trờng thpt minh khai

Đáp án đề thi HSG lớp 11 năm học 2010-2011

Môn tin học 11

Bài 1(6đ)

PROGRAM BAI1;

USES CRT;

VAR tg,i,j,n:integer;

a:array[1 20] of integer;

BEGIN

Clrscr;

write('Nhap n='); Readln(n);

For i:=1 to n do Read(a[i]);

Readln;

i:=1; j:=n;

Repeat

While a[i]>0 do inc(i);

While a[j]<=0 do dec(j);

If i<j then Begin

tg:=a[i];

a[i]:=a[j];

a[j]:=tg;

End;

Until j<=i;

j:=n;

Repeat

While a[i]>=0 do inc(i);

While a[j]<0 do dec(j);

If i<j then begin

tg:=a[i];

a[i]:=a[j];

a[j]:=tg;

End;

Until j<=i;

for i:=1 to n do Write(a[i]:4);

readln

END

Bài 2(6đ)

PROGRAM BAI2;

USES CRT;

var s:string;

i,max,t,k,d:byte;

begin clrscr;

Write('nhap xau'); Readln(s); k:=length(s);

max:=0; t:=0;

for i:=1 to k do begin

if s[i]='a' then begin t:=t+1;

if t>max then begin max:=t;

d:=i;

end;

end else t:=0;

end;

if t>max then max:=t;

for i:=d-max+1 to d do write(s[i]); readln

end

Trang 3

Bµi 3(10®)

- C©u a: 2®

- C©u b: 3®

- C©u c:3®

Program bai3;

Uses Crt;

Var A: array[1 10,1 10] of integer;

B :array[1 100]of integer;

tg, k, n,i,j,x,dem,S,max:Integer;

Begin

Write('Nhap n='); Readln(n);

For i:=1 To n do

begin

For j:=1 To n Do read (a[i,j]);

Readln;

end;

{C©u a: T×m kiÕm phÇn tö x trong mang A}

Write('Nhap x='); Readln(x);

dem:=0;

Writeln('Vi tri cua x trong mang A: ');

For i:=1 To n Do

For j:=1 To n Do

If a[i,j]=x Then

Begin

Writeln(i,j);

dem:=dem+1;

End;

Writeln('So lan xuat hien cua x trong mang A la: ',dem);

{C©u b: TÝnh tæng c¸c phÇn tö lín nhÊt cña mçi dßng}

S:=0;

For i:=1 To n Do

Begin

Max:=A[i,1];

For j:=2 To n Do

Trang 4

If max<A[i,j] Then max:=A[i,j];

S:=S+max;

End;

Writeln('Tong cac phan tu lon nhat cua moi dong la: ',S);

{C©u c: S¾p xÕp m¶ng}

{chuyÓn m¶ng 2 chiÒu A thµnh m¶ng 1 chiÒu B}

k:=0;

For i:=1 to n do

For j:=1 to n do

If k<n*n then

begin

k:=k+1;

b[k]:=a[i,j];

end;

{S¾p xÕp m¶ng 1 chiÒu B theo thø tù t¨ng dÇn}

For i:=1 to n*n-1 do

For j:=i+1 to n*n do

if b[i]>b[j] then

begin

tg:=b[i];

b[i]:=b[j];

b[j]:=tg;

end;

{ChuyÓn m¶ng 1 chiÒu A thµnh m¶ng 2 chiÒu B}

k:=0;

For j:=1 to n do

begin

If j mod 2 =1 then

Begin

for i:=1 to n do

Begin

k:=k+1;

a[i,j]:=b[k];

End;

End

Else

Begin

Trang 5

for i:=n downto 1 do

Begin

k:=k+1;

a[i,j]:=b[k];

End;

End;

End;

{in m¶ng 2 chiÒu sau khi s¾p xÕp}

Writeln('mang sau khi sap xeo la:');

For i:=1 to n do

Begin

For j:=1 to n do write(a[i,j]);

End;

Readln;

End

Ngày đăng: 27/11/2013, 22:11

TỪ KHÓA LIÊN QUAN

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

w