HsG tin 11 Thpt mjh khaj
Chia sẻ bởi Khánh Phương Fan Pro |
Ngày 16/10/2018 |
64
Chia sẻ tài liệu: HsG tin 11 Thpt mjh khaj thuộc Excel
Nội dung tài liệu:
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:
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 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 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.
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,
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:
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
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
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.
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,
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Khánh Phương Fan Pro
Dung lượng: 44,50KB|
Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)